calibration opmeasurement × table → tableimport fullseye as fs; fs.ledger.evidence_quantile(measurement, null, higher_is_stronger=True) (実装を直接呼ぶなら import imgforensics; imgforensics.evidence_quantile(measurement, null, higher_is_stronger=True)、台帳から引くなら opsimgforensics.get("evidence_quantile"))証拠量が、清浄な分布のどのあたりに座るかを返す。判定は返さない。
null_distribution の出力を消費する側。返すのは「清浄な組の何 % より
外側か」であって、「改竄されている」ではない ―― 外側に座ることは、
その条件で珍しいことしか意味しない(珍しい清浄画像は存在する)。
measurement : float
測った証拠量(hash_distance の返り値など)。
null : dict
:func:null_distribution の返り値。
higher_is_stronger : bool
PCE や相関のように大きいほど強い証拠なら True。
ハミング距離のように小さいほど強い証拠なら False。
既定に頼らず必ず考えること —— ここを間違えると、いちばん証拠の
強い組が「まったく珍しくない」と出る(例外は出ない)。
dict
beyond_fraction(清浄分布のうち、この値より内側にある割合 =
清浄な組の何 % より外側に座るか。[0, 1] の連続値)/
z(標準偏差の何倍か。ばらつき 0 なら None)/ caveats。
beyond_fraction は null が持つ分位点(min / 5 / 25 / 50 / 75 /
95 / 99 パーセンタイル / max)を節として 区分線形に内挿した経験分布
関数。節の上では厳密、節の間は線形近似で、min より内側なら 0、
max より外側なら 1 に飽和する(標本の外へは外挿しない)。
higher_is_stronger=False なら 1 から引いた側を返す。清浄な値がすべて
同じで節が重なる場合、その値ちょうどは 0.5(中央順位)に置く。
py -3.11 examples/image_forensics_audit.pypy -3.11 examples/poc_prnu_camera_fingerprint.pytable を入力に取れる)—
calibration)Provenance: imgforensics.py — IMGFORENSICS operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.