Expand description
§codec-eval
Image codec comparison and evaluation library.
This library provides an API-first design where external crates provide encode/decode callbacks, and this library handles quality metrics, viewing conditions, and report generation.
§Quick Start
ⓘ
use codec_eval::{EvalSession, EvalConfig, ViewingCondition, ImageData};
let config = EvalConfig::builder()
.report_dir("./reports")
.viewing(ViewingCondition::desktop())
.build();
let mut session = EvalSession::new(config);
session.add_codec("my-codec", "1.0.0", Box::new(|image, request| {
// Your encoding logic here
Ok(encoded_bytes)
}));
let report = session.evaluate_image("test.png", image_data)?;§Modules
error: Error types for the libraryviewing: Viewing condition modeling for perceptual metricsmetrics: Quality metrics (DSSIM, SSIMULACRA2, Butteraugli, PSNR)eval: Evaluation session and report generationcorpus: Test corpus managementimport: CSV import for third-party resultsstats: Statistical analysis and Pareto front- [
interpolation]: Quality interpolation and polynomial fitting
Re-exports§
pub use corpus::Corpus;pub use corpus::CorpusImage;pub use corpus::ImageCategory;pub use error::Error;pub use error::Result;pub use eval::assert_perception_level;pub use eval::assert_quality;pub use eval::evaluate_single;pub use eval::CodecResult;pub use eval::CorpusReport;pub use eval::EvalConfig;pub use eval::EvalSession;pub use eval::ImageReport;pub use eval::ImageData;pub use import::CsvImporter;pub use import::ExternalResult;pub use metrics::MetricConfig;pub use metrics::MetricResult;pub use metrics::PerceptionLevel;pub use stats::ParetoFront;pub use stats::RDPoint;pub use stats::Summary;pub use viewing::ViewingCondition;pub use viewing::REFERENCE_PPD;pub use corpus::SparseCheckout;pub use corpus::SparseFilter;pub use corpus::SparseStatus;pub use import::CsvSchema;pub use metrics::ColorProfile;pub use metrics::xyb_roundtrip;pub use stats::iqr;pub use stats::mean;pub use stats::median;pub use stats::percentile;pub use stats::percentile_u32;pub use stats::std_dev;pub use stats::trimmed_mean;pub use viewing::SimulationMode;pub use viewing::SimulationParams;
Modules§
- corpus
- Corpus management for test image collections.
- decode
- Utility functions for decoding images with ICC profile extraction.
- error
- Error types for codec-eval operations.
- eval
- Evaluation session and report generation.
- import
- CSV import for third-party encoder results.
- metrics
- Quality metrics for image comparison.
- stats
- Statistical analysis and Pareto front calculation.
- viewing
- Viewing condition modeling for perceptual quality assessment.