viqa.fr_metrics.uqi.UQI

class viqa.fr_metrics.uqi.UQI(data_range=255, normalize=False, **kwargs)[source]

Calculate the universal quality index (UQI) between two images.

score_val

Score value of the UQI metric.

Type:

float or None

parameters

Dictionary containing the parameters for UQI calculation.

Type:

dict

Parameters:
  • data_range ({1, 255, 65535}, optional) – Data range of the returned data in data loading. Is used for image loading when normalize is True and for the UQI calculation. Passed to viqa.utils.load_data() and viqa.fr_metrics.ssim.structural_similarity().

  • normalize (bool, default False) – If True, the input images are normalized to the data_range argument.

  • **kwargs (optional) – Additional parameters for data loading. The keyword arguments are passed to viqa.utils.load_data().

  • chromatic (bool, default False) – If True, the input images are expected to be RGB images. If False, the input images are converted to grayscale images if necessary.

Raises:

ValueError – If data_range is not set.

Notes

data_range for image loading is also used for the UQI calculation if the image type is integer and therefore must be set. The parameter is set through the constructor of the class and is passed to score(). UQI [1] is a full-reference IQA metric. It is based on the human visual system and is designed to predict the perceived quality of an image.

See also

viqa.fr_metrics.ssim.SSIM

Structural similarity index.

viqa.fr_metrics.msssim.MSSSIM

Multi-scale structural similarity index.

References

score(img_r, img_m, **kwargs)[source]

Calculate the universal quality index (UQI) between two images.

Parameters:
  • img_r (np.ndarray, viqa.ImageArray, torch.Tensor, str or os.PathLike) – Reference image to calculate score against.

  • img_m (np.ndarray, viqa.ImageArray, torch.Tensor, str or os.PathLike) – Modified image to calculate score of.

  • **kwargs (optional) – Additional parameters for the UQI calculation. The keyword arguments are passed to viqa.fr_metrics.ssim.structural_similarity().

Returns:

score_val – UQI score value.

Return type:

float

Notes

In the original implementation win_size is set to 8, here it is set to 7 by default, but can be changed to other odd values.

print_score(decimals=2)[source]

Print the UQI score value of the last calculation.

Parameters:

decimals (int, default=2) – Number of decimal places to print the score value.

Warns:

RuntimeWarning – If score_val is not available.

export_results(path, filename)

Export the score to a csv file.

Parameters:
  • path (str) – The path where the csv file should be saved.

  • filename (str) – The name of the csv file.

Notes

The arguments get passed to viqa.utils.export_results().

load_images(img_r, img_m)

Load the images and perform checks.

Parameters:
  • img_r (np.ndarray, viqa.ImageArray, torch.Tensor, str or os.PathLike) – The reference image.

  • img_m (np.ndarray, viqa.ImageArray, torch.Tensor, str or os.PathLike) – The modified image.

Returns: