fullseye

emva_general_nonuniformity — OPTICS sensorgeneral op

使い方

DSNU と PRNU を入力(光子)の単位で(General 8 節、式 55・56・58・59)。

General は不均一を特性曲線の傾きで入力へ戻す(式 55: 不均一は信号の幅より小さいので曲線を局所的に直線とみなす)。 分散は傾きの二乗で割る(式 56)。暗画像の傾きは R_d(式 25)、明るい画像(飽和の約 50 %)の傾きは slope_50。 DSNU1288 = s_y.dark/R_d [光子] (式 58)、PRNU1288 = √(s²_p.50 − s²_p.dark)/μ_p.50(式 59、比)。 列・行・画素の成分(式 37〜39)にも同じ式を当てる(8.3 節の最後の段落)。成分の差が雑音で負になるときは 0 とする。 highpass: 既定 "r4"(General 8.1 節も Linear と同じフィルタ)、"r3.1"、None。

返り値 {"DSNU1288_p", "DSNU1288_y", "PRNU1288", "dsnu_p": {"col", "row", "pixel"}, "prnu": {...}, "s2_p_dark", "s2_p_50", "linear": Linear の計算(K = 1 のときの値), "highpass"}。

Raises ValueError: :func:sensorchar.emva_spatial_nonuniformity と同じ / slope_50・μ_p.50・R_d が正でない / s²_p.50 < s²_p.dark。

ファミリ共通の入力契約(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

同カテゴリ(sensorgeneral)

emva_general_sensitivity · emva_general_relative_qe


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

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