- ISP-Native · HDR-Aware · Pipeline-Integrated
Cut your tuning loop from hours to minutes
3
Integrated apps
24
ColorChecker patches
13+
RAW formats supported
At a glance
Fast read for engineers evaluating a switch
Pipeline
YAML-native
HDR support
Native
Batch runs
GUI + CLI
Reports
Auto-generated
Presets
Tuning Vault
UI thread
Never blocked
The problem it solves
Every iteration costs minutes.
That adds up to days.
-
Current workflow — fragmented
1
Capture RAW frame on hardware
2
Edit YAML config by hand
3
Run Python ISP script
4
Export PNG → open Imatest
5
Copy numbers into Excel
6
Repeat from step 2
-
Current workflow — fragmented
1
Load RAW file
2
Load your YAML config
3
Run ISP pipeline
4
Analyze output instantly
5
Generate & share report
6
Adjust and repeat — instantly
Features
Built for real pipelines, not photography labs
Every feature exists because an ISP engineer needed it during tuning — not because a product manager needed a checkbox.
⚡
ISP Pipeline Integration
🌗
HDR / Linear Mode Toggle
🎯
Color Accuracy — ColorChecker
Automatic ColorChecker prompt on image load. Quad-corner boundary selector extracts all 24 patches and computes CIE76, CIE94, and CIEDE2000 ΔE per patch with OK / Warn / Fail grading.
📦
Tuning Vault
📝
HTML Report Generator
🔍
Planckian AWB
Analysis modules
Every IQ metric that matters.
Nothing you don't need.
| Module | Key Metrics | Category |
|---|---|---|
| Sharpness / MTF | ISO 12233 slanted-edge SFR · Laplacian variance · Sobel edge strength · per-channel MTF curves | Spatial |
| Noise & SNR | Per-channel σ (R/G/B) · CIELAB luma/chroma noise (σL* σa* σb* σC*) · SNR vs luminance curve · 1D noise power spectrum · spatial noise heatmap · zone breakdown | Noise |
| Dynamic Range | EV estimate from flat-block SNR analysis · Ansel Adams 5-zone system (Deep Shadow → Specular) · zone overlay maps · histogram | Exposure |
| HDR Tone Mapping | Reinhard global TMO · Durand bilateral LTM · side-by-side before/after preview · live tone curve overlay · hardware LUT compare with PSNR and diff heatmap | HDR |
| Color Accuracy | CIE76 · CIE94 · CIEDE2000 ΔE per patch · per-patch severity grading (OK / Warn / Fail) | Color |
| White Balance | Per-channel WB calculation · metrics · hue/sat fix · Planckian locus · CCT estimation | Color |
| Exposure & Sensitivity | Section-wise histograms on sensor frames · HDR pair detection · LDR best-exposure selector | Exposure |
| Lens Calibration | OpenCV chessboard pipeline · corner detection · camera calibration · undistortion map generation · persistent calibration JSON | Optics |
| Contrast & Gamma | Entropy · local contrast · halo score · gamma estimation · live stats bar · LDCI analyze and calculate | Tonal |
HDR integration
Close the loop with LumaIQ
Once your HDR ISP pipeline is tuned, the next question is always: how good is the output, really? LumaIQ plugs directly into your existing HDR ISP backend — reading your YAML configs, running your pipeline stages, and measuring results across every critical IQ dimension.
🔗
Zero configuration gap
📐
Quantified, not subjective
⚙️
HDR-aware from the start
HOW IT WORKS
Separable H/V polyphase filtering
-
Multi-tap FIR
-
64 phases
-
Anti-aliasing built-in
-
Low latency pipeline
Pipeline view
AXI4-Stream Input
Horizontal & Vertical Polyphase FIR
multi-tap filtering + Line buffering + phase-aligned interpolation
AXI4-Stream Output
Bypass mode
Coefficient banks
FORMAT & INTEGRATION
Video-friendly I/O and control
- Video format support
- RGB 4:4:4
- YCbCr 4:2:0
- YCbCr / YC 4:2:2
- 8 / 10 / 12 bpc
- Interfaces
- AXI4-Stream for input/output video streaming
- AXI4-Lite for programming and runtime control
- Programmable coefficients
Support for dynamically or statically loaded coefficient banks — select responses for different product modes.
Configuration knobs
Arbitrary H / V ratios
4–12 taps
64 phases
BRAM / URAM options
Technology-independent soft IP Core for FPGA, ASIC and SoC devices (license: EULA).
APPLICATIONS
Where polyphase scaling pays off
-
Broadcast imaging
-
Video conferencing
-
Media walls
-
VR headsets
-
Medical imaging
RESOURCE UTILIZATION
Measured with OOC flow (Vivado)
Utilization results are captured using Vivado out-of-context (OOC) flow. Surrounding design impacts placement and routing, so treat these as guidance. At higher pixel rates, memory can be optimized toward URAM instead of BRAM (configuration dependent).
Example configuration matrix
| FPGA | Scaler Configuration | Resource Utilization | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Max Width | Max Height | Input Format | Output Format | Pixel Bit Width | Taps | Pixels per clock | LUT | FF | BRAMs | URAMs | DSP | ||
| 1 | zu5ev | 3840 | 2160 | 420 | 420 | 8 | 6 | 1 | 3528 | 2442 | 13 | 0 | 44 |
| 2 | zu5ev | 3840 | 2160 | 420 | 420 | 8 | 12 | 1 | 7552 | 4116 | 22 | 0 | 80 |
| 3 | zu5ev | 3840 | 2160 | 420 | 420 | 10 | 12 | 1 | 10052 | 5524 | 36 | 0 | 80 |
| 5 | zu5ev | 3840 | 2160 | 420 | 420 | 12 | 6 | 1 | 5290 | 3384 | 21.5 | 0 | 44 |
| 6 | zu5ev | 3840 | 2160 | 420 | 420 | 12 | 12 | 1 | 11348 | 6886 | 36.5 | 0 | 80 |
| 7 | zu5ev | 4096 | 2160 | 444 | 444 | 8 | 6 | 4 | 14141 | 9425 | 0 | 18 | 198 |
| 8 | zu5ev | 4096 | 2160 | 444 | 444 | 10 | 6 | 4 | 15182 | 10452 | 0 | 18 | 198 |
| 9 | zu5ev | 4096 | 2160 | 444 | 444 | 12 | 6 | 4 | 22206 | 13902 | 0 | 18 | 198 |
NEXT STEP
Want to see it in your pipeline?
Share your formats, resolutions, and target device. We’ll map a configuration (taps/phases/memory strategy) and provide integration package details.
-
Integration-ready interfaces
AXI4-Stream + AXI4-Lite -
Low-latency streaming
Built for real-time systems
-
Quality knobs that matter
Taps, phases, coefficients -
Portability
Structured RTL for porting