phase_congruency_pc — IMGMETRICS perceptual op

• Datenarten: image2d → image2d

• Aufruf: import fullseye as fs; fs.ledger.phase_congruency_pc(img, data_range: 'float' = 255.0, nscale: 'int' = 4, norient: 'int' = 4, min_wavelength: 'float' = 6.0, mult: 'float' = 2.0, sigma_onf: 'float' = 0.55, dtheta_on_sigma: 'float' = 1.2, k: 'float' = 2.0, epsilon: 'float' = 0.0001) -> 'np.ndarray' (die Implementierung direkt: import iqafsim; iqafsim.phase_congruency_pc(img, data_range: 'float' = 255.0, nscale: 'int' = 4, norient: 'int' = 4, min_wavelength: 'float' = 6.0, mult: 'float' = 2.0, sigma_onf: 'float' = 0.55, dtheta_on_sigma: 'float' = 1.2, k: 'float' = 2.0, epsilon: 'float' = 0.0001) -> 'np.ndarray'; aus dem Register: opsimgmetrics.get("phase_congruency_pc"))

Verwendung

Phasenkongruenz PC(x) = Σ_o E_o(x) / Σ_o Σ_s A_{s,o}(x) ∈ [0, 1] (Kovesi 1999; Konvention von Gl. 4 des FSIM-Artikels: log-Gabor mit 4 Skalen × 4 Orientierungen).

Es ist etwas anderes als das vorhandene phase_congruency (backends_transform2, Riesz-/monogene Variante, ohne Orientierung, Regler a/b), daher das Suffix _pc. Von E_o = Σ_s [e ē + o ō − |e ō − o ē|] (ē, ō = Einheitsrichtung des Summenvektors dieser Orientierung; ε = 1e-4 geht nur in diese Einheitsvektorbildung ein) wird Kovesis Rauschschwelle T abgezogen und bei 0 abgeschnitten: Median von |EO|² auf der kleinsten Skala → Rayleigh-Mittel −median/ln 0.5 → Rauschleistung → inklusive Filterüberlappung Mittel der Rauschenergie + k σ, zuletzt durch 1.7 geteilt (Kovesis Faustregel). Die sigmoid-Gewichtung für die Frequenzspreizung wird nicht angewendet (nicht in Gleichung 4 von FSIM). Verstärkungsinvariant: ein konstanter Faktor auf die Eingabe ändert PC nicht -- bis auf den ε-Anteil (bei ε = 1e-4 maximal 3e-5, streng proportional zu ε). Eingabe (H, W) ((H, W, 3) nutzt Y). Standardwerte aus dem FSIM-Artikel §IV-A (λ_min = 6, mult = 2, σ_r = 0.55, σ_θ = π/4/1.2, k = 2). Raises ValueError: kleiner als 2×2, nicht endlich, data_range ≤ 0.

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)

• poc_iqa_fsim_gmsd_vif — py -3.11 examples/poc_iqa_fsim_gmsd_vif.py

Typkompatible Folge-Operatoren (nehmen image2d als Eingabe)

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

Gleiche Kategorie (perceptual)

fsim · fsimc · fsim_pair · gmsd · gmsd_map · vifp


*Provenance: iqafsim.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.