fullseye

emva_noise_whiteness — OPTICS sensorchar op

使い方

時間雑音は画素間で独立か(Linear 1.2 節の前提 3)、続けて撮った画像の間で独立か(Linear・General の前提 3)。

★規格は前提を書く(「前処理がこの条件を壊すなら Release 4 Linear は使えない。典型は debayer・雑音除去・輪郭強調」)が、 確かめ方の数は定義していない。ここの数はこの族の検査で、規格の数ではない。 同じ露光の 2 枚の差 d = y0 − y1(固定パターンが消え、時間雑音だけが残る)の隣の画素との相関 ρ_h = ⟨d[m][n] d[m][n+1]⟩/⟨d²⟩、ρ_v(縦)、斜め ρ_d(2 方向の平均)。白い雑音では 0 で、標準偏差は約 1/√n なので z = ρ √n を返す。2 × 2 にまとめた和の分散比 VR = var(和)/(4 var(d)) = 1 + ρ_h + ρ_v + ρ_d は、 平滑化(雑音除去)で 1 を越え、輪郭強調で 1 を割る。 y2(3 枚目、y1 の次の画像)を渡すと、var(y0 − y2)/var(y0 − y1) − 1 = 1 枚おきの画像の相関 ρ_t を返す (1 次の再帰の時間フィルタ y_t = α x_t + (1 − α) y_{t−1} なら ρ_t = 1 − α。独立なら 0、z は √n/√3 で割る近似)。

返り値 {"rho_h", "rho_v", "rho_d", "z_h", "z_v", "z_d", "variance_ratio_2x2", "rho_t", "z_t", "white", "z_limit", "n"} (white は |z| がすべて z_limit 未満)。

Raises ValueError: 2-D でない / 形が違う / 4 × 4 未満 / 差がすべて 0(雑音が無い)/ z_limit が正でない。

ファミリ共通の入力契約(fail-closed)

optics の全 op は入力を検証してから計算する(黙って通さない):

詳しい使い方ガイド

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

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

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

abcd_matrix · wavefront_stats · sfr_from_edge · paraxial_trace · seidel_coefficients · spot_stats · tolerance_analysis · wavefront_from_opd

同カテゴリ(sensorchar)

emva_pair_statistics · emva_photon_transfer · emva_quantum_efficiency · emva_linearity_error · emva_snr_curve · emva_sensitivity_threshold · emva_dynamic_range · emva_dark_current


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

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