perceptual op• 数据种类:image2d → image2d
• 调用: 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'(要直接调用实现,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';从台账取用则 opsimgmetrics.get("phase_congruency_pc"))
相位一致性 PC(x) = Σ_o E_o(x) / Σ_o Σ_s A_{s,o}(x) ∈ [0, 1] (Kovesi 1999,FSIM 论文式 4 的约定:log-Gabor 4 个尺度 × 4 个方向)。
与现有的 phase_congruency(backends_transform2,Riesz/单演版,无方向,旋钮 a/b)是不同的东西,所以加后缀 _pc。从 E_o = Σ_s [e ē + o ō − |e ō − o ē|] (ē, ō = 该方向总和向量的单位方向,ε = 1e-4 只用于这个单位向量化)中减去 Kovesi 的噪声阈值 T 并在 0 处截断:最小尺度 |EO|² 的中位数 → Rayleigh 的均值 −median/ln 0.5 → 噪声功率 → 含滤波器重叠的噪声能量均值 + k σ,最后除以 1.7(Kovesi 的经验法则)。不乘频率扩展的 sigmoid 权重(FSIM 的式 4 中没有)。
增益不变:输入乘以常数 PC 不变 —— 只差 ε 的部分(ε = 1e-4 时最大 3e-5,严格与 ε 成正比)。输入 (H, W)((H, W, 3) 用 Y)。默认值取自 FSIM 论文 §IV-A(λ_min = 6、mult = 2、σ_r = 0.55、σ_θ = π/4/1.2、k = 2)。Raises ValueError:小于 2×2、非有限、data_range ≤ 0。
• image_difference_metrics 族使用指南
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• 算法的正典(作者、年份)与用途见上面的族使用指南。
• poc_iqa_fsim_gmsd_vif — py -3.11 examples/poc_iqa_fsim_gmsd_vif.py
image2d 作为输入)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 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.