fullseye

raw_black_level — GFX2D isp op

使い方

Black-level compensation on a Bayer frame: (raw - offset) / (white - offset) per colour channel, clipped to [0, 1].

A sensor’s dark output is not zero (pedestal + dark current); every later stage that multiplies (gains, CCM) would scale that pedestal into a colour cast, so this runs first. offsets is a scalar, 3 values (R, G, B) or 4 values (R, G1, G2, B) in the same [0, 1] units as raw; white is the saturation level, so a pixel at white maps to exactly 1.

Ground truth: a frame built as offset + k * signal comes back as k * signal / (white - offset) to 1e-15; a pixel at the offset maps to 0. Raises ValueError: non-finite input, an offset >= white, or an unknown pattern.

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(image2d を入力に取れる)

shadow_cast_2d · dither · raw_dead_pixel_mask · raw_dead_pixel_correct · lens_shading_gain · lens_shading_correct · raw_apply_gains · raw_demosaic_bilinear

同カテゴリ(isp)

raw_dead_pixel_mask · raw_dead_pixel_correct · lens_shading_gain · lens_shading_correct · awb_gains · rgb_apply_gains · raw_apply_gains · raw_demosaic_bilinear


Provenance: gfx2d.py — GFX2D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.