isp oprgb × matrix → rgbimport fullseye as fs; fs.ledger.color_correction_matrix(rgb, ccm, normalize_rows=True) (実装を直接呼ぶなら import gfx2d; gfx2d.color_correction_matrix(rgb, ccm, normalize_rows=True)、台帳から引くなら opsgfx2d.get("color_correction_matrix"))Apply a 3x3 colour-correction matrix: out = rgb @ ccm.T per pixel,
clipped to [0, 1].
The CCM maps the sensor’s spectral response onto the display primaries. With
normalize_rows (default) every row is divided by its sum so that white
stays white ([1, 1, 1] -> [1, 1, 1]) — the constraint most calibration
procedures impose; pass False to apply the matrix as given.
Ground truth: the identity matrix is the exact identity; a normalised matrix
maps every grey [v, v, v] to itself to 1e-15.
Raises ValueError: ccm is not a finite 3x3, or a row sums to 0
when normalising.
py -3.11 examples/raw_to_display_isp.pyrgb を入力に取れる)srgb_to_linear · linear_to_srgb · blend_mode · light_mask · normal_map_decode · bloom · vignette · chromatic_aberration
isp)raw_black_level · raw_dead_pixel_mask · raw_dead_pixel_correct · lens_shading_gain · lens_shading_correct · awb_gains · rgb_apply_gains · raw_apply_gains
Provenance: gfx2d.py — GFX2D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.