SignalNoiseRatio¶
- class mmeval.metrics.SignalNoiseRatio(crop_border: int = 0, input_order: str = 'CHW', convert_to: Optional[str] = None, channel_order: str = 'rgb', **kwargs)[source]¶
Signal-to-Noise Ratio.
Ref: https://en.wikipedia.org/wiki/Signal-to-noise_ratio
- Parameters
crop_border (int) – Cropped pixels in each edges of an image. These pixels are not involved in the PeakSignalNoiseRatio calculation. Defaults to 0.
input_order (str) – Whether the input order is ‘HWC’ or ‘CHW’. Defaults to ‘HWC’.
convert_to (str, optional) – Whether to convert the images to other color models. If None, the images are not altered. When computing for ‘Y’, the images are assumed to be in BGR order. Options are ‘Y’ and None. Defaults to None.
channel_order (str) – The channel order of image. Choices are ‘rgb’ and ‘bgr’. Defaults to ‘rgb’.
**kwargs – Keyword parameters passed to
BaseMetric
.
Examples
>>> from mmeval import SignalNoiseRatio >>> import numpy as np >>> >>> snr = SignalNoiseRatio(crop_border=1, input_order='CHW', ... convert_to='Y', channel_order='rgb') >>> gts = np.random.randint(0, 255, size=(3, 32, 32)) >>> preds = np.random.randint(0, 255, size=(3, 32, 32)) >>> snr(preds, gts) {'snr': ...}
Calculate SignalNoiseRatio between 2 images:
>>> gts = np.ones((3, 32, 32)) * 2 >>> preds = np.ones((3, 32, 32)) >>> SignalNoiseRatio.compute_snr(preds, gts) 6.020599913279624
- add(predictions: Sequence[numpy.ndarray], groundtruths: Sequence[numpy.ndarray], channel_order: Optional[str] = None) → None[source]¶
Add SignalNoiseRatio score of batch to
self._results
- Parameters
predictions (Sequence[np.ndarray]) – Predictions of the model.
groundtruths (Sequence[np.ndarray]) – The ground truth images.
channel_order (Optional[str]) – The channel order of the input samples. If not passed, will set as
self.channel_order
. Defaults to None.
- compute_metric(results: List[numpy.float64]) → Dict[str, float][source]¶
Compute the SignalNoiseRatio metric.
This method would be invoked in
BaseMetric.compute
after distributed synchronization.- Parameters
results (List[np.float64]) – A list that consisting the SignalNoiseRatio score. This list has already been synced across all ranks.
- Returns
The computed SignalNoiseRatio metric.
- Return type
Dict[str, float]
- static compute_snr(prediction: numpy.ndarray, groundtruth: numpy.ndarray) → numpy.float64[source]¶
Calculate SignalNoiseRatio (Signal-to-Noise Ratio).
Ref: https://en.wikipedia.org/wiki/Signal-to-noise_ratio
- Parameters
prediction (np.ndarray) – Images with range [0, 255].
groundtruth (np.ndarray) – Images with range [0, 255].
- Returns
SignalNoiseRatio result.
- Return type
np.float64