This release moves some functionality out of DitherPunk and into ColorQuantization.jl and UnicodeGraphics.jl.
-
braille
is faster and supports new printing methods via UnicodeGraphics.jl, e.g.braille(img, method=:block)
(#97) - Add support for
AbstractColorQuantizers
from ColorQuantization.jl for color palette dithering (#98) - Fix bug in
DomainError
(8fae2d) - Move clustering functionality into ColorQuantization.jl (#98)
- Add Aqua.jl quality assurance tests (#99)
- Update dependencies (#98)
- Replace UnicodePlots.jl dependency with custom
braille
implementation (#91) - Revert default metric to
DE_2000
for higher image quality (#92)
- Update documentation to show off new functionality (#88)
- Use faster default color difference metric
DE_AB
(#87)
Note: this was reverted in PR #92, released in DitherPunk v3.0.3
.
This breaking release of DitherPunk raises the minimum Julia version requirement from 1.0 to 1.6 (#82).
- Add default method
FloydSteinberg
, such thatdither
can be called without passing an algorithm (477c98e) - Add default method for
braille
(#85) - Add option to invert
braille
output (#85) - Lazily load Clustering.jl and UnicodePlots.jl (#77)
- Updated docs (#73)
Refactored ErrorDiffusion
algorithms:
- Deprecate keyword
color_space
(#73) - Remove
colorspace
argument (#84) - Turn
clamp_error
into a keyword argument (#86) - Performance improvements (#73)
- Drop OffsetArrays.jl dependency (#73)
- Column-first iteration (#80)
- Fix bug where kwargs were not accessible in
SimpleErrorDiffusion
(#73)
- Fix colormap index overflow bug (#78)
- Downsample image before clustering (#71)
- Color space for error diffusion can now be selected. Defaults to
XYZ
, a change from previousRGB
color space. Changes outputs and speeds up color error diffusion. (#63) - Speed up color ordered dithering. (#62)
- Better docstrings for error diffusion algorithms. (#63)
- Added ASCII dithering example to docs. (#64)
- Ordered dithering algorithms now support custom color palettes. (#53)
- Color palette generation with Clustering.jl has been made accessible as
DitherPunk.get_colorscheme
. (#58) - Fixed docstring warnings. (#56)
- Added three advanced examples to docs. (#58)
- Color dithering methods now return IndirectArrays. (#47)
- Performance enhancements. Most noticeable for color methods. (#47)
- Dropped dependency on TiledIteration. (#47)
invert_map
is now a keyword argument of ordered dithering constructors. (#50)
This release introduces some breaking changes due to an API overhaul and adds new functionality through conditional dependencies:
- Dithering color images without specifying a color palette will now automatically apply per-channel binary dithering. (#45)
- Because of the previously mentioned change,
SeparateSpace
and its typeAbstractFixedColorDither
are not needed anymore and were removed. (#45) - Enhanced error message when trying to use color palettes on methods that don't support them (Julia >=1.5). (#45)
- Support for ColorSchemes.jl. (#45)
- Support for Clustering.jl: automatically generate color palettes via K-means clustering. (#45)
- Support for UnicodePlots.jl: print binary images using Unicode Braille patterns with
braille
. (#45) - Error diffusion kwargs are now accessible. (#45)