phase_congruency_pc — IMGMETRICS perceptual op

• Data kinds: image2d → image2d

• Call: 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' (implementation को सीधे call करना हो तो 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', registry से लेना हो तो opsimgmetrics.get("phase_congruency_pc"))

उपयोग

phase congruency PC(x) = Σ_o E_o(x) / Σ_o Σ_s A_{s,o}(x) ∈ [0, 1] (Kovesi 1999, FSIM पेपर के समीकरण 4 की परिपाटी: log-Gabor 4 scale × 4 दिशा)।

यह मौजूदा phase_congruency (backends_transform2, Riesz/monogenic संस्करण, दिशा रहित, knobs a/b) से अलग चीज़ है, इसलिए suffix _pc है। E_o = Σ_s [e ē + o ō − |e ō − o ē|] (ē, ō = उस दिशा के कुल vector की unit दिशा; ε = 1e-4 केवल इसी unit-vector बनाने में डाला जाता है) से Kovesi का noise threshold T घटाकर 0 पर काटा जाता है: सबसे छोटे scale पर |EO|² का median → Rayleigh का औसत −median/ln 0.5 → noise power → filter overlap सहित noise energy का औसत + k σ, अंत में 1.7 से भाग (Kovesi का अनुभवजन्य नियम)। frequency spread का sigmoid weight नहीं लगाया जाता (FSIM के समीकरण 4 में नहीं है)। gain invariant: input को स्थिरांक से गुणा करने पर PC नहीं बदलता -- केवल ε के हिस्से जितना (ε = 1e-4 पर अधिकतम 3e-5, ε के ठीक अनुपात में)। input (H, W) ((H, W, 3) में Y)। default मान FSIM paper §IV-A से (λ_min = 6, mult = 2, σ_r = 0.55, σ_θ = π/4/1.2, k = 2)। Raises ValueError: 2×2 से छोटा, non-finite, data_range ≤ 0।

उपयोग की विस्तृत guide

• image_difference_metrics family guide

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_iqa_fsim_gmsd_vif — py -3.11 examples/poc_iqa_fsim_gmsd_vif.py

वे अगले ops जिनसे type जुड़ता है (image2d को input के रूप में लेते हैं)

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

इसी category के (perceptual)

fsim · fsimc · fsim_pair · gmsd · gmsd_map · vifp


*Provenance: iqafsim.py — IMGMETRICS operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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