image_energy 0.1.0

Library crate for calculating energy of an image
Documentation
use image::DynamicImage;
use image::io::Reader as ImageReader;

use crate::energy_of_image::energy::get_energy_image;

pub struct ImageWrapper {
    original: Option<DynamicImage>,
}

impl ImageWrapper {
    pub fn from_file(path: &str) -> Self {
        let result = ImageReader::open(path);
        match result {
            Ok(reader) => {
                let image_result = reader.decode();
                match image_result {
                    Ok(image) => {
                        ImageWrapper {
                            original: Some(image)
                        }
                    }
                    Err(e) => {
                        panic!("{}", e)
                    }
                }
            }
            Err(e) => {
                panic!("{}", e)
            }
        }
    }

    pub fn get_energy(&self) -> DynamicImage {
        match &self.original {
            Some(image) => {
                get_energy_image(image)
            }
            None => {
                panic!("No image was loaded to calculate energy")
            }
        }
    }
}