report opmetrics × image2d × image2d → metricsimport fullseye as fs; fs.ledger.measure_with(report, a, b, ms=False) (実装を直接呼ぶなら import imgmetrics; imgmetrics.measure_with(report, a, b, ms=False)、台帳から引くなら opsimgmetrics.get("measure_with"))前の測定と厳密に同じ条件でもう一組を測る。
:func:compare_images の返り値(contract を含む)を受け取り、そこに
記録された data_range / bins / ncd_levels をそのまま使って測り直す。
これが要るのは、この repo で実際に起きた事故の型があるから ―― 数値だけを
図注や表に写して、条件が消える。別々に測った 2 つの PSNR を並べたとき、
片方が data_range=1.0、もう片方が 255 なら 48.13 dB の差が「改善」に
見える。条件を持ち回れば、そもそも比べられない組合せは作れない。
同時に、これが metrics 型の消費側でもある。compare_images だけが
metrics を産んで誰も食わない状態は、この repo が繰り返し踏んできた
「入口はあるが消費 op が無い型」そのものだった(2026-09-02 の点検で検出)。
report : dict
:func:compare_images の返り値、または contract そのもの。
a, b : array_like
測り直す 2 枚。
dict
同じ形の報告。contract は受け取ったものと同一。
py -3.11 examples/image_quality_metrics.pymetrics を入力に取れる)report)compare_images · metrics_table · data_range_of
Provenance: imgmetrics.py — IMGMETRICS operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.