Struct dssim::Dssim
[−]
[src]
pub struct Dssim { /* fields omitted */ }
Configuration for the comparison
Methods
impl Dssim
[src]
fn new() -> Dssim
[src]
Create new context for comparisons
fn set_scales(&mut self, scales: &[f64])
[src]
Set how many scales will be used, and weights of each scale
fn set_save_ssim_maps(&mut self, num_scales: u8)
[src]
Set how many scales will be kept for saving
fn create_image<InBitmap, OutBitmap>(
&self,
src_img: &InBitmap
) -> Option<DssimImage<f32>> where
InBitmap: ToLABBitmap + Send + Sync + Downsample<Output = OutBitmap>,
OutBitmap: ToLABBitmap + Send + Sync + Downsample<Output = OutBitmap>,
[src]
&self,
src_img: &InBitmap
) -> Option<DssimImage<f32>> where
InBitmap: ToLABBitmap + Send + Sync + Downsample<Output = OutBitmap>,
OutBitmap: ToLABBitmap + Send + Sync + Downsample<Output = OutBitmap>,
The input image is defined using the imgref
crate, and the pixel type can be:
ImgVec<RGBAPLU>
— RGBA premultiplied alpha, float scaled to 0..1ImgVec<RGBLU>
— RGBA float scaled to 0..1ImgVec<f32>
— linear light grayscale, float scaled to 0..1
And there's ToRGBAPLU
(.to_rgbaplu()
) helper to convert the input pixels from
[RGBA<u8>]
, [RGBA<u16>]
, [RGB<u8>]
, or RGB<u16>
. See main.rs
for example how it's done.
You can implement ToLABBitmap
and Downsample
traits on your own image type.
fn compare(
&mut self,
original_image: &DssimImage<f32>,
modified_image: DssimImage<f32>
) -> (Val, Vec<SsimMap>)
[src]
&mut self,
original_image: &DssimImage<f32>,
modified_image: DssimImage<f32>
) -> (Val, Vec<SsimMap>)
Compare original with another image. See create_image
The SsimMap
s are returned only if you've enabled them first.
Val
is a fancy wrapper for f64