← Kaden Suderman Image Signal Processor Source ↗

Project 01

Image Signal Processor

A camera sensor records one red, green, or blue value at each pixel. This project reconstructs the missing color information and turns the raw Bayer frame into a finished image, one inspectable stage at a time.

Completed
2023
Original
Python notebook
Input
4096 × 2160 RGGB
Demo
Vanilla JavaScript

Live demo

Follow the image through the pipeline.

The page downloads the original 8.4 MB raw frame and processes it locally. A Web Worker is a separate browser thread, so the image math can run without freezing the controls or the rest of the page.

Preparing demo Waiting to load the raw image.
0%
Loading the raw sensor data...
Raw Bayer data

The sensor records one color value at each pixel location.

Original notebook
NumPy fromfile + reshape
Browser port
Fetch + Uint8Array

Project notes

Implementation

Original build

Completed in 2023 as a Jupyter notebook using Python, NumPy, OpenCV, scikit-image, SciPy, and Matplotlib, before generative AI coding tools were part of my workflow.

Open the notebook ↗

Browser port

The static page fetches the 8.4 MB raw frame, performs Bayer-aware downsampling, and runs each stage on typed arrays in a Web Worker so the interface stays responsive.

What it demonstrates

The project covers raw image representation, color reconstruction, filter tradeoffs, and translating a notebook experiment into a performant interactive tool.