-
Notifications
You must be signed in to change notification settings - Fork 13
To Do List
- Remove piston/image as dependency and use plain image decoders/encoders only.
- Implement bicubic interpolation for better resampling when resizing.
- Improve rotation quality.
- Add benchmarks against other image processing. https://doc.rust-lang.org/book/benchmark-tests.html
- Add multi thread operations on large images. https://github.com/nikomatsakis/rayon
https://www.reddit.com/r/rust/comments/5jq5j3/introducing_raster_an_image_processing_library/
-
Perform all transformations in linear color space. Here is a good explanation why that matters. More comprehensive article on gamma.
-
Allow to store intermediate images with higher precision. 8 bit per color is too low and will cause rounding errors after each operation. I think the best option is f32 for each channel component which store linear values and are not automatically clamped to 0-1 range.
-
Correctly handle color space information in image files, do not just assume sRGB. This will become more important in coming years as UHD/HDR/Rec. 2020 become more common.
-
One thing I would suggest would be to say 'compositing operations' instead of blend modes and 'over' instead of 'normal'