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।
• image_difference_metrics family guide
• 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 में दिए गए हैं।
• poc_iqa_fsim_gmsd_vif — py -3.11 examples/poc_iqa_fsim_gmsd_vif.py
image2d को input के रूप में लेते हैं)mse · rmse · psnr · ssim · ms_ssim · ssim_map · image_entropy · joint_entropy
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.