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 toviqa.utils.load_data()
andviqa.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 toscore()
. 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:
img_r (viqa.ImageArray) – The loaded reference image as an
viqa.utils.ImageArray
.img_m (viqa.ImageArray) – The loaded modified image as an
viqa.utils.ImageArray
.