ultrasound_metrics.metrics.cnr

ultrasound_metrics.metrics.cnr#

Contrast-to-Noise Ratio (CNR) metric for ultrasound image quality assessment.

Functions#

compute_cnr(→ float)

Compute the contrast-to-noise ratio (CNR) between two regions.

get_agg_func(...)

Get backend-agnostic aggregation function.

Module Contents#

ultrasound_metrics.metrics.cnr.compute_cnr(
values_signal: ultrasound_metrics._utils.array_api.ArrayAPIObj,
values_noise: ultrasound_metrics._utils.array_api.ArrayAPIObj,
fun_signal: str = 'MEAN',
fun_noise: str = 'MEAN',
*,
use_signal_variance: bool = True,
use_noise_variance: bool = True,
) float[source]#

Compute the contrast-to-noise ratio (CNR) between two regions.

The CNR is commonly used in medical ultrasound to assess image quality [1]. The CNR is computed as [2]:

\[CNR = \frac{|\mu_i - \mu_o|}{\sqrt{\sigma_i^2 + \sigma_o^2}}\]

where:

\[ \begin{align}\begin{aligned}\mu_i = E\{|s_i|^2\}\\\mu_o = E\{|s_o|^2\}\\\sigma_i^2 = E\{(|s_i|^2 - \mu_i)^2\}\\\sigma_o^2 = E\{(|s_o|^2 - \mu_o)^2\}\end{aligned}\end{align} \]

with \(s_i\) and \(s_o\) representing the signal values inside and outside the region of interest, respectively.

Parameters:
  • values_signal – Pixel values from the signal region (e.g., inside a lesion).

  • values_noise – Pixel values from the noise/background region (e.g., outside a lesion).

  • fun_signal – Aggregation function for the signal region (“MEAN” or “MEDIAN”).

  • fun_noise – Aggregation function for the noise region (“MEAN” or “MEDIAN”).

  • use_signal_variance – Whether to include signal variance in the denominator.

  • use_noise_variance – Whether to include noise variance in the denominator.

Returns:

The contrast-to-noise ratio.

Return type:

float

References

ultrasound_metrics.metrics.cnr.get_agg_func(
xp: ultrasound_metrics._utils.array_api.ArrayAPIObj,
name: str,
) Callable[[ultrasound_metrics._utils.array_api.ArrayAPIObj], ultrasound_metrics._utils.array_api.ArrayAPIObj][source]#

Get backend-agnostic aggregation function.

Parameters:
  • xp – Array API namespace.

  • name – Name of aggregation function (‘MEAN’ or ‘MEDIAN’).

Returns:

Aggregation function.

Return type:

callable