Skip to main content

evaluate_single

Function evaluate_single 

Source
pub fn evaluate_single(
    reference: &ImgVec<RGB8>,
    encoded: &ImgVec<RGB8>,
    config: &MetricConfig,
) -> Result<MetricResult>
Expand description

Evaluate a single encoded image against a reference.

This is a convenience wrapper around the individual metric calculation functions. It’s designed for simple use cases where you want to quickly evaluate the quality of an encoded image without setting up a full EvalSession.

§Arguments

  • reference - Reference image (original)
  • encoded - Encoded/decoded image to compare
  • config - Which metrics to calculate

§Returns

MetricResult containing the calculated metric values.

§Errors

Returns an error if:

  • Images have different dimensions
  • Images are too small for the metric (minimum 8x8 for butteraugli)
  • Metric calculation fails

§Example

use codec_eval::eval::helpers::evaluate_single;
use codec_eval::metrics::MetricConfig;

let config = MetricConfig::perceptual();
let result = evaluate_single(&reference, &encoded, &config)?;

if let Some(dssim) = result.dssim {
    println!("DSSIM: {:.6}", dssim);
}