10xEngineers

ISP Analysis Platform · Part of the 10xEngineers Imaging Suite

Cut your tuning loop from hours to minutes

LumaIQ replaces fragmented scripts, disconnected tools, and manual YAML edits with one integrated IQ analysis workbench — built specifically for ISP algorithm engineers.

3

Integrated apps

LumaIQ · RawIQ · BatchIQ

24

ColorChecker patches

CIE76 · CIE94 · CIEDE2000 ΔE

13+

RAW formats supported

.nef .arw .cr3 .dng + sensor dumps

At a glance

Fast read for engineers evaluating a switch

Built on PyQt6, NumPy, SciPy, and OpenCV. Runs natively on Windows and Linux. No cloud dependency, no subscription lock-in.
PyQt6
Windows
Linux
rawpy
NumPy
SciPy
OpenCV

Pipeline

YAML-native

Full collapsible per-stage editor

HDR support

Native

Dual-exposure · LTM · Tone map

Batch runs

GUI + CLI

CSV-driven overnight regression

Reports

Auto-generated

Self-contained HTML, base64 charts

Presets

Tuning Vault

Named preset CRUD across sessions

UI thread

Never blocked

All runs in background QThreads

The problem it solves

Every iteration costs minutes.

That adds up to days.

ISP tuning today is a fragmented loop. Each tool switch is a source of error and delay. LumaIQ collapses the entire cycle into one environment.

1

Capture RAW frame on hardware

Trigger sensor, extract dump manually

2

Edit YAML config by hand

800-line config, one parameter at a time

3

Run Python ISP script

Scripts “kind of work” — only one person understands them

4

Export PNG → open Imatest

Switch tools, lose context, wait for load

5

Copy numbers into Excel

Shared sheet that’s broken twice this quarter

6

Repeat from step 2

Three weeks of this per tuning cycle
 

1

Load RAW file

Drop your .nef, .arw, .raw, .dng — LumaIQ handles it

2

Load your YAML config

Collapsible per-stage editor, in-app — no text editor needed

3

Run ISP pipeline

Background thread — UI stays responsive throughout

4

Analyze output instantly

MTF, SNR, ΔE, dynamic range — all computed in the same tool

5

Generate & share report

One-click HTML export — base64-embedded, zero dependencies

6

Adjust and repeat — instantly

Change parameter → see result. No tool switches, no waiting
 

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

Loads any YAML-based ISP config with a full collapsible per-stage parameter editor. Run the pipeline directly from the UI in a background thread — output captured for downstream analysis.
YAML-native
Live edit
Background run

🌗

HDR / Linear Mode Toggle

HDR-only stages — exposure selection, alpha blending, slope correction, dual-channel NR, tone mapping — auto-show and hide. The tool knows your mode and surfaces what’s relevant.
Dual-exposure
Auto-stage reveal

🎯

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.

CIEDE2000 ΔE
24 patches
Severity grade

📦

Tuning Vault

Named preset CRUD for every calculator — save, load, browse, and share parameter sets across sessions. Stored at ~/.lumiq/vault/. Your tuning knowledge survives the next onboarding.
Cross-session
Shareable

📝

HTML Report Generator

Self-contained dark-themed HTML export with base64-embedded charts. Single file, zero external dependencies — share with stakeholders without worrying about broken asset paths or tool installations.
One file
Dark theme
base64 charts

🔍

Planckian AWB

Full Hernandez-Andres Planckian locus, sensor curve calibration, block chromaticity voting, and CCT estimation from multi-illuminant captures — not a slider, an actual algorithm.
Planckian locus
CCT estimation

Analysis modules

Every IQ metric that matters.

Nothing you don't need.

LumaIQ covers the complete measurement chain — from raw pixel statistics through color science to perceptual quality scores.
ModuleKey MetricsCategory
Sharpness / MTFISO 12233 slanted-edge SFR · Laplacian variance · Sobel edge strength · per-channel MTF curvesSpatial
Noise & SNRPer-channel σ (R/G/B) · CIELAB luma/chroma noise (σL* σa* σb* σC*) · SNR vs luminance curve · 1D noise power spectrum · spatial noise heatmap · zone breakdownNoise
Dynamic RangeEV estimate from flat-block SNR analysis · Ansel Adams 5-zone system (Deep Shadow → Specular) · zone overlay maps · histogramExposure
HDR Tone MappingReinhard global TMO · Durand bilateral LTM · side-by-side before/after preview · live tone curve overlay · hardware LUT compare with PSNR and diff heatmapHDR
Color AccuracyCIE76 · CIE94 · CIEDE2000 ΔE per patch · per-patch severity grading (OK / Warn / Fail)Color
White BalancePer-channel WB calculation · metrics · hue/sat fix · Planckian locus · CCT estimationColor
Exposure & SensitivitySection-wise histograms on sensor frames · HDR pair detection · LDR best-exposure selectorExposure
Lens CalibrationOpenCV chessboard pipeline · corner detection · camera calibration · undistortion map generation · persistent calibration JSONOptics
Contrast & GammaEntropy · local contrast · halo score · gamma estimation · live stats bar · LDCI analyze and calculateTonal

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

Reads the same YAML config your HDR ISP uses. No translation, no adapter — the parameter you edit is the parameter that runs.

📐

Quantified, not subjective

CIEDE2000 ΔE, MTF curves, and SNR-vs-luminance tell you whether a tuning decision is genuinely better — not just visually different.

⚙️

HDR-aware from the start

Dual-exposure pair matching, exposure selection, slope correction, and alpha blending — all HDR stages visible and editable in one place.

HOW IT WORKS

Separable H/V polyphase filtering

Two stages — horizontal then vertical — each implemented as a multi-tap, multi-phase FIR. Coefficients are selected per phase (fractional position), enabling high-quality interpolation for arbitrary ratios.
Configurable taps (4–12) to balance quality vs resources.
Phase banks represent sub-pixel positions for consistent detail.
Downscales remain stable without extra AA blocks.
Streaming architecture for real-time paths.

Pipeline view

Conceptual block flow

AXI4-Stream Input

RGB / YCbCr, 8/10/12-bit (cfg dependent)

Horizontal & Vertical Polyphase FIR

multi-tap filtering + Line buffering + phase-aligned interpolation

AXI4-Stream Output

Low-latency scaled stream

Bypass mode

1:1 pass-through when scaling is not needed.

Coefficient banks

Static or dynamic loading via AXI4-Lite.
Note: exact buffering depends on format, taps, and throughput configuration.

FORMAT & INTEGRATION

Video-friendly I/O and control

Designed for streaming pipelines while exposing the knobs you actually need: scaling parameters and coefficient banks.
Config dependent
  • RGB 4:4:4
  • YCbCr 4:2:0
  • YCbCr / YC 4:2:2
  • 8 / 10 / 12 bpc
  • AXI4-Stream for input/output video streaming
  • AXI4-Lite for programming and runtime control

Support for dynamically or statically loaded coefficient banks — select responses for different product modes.

Configuration knobs

Typical product controls
Scaling factors

Arbitrary H / V ratios

Independent per axis
Filter complexity

4–12 taps

Quality ↔ resources
Phase resolution

64 phases

Sub-pixel alignment
Memory strategy

BRAM / URAM options

Pixel-rate dependent
For higher pixel rates, the scaler can be optimized to utilize URAMs instead of BRAMs (configuration dependent).

Technology-independent soft IP Core for FPGA, ASIC and SoC devices (license: EULA).

APPLICATIONS

Where polyphase scaling pays off

If your product needs stable detail, controlled aliasing, and predictable latency, polyphase filtering becomes a quiet enabler — especially in premium video and imaging.
Real-time 4K scaling with low latency and high fidelity across formats — built for professional pipelines.
Clean resizes across mixed sources (camera + content) with consistent sharpness and fewer artifacts.
Ultra-smooth 4K scaling, precise alignment, and dependable visuals for multi-display systems.
Low latency and crisp imagery — critical when scaling content into display-native panels.
High-fidelity 4K scaling that preserves fine diagnostic detail, supports low-latency visualization, and enables high-quality interpolation in medical display pipelines.

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

Replace with your measured data
FPGAScaler ConfigurationResource Utilization
Max WidthMax HeightInput FormatOutput FormatPixel Bit WidthTapsPixels per clockLUTFFBRAMsURAMsDSP
1zu5ev384021604204208613528244213044
2zu5ev3840216042042081217552411622080
3zu5ev384021604204201012110052552436080
5zu5ev3840216042042012615290338421.5044
6zu5ev384021604204201212111348688636.5080
7zu5ev40962160444444864141419425018198
8zu5ev4096216044444410641518210452018198
9zu5ev4096216044444412642220613902018198
Final numbers depend on format, taps, pixel rate, memory strategy, and surrounding pipeline.

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.

Contact

By requesting info, you agree to be contacted about this IP.