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 comparemin_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))?;