MorphoX
A visual computer vision sandbox where image-processing pipelines are built by wiring effect nodes together, each one a real algorithm you can tune and watch respond.
Private repository
60+
Effects
Computer vision algorithms, each one a node with its own WGSL shader.
100+ FPS
Real time
Live pipeline preview on an Apple M3 with 8 GB of RAM.
10
Domains
From filtering and segmentation to morphology, frequency transforms and feature extraction.
WebGPU
End to end
Frames stay on the GPU from input to export.
Overview
Computer vision without writing code
Creative software like Photoshop has spent decades making image editing feel immediate, but it is built for creative work rather than computer vision. The tools that do cover computer vision are almost all code-first, which makes experimenting slow and keeps the effect of an algorithm one compile step away from the person trying to understand it. MorphoX sits between the two: the interaction model of creative software, the algorithms and theoretical depth of computer vision.
Pipelines are assembled by connecting effect nodes, each holding a computer vision algorithm with editable parameters and live feedback. Graphs, histograms, metrics, false-colour views and debugging panels sit alongside the canvas, so a simple filter and a multi-stage processing chain are built the same way: each step stays visible while you build it.
The point is the gap between understanding an algorithm and actually applying it. Seeing a transformation happen as a parameter moves builds intuition far better than reading its definition.
Approach
Sixty effects, one GPU pipeline recomputing only what changed
MorphoX is an Angular application running inside Electron, accelerated end to end through WebGPU on top of a custom framework written for image-processing workloads. Over sixty effects live as self-contained classes carrying both their parameters and their WGSL shaders, published through a declarative registry.
The execution engine is a caching dataflow graph: changing a parameter recomputes that node and its descendants and nothing else, which is what keeps the interface responsive as graphs grow. Everything stays on the GPU until an export is requested, so no frame is round-tripped through host memory on its way to the screen. Rendering, node editing, effect management and controls are separate services, which is how a dozen independent tools can read the same image data without becoming entangled.
Selected frames