Skip to main content

assert_quality

Function assert_quality 

Source
pub fn assert_quality(
    reference: &ImgVec<RGB8>,
    encoded: &ImgVec<RGB8>,
    min_ssimulacra2: Option<f64>,
    max_dssim: Option<f64>,
) -> Result<()>
Expand description

Assert that quality meets specified thresholds.

This is designed for use in CI tests and benchmarks. It calculates quality metrics and fails if they don’t meet the specified thresholds.

§Arguments

  • reference - Reference image (original)
  • encoded - Encoded/decoded image to compare
  • min_ssimulacra2 - Minimum acceptable SSIMULACRA2 score (optional)
  • max_dssim - Maximum acceptable DSSIM value (optional)

§Returns

Ok(()) if quality meets all specified thresholds.

§Errors

Returns an error if:

  • Images have different dimensions
  • Quality is below the specified thresholds
  • Metric calculation fails

§Example

use codec_eval::eval::helpers::assert_quality;

// Assert SSIMULACRA2 >= 80.0 and DSSIM <= 0.002
assert_quality(&reference, &encoded, Some(80.0), Some(0.002))?;

// Assert only SSIMULACRA2 >= 90.0
assert_quality(&reference, &encoded, Some(90.0), None)?;

// Assert only DSSIM <= 0.001
assert_quality(&reference, &encoded, None, Some(0.001))?;