Skip to content

Releases: tiffany1618/imgproc-rs

v0.3.0

07 Dec 07:15
3745710
Compare
Choose a tag to compare

New

  • SIMD support for the following functions using AVX2 (new default feature simd to enable this behavior)
    • tone::brightness()
    • tone::saturation()
    • colorspace::rgb_to_grayscale()
  • simd module
    • adds_256_u8()
    • adds_n_256_u8()
    • deinterleave_3_rgb_256_u8()
    • deinterleave_4_rgb_256_u8()
    • avg_256_u8()
    • avg_alpha_256_u8()
    • avg_checked_256_u8()

Changes

  • Switched from using f64 to f32 for speed
  • Separated tone::brightness_lab() and tone::contrast_lab() into their own functions

Bug Fixes

  • Fixed bug in tone::brightness()

v0.2.3

20 Mar 23:38
69c5fd4
Compare
Choose a tag to compare
  • Added optimizations for some functions

v0.2.2

09 Mar 03:58
6779711
Compare
Choose a tag to compare
  • Made documentation more thorough

  • Moved the math module into the util module

  • Added filter::laplacian()

  • Added filter::laplacian_of_gaussian()

  • Added filter::normalize_laplacian()

v0.2.1

04 Mar 04:07
bca9826
Compare
Choose a tag to compare
  • Replaced enums::Tone::Xyz with enums::Tone::Lab, which seems to work better for brightness and contrast
    adjustments

  • Added parallel feature for enabling multithreading

  • Added PixelIter struct for iterating over an image by pixels

  • Added morphology module functions:

    • erode()
    • dilate()
    • majority()
    • open()
    • close()
    • gradient()
  • Fixed bug in tone::brightness() and tone::contrast()

v0.2.0

26 Feb 22:43
81d1603
Compare
Choose a tag to compare

Structural Changes

  • Separated functions in previous core module into separate modules
  • Added multithreading support for some functions (indicated by the _par suffix in the function name) via
    rayon

Modifications

  • image::Image::new() renamed to image::Image::from_slice()
  • filter::median_filter() and filter::alpha_trimmed_mean_filter() re-implemented using a faster algorithm based on
    Ben Weiss' fast median filtering algorithm

New Stuff

  • image::Image::from_vec()
  • image::Image::from_vec_of_vec()
  • image::Image::from_vec_of_slice()
  • image::Image::get_pixel_unchecked()
  • image::Image::get_pixel_mut_unchecked()
  • util::get_2d_coords()
  • util::math::cubic_weighting_fn()
  • util::math::clamp_zero()
  • util::math::sinc_norm()
  • util::math::lanczos_kernel()
  • util::math::separate_kernel()
  • convert::scale_channels()
  • enums::Scale::{Bicubic, Lanczos}
  • From trait implementations between common Image<T> types
  • transform::scale() now supports bicubic interpolation and Lanczos resampling methods for image scaling

Bug Fixes

  • Fixed bug in filter::derivative_mask()

v0.1.1

10 Feb 05:04
38ca9f0
Compare
Choose a tag to compare
v0.1.1 Pre-release
Pre-release

Structural Changes

  • Moved all core submodules to be directly under the core module
  • Moved enum submodule out of the util module and into its own module

New Functions

  • core::gamma
  • core::median_filter
  • core::alpha_trimmed_mean_filter
  • core::bilateral_filter
  • util::summed_area_table
  • util::rectangular_intensity_sum
  • util::math::generate_spatial_mat
  • util::math::gaussian_fn
  • image::SubImage::to_vec

Bug Fixes

  • Fixed bug in core::xyz_to_lab