Source code for viqa.fusion

"""Provide the fusion of multiple image quality assessment metrics."""


[docs] def fuse_metrics_linear_combination(metrics, weights): """ Fuse multiple image quality assessment metrics into a single score as a linear combination of the metrics. Parameters ---------- metrics : list List of metric values. weights : list[float] List of weights for the metrics. Returns ------- float Fused score. Examples -------- >>> from viqa import fuse_metrics_linear_combination, PSNR, SSIM >>> metrics = [PSNR, SSIM] >>> PSNR.score_val = 20.0 >>> SSIM.score_val = 0.5 >>> weights = [0.5, 0.5] >>> fuse_metrics_linear_combination(metrics, weights) 10.25 """ return sum(m.score_val * w for m, w in zip(metrics, weights, strict=True))