diff --git a/src/ledwand_dither.rs b/src/ledwand_dither.rs index c1caed4..9f3a634 100644 --- a/src/ledwand_dither.rs +++ b/src/ledwand_dither.rs @@ -1,7 +1,7 @@ //! Based on https://github.com/WarkerAnhaltRanger/CCCB_Ledwand use image::GrayImage; -use log::debug; +use log::error; use servicepoint::{Bitmap, DisplayBitVec, PIXEL_HEIGHT}; type GrayHistogram = [usize; 256]; @@ -174,7 +174,6 @@ pub(crate) fn ostromoukhov_dither(source: GrayImage, bias: u8) -> Bitmap { for y in 0..height as usize { let start = y * width as usize; - let last_row = y == (height - 1) as usize; if y % 2 == 0 { for x in start..start + width as usize { ostromoukhov_dither_pixel( @@ -182,7 +181,7 @@ pub(crate) fn ostromoukhov_dither(source: GrayImage, bias: u8) -> Bitmap { &mut destination, x, width as usize, - last_row, + y == (height - 1) as usize, 1, bias, ); @@ -194,7 +193,7 @@ pub(crate) fn ostromoukhov_dither(source: GrayImage, bias: u8) -> Bitmap { &mut destination, x, width as usize, - last_row, + y == (height - 1) as usize, -1, bias, ); @@ -221,8 +220,7 @@ fn ostromoukhov_dither_pixel( let mut diffuse = |to: usize, mat: i16| { match source.get(to) { None => { - // last row has a out of bounds error on the last pixel - // TODO fix the iter bounds instead of ignoring here + error!("ostromoukhov_dither_pixel - invalid index {to}"); } Some(val) => { let diffuse_value = *val as i16 + mat; @@ -239,14 +237,11 @@ fn ostromoukhov_dither_pixel( diffuse((position as isize + direction) as usize, lookup[0]); if !last_row { - debug!("begin"); diffuse( ((position + width) as isize - direction) as usize, lookup[1], ); - debug!("mit"); diffuse(((position + width) as isize) as usize, lookup[2]); - debug!("end"); } }