joint_histogram — IMGMETRICS information op

• Datenarten: image2d × image2d → image2d

• Aufruf: import fullseye as fs; fs.ledger.joint_histogram(a, b, bins=64, data_range=None) (die Implementierung direkt: import imgmetrics; imgmetrics.joint_histogram(a, b, bins=64, data_range=None); aus dem Register: opsimgmetrics.get("joint_histogram"))

Verwendung

Verbundhistogramm zweier Bilder (die normierte Verbundwahrscheinlichkeit).

Die Bin-Breite wird aus data_range bestimmt -- würde man sie pro Bild per min/max strecken, hätten ein gleichmäßig dunkles und ein gleichmäßig helles Bild dieselbe Transinformation.

Ablauf: die 2 Bilder flach machen, für beide mit denselben Bin-Grenzen [lo, lo + data_range] (lo = das kleinere der Minima der 2 Bilder, in bins gleiche Teile geteilt) numpy.histogram2d bilden und durch die Gesamtzahl teilen, um die Verbundwahrscheinlichkeit zu erhalten.

• a, b: gleiche Form (beliebige Dimension), endlich. Sind die dtypes nicht gleich, data_range explizit angeben (Schätzung aus gemischten dtypes wird abgewiesen).

• bins: ganze Zahl ab 2.

• data_range: bei Integer-dtypes automatisch (uint8 = 255 usw.), bei float nur in [0, 1] 1.0, sonst Pflichtangabe.

• Rückgabewert: float64 der Form (bins, bins), Summe 1. Zeilen sind Bins von a, Spalten Bins von b. Werte über lo + data_range fallen in keinen Bin (werden nicht gezählt).

• Fehler (MetricContractError): Formen verschieden / leer / nicht endlich / bins < 2 / 0 Stichproben im Bereich.

joint_entropy / mutual_information / image_entropy werden aus dieser Tabelle berechnet.

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie image_difference_metrics

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• image_quality_metrics — py -3.11 examples/image_quality_metrics.py

Typkompatible Folge-Operatoren (nehmen image2d als Eingabe)

mse · rmse · psnr · ssim · ms_ssim · ssim_map · image_entropy · joint_entropy

Gleiche Kategorie (information)

image_entropy · joint_entropy · mutual_information · normalized_mutual_information


*Provenance: imgmetrics.py — IMGMETRICS Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

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