vifp — IMGMETRICS perceptual op

• Data kinds: image2d × image2d → scalar

• Call: import fullseye as fs; fs.ledger.vifp(ref, dist, data_range: 'float' = 255.0, sigma_nsq: 'float' = 2.0, nscales: 'int' = 4) -> 'float' (implementation को सीधे call करना हो तो import iqafsim; iqafsim.vifp(ref, dist, data_range: 'float' = 255.0, sigma_nsq: 'float' = 2.0, nscales: 'int' = 4) -> 'float', registry से लेना हो तो opsimgmetrics.get("vifp"))

उपयोग

VIF का pixel domain रूप (Sheikh & Bovik 2006 §V का scalar GSM, सार्वजनिक vifp_mscale की परिपाटी)। 1 = समान, higher is better।

हर scale s = 1..4: window N = 2^(4−s+1)+1, Gaussian σ = N/5 (17/3.4, 9/1.8, 5/1.0, 3/0.6)। s > 1 पर window से smooth करके 2 से decimate। local statistics (μ, σ², σ12) 'valid' correlation हैं, g = σ12/(σ1²+1e-10), σ_v² = σ2² − g σ12; σ1² < 1e-10, σ2² < 1e-10 या g < 0 वाले pixels परिपाटी के अनुसार दबा दिए जाते हैं, σ_v² ≤ 1e-10 → 1e-10। VIF = Σ log10(1 + g² σ1²/(σ_v² + σ_n²)) / Σ log10(1 + σ1²/σ_n²)। असममित (reference की सूचना-मात्रा से भाग: vif(a, b) ≠ vif(b, a)), contrast बढ़ाने पर 1 से अधिक हो जाता है (TID2013 के लेखक मान भी अधिकतम 1.1379 = distortion 17) -- यह fidelity नहीं, सूचना-मात्रा का अनुपात है। input (H, W) या (H, W, 3) (3-ch में Y)। TID2013 की VIFP.txt (paper का "VIFP", steerable संस्करण के "VIF" से अलग row) से 4 अंकों तक मेल Y′ limited grey images का होता है (iqatid.tid2013_evaluate(root, vifp, luma="limited_u8"), 3,000 जोड़ियाँ, max |अंतर| 6.8e-5)। Raises ValueError: shape अलग, सबसे छोटे scale पर window से छोटा, reference समतल (हर 0), sigma_nsq ≤ 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 जुड़ता है (scalar को input के रूप में लेते हैं)

luma_limited_u8 · rank_data · tid2013_index

इसी category के (perceptual)

fsim · fsimc · fsim_pair · gmsd · gmsd_map · phase_congruency_pc


*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.