← Back
Home › Systems › Communication and media

raster-image-editor

layered raster/photo editing: tiled copy-on-write layers, blend-mode compositing, brush engine, ICC colour management, RAW demosaicing, content-aware fill and ML segmentation

Photoshop, Lightroom, Affinity Photo, GIMP

SystemTechniques · 9Primitives · 38 raster-image-editor Brush stroke stamping enginegraphics · medium: Dab stamping along a smoothed stroke path with spacing, pressure and tilt dynamics, texture and wet-mix accumulationLayer compositinggraphics · medium: Composite retained layers or surfaces on the GPU; overlay planes, opacity and transformsTiled image pipelinegraphics · medium: Demand-driven tiled image processing with bounded memory (libvips-style)Image segmentationmachine-learning · medium: Pixel/instance segmentation networks and promptable segmentation (Mask R-CNN, SAM-style)Auto exposure focus white balancemedia · medium: Camera 3A loops: metering-driven exposure, contrast/phase autofocus, gray-world/illuminant white balanceImage denoisingmedia · medium: Bilateral, non-local means and temporal noise reduction for sensor imagesFft convolutionsignal-processing · medium: Overlap-add and uniformly partitioned convolution for long FIR filters and reverbAlpha compositinggraphics · low: Porter-Duff compositing with premultiplied alpha and blend modesConvolution image filtersgraphics · low: Separable 2D convolution kernels for blur, sharpen (unsharp mask) and edges with border handlingImage codecsmedia · low: JPEG (DCT, Huffman), PNG, HEIF/AVIF decoding and encoding fundamentalsLRU and CLOCKsystems · low: LRU evicts the least recently used entry via hash map plus linked list; CLOCK approximates it with a reference bit, so hits take no lock.›Color space conversiongraphics · low: Convert pixels between transfer curves (sRGB, linear light), primaries (sRGB, Display P3, XYZ) and Y'CbCr, using tables for the curve and 3x3 matrices for the rest.›Map tile pyramidgeometry · low: Z/x/y tile pyramids, quadkeys and overviews for multi-resolution maps and imageryBézier curvesgraphics · low: Smooth curves defined by 3-4 control points, evaluated and split with repeated linear interpolation (de Casteljau) and flattened to lines with a closed-form segment count.›Image resampling filtersgraphics · low: Resize an image by convolving with a kernel (box, triangle, cubic, Lanczos) whose width scales with the shrink factor, done as two separable 1-D passes with precomputed weights.›Lens distortion correctiongraphics · low: Pre-warp rendered frames for headset optics: barrel distortion mesh and chromatic aberrationPatchmatch content aware fillgraphics · low: Randomised patch correspondence search to fill regions from nearby textureTone mapping (HDR to display range)graphics · low: Compress scene-referred linear light to a display's range in three steps: expose, apply a curve to luminance, then encode (sRGB, PQ or HLG) and dither.›Undo redographics · low: Command or snapshot history with grouping and coalescingDemosaicingmedia · low: Reconstruct full RGB from Bayer sensor data (bilinear, edge-aware, gradient-corrected)GPU compute shadersml-training · low: The vendor-neutral GPU launch model of Metal, Vulkan and WebGPU: a grid of workgroups, shared memory, barriers and subgroups, driven by recorded command buffers.›Damage trackinggraphics · low: Track dirty rectangles so each frame repaints and recomposites only what changedDisplay list recordinggraphics · low: Record draw commands into a replayable list for caching, culling and off-thread raster+ 2 more techniques+ 22 more primitives

Similar systems

Share the most building blocks with this one.