Skip to content

Commit

Permalink
DitherPunk v3.0.3
Browse files Browse the repository at this point in the history
  • Loading branch information
adrhill committed Aug 25, 2022
1 parent 817e798 commit 1b85aed
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 1 deletion.
57 changes: 57 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,43 @@
# DitherPunk
## Version `v3.0.3`
- ![Enhancement][badge-enhancement] Replace UnicodePlots.jl dependency with custom `braille` implementation ([#91][pr-91])
- ![Enhancement][badge-enhancement] Revert default metric to `DE_2000` for higher image quality ([#92][pr-92])

## Version `v3.0.2`
- ![Documentation][badge-docs] Update documentation to show off new functionality ([#88][pr-88])

## Version `v3.0.1`
- ![Enhancement][badge-enhancement] Use faster default color difference metric `DE_AB` ([#87][pr-87])

*Note*: this was reverted in PR [#92][pr-92], released in DitherPunk `v3.0.3`.

## Version `v3.0.0`
This breaking release of DitherPunk raises the minimum Julia version requirement from 1.0 to 1.6 ([#82][pr-82]).
- ![Feature][badge-feature] Add default method `FloydSteinberg`, such that `dither` can be called without passing an algorithm ([477c98e][commit-477c98e])
- ![Feature][badge-feature] Add default method for `braille` ([#85][pr-85])
- ![Feature][badge-feature] Add option to invert `braille` output ([#85][pr-85])
- ![Enhancement][badge-enhancement] Lazily load Clustering.jl and UnicodePlots.jl ([#77][pr-77])
- ![Documentation][badge-docs] Updated docs ([#73][pr-73])

Refactored `ErrorDiffusion` algorithms:
- ![BREAKING][badge-breaking] Deprecate keyword `color_space` ([#73][pr-73])
- ![BREAKING][badge-breaking] Remove `colorspace` argument ([#84][pr-84])
- ![BREAKING][badge-breaking] Turn `clamp_error` into a keyword argument ([#86][pr-86])
- ![Enhancement][badge-enhancement] Performance improvements ([#73][pr-73])
- ![Enhancement][badge-enhancement] Drop OffsetArrays.jl dependency ([#73][pr-73])
- ![Enhancement][badge-enhancement] Column-first iteration ([#80][pr-80])
- ![Bugfix][badge-bugfix] Fix bug where kwargs were not accessible in `SimpleErrorDiffusion` ([#73][pr-73])

## Version `v2.4.1`
- ![Bugfix][badge-bugfix] Fix colormap index overflow bug ([#78][pr-78])

## Version `v2.4.0`
- ![Enhancement][badge-enhancement] Downsample image before clustering ([#71][pr-71])

## Version `v2.3.1`
- ![Enhancement][badge-enhancement] Type stability fixes ([#66][pr-66])
- ![Bugfix][badge-bugfix] Fix doc build ([#65][pr-65])

## Version `v2.3.0`
- ![Feature][badge-feature] Color space for error diffusion can now be selected. Defaults to `XYZ`, a change from previous `RGB` color space. Changes outputs and speeds up color error diffusion. ([#63][pr-63])
- ![Enhancement][badge-enhancement] Speed up color ordered dithering. ([#62][pr-62])
Expand Down Expand Up @@ -49,6 +88,24 @@ This release introduces some breaking changes due to an API overhaul and adds ne
[pr-62]: https://github.com/JuliaImages/DitherPunk.jl/pull/62
[pr-63]: https://github.com/JuliaImages/DitherPunk.jl/pull/63
[pr-64]: https://github.com/JuliaImages/DitherPunk.jl/pull/64
[pr-65]: https://github.com/JuliaImages/DitherPunk.jl/pull/65
[pr-66]: https://github.com/JuliaImages/DitherPunk.jl/pull/66
[pr-71]: https://github.com/JuliaImages/DitherPunk.jl/pull/71
[pr-73]: https://github.com/JuliaImages/DitherPunk.jl/pull/73
[pr-77]: https://github.com/JuliaImages/DitherPunk.jl/pull/77
[pr-78]: https://github.com/JuliaImages/DitherPunk.jl/pull/78
[pr-80]: https://github.com/JuliaImages/DitherPunk.jl/pull/80
[pr-82]: https://github.com/JuliaImages/DitherPunk.jl/pull/82
[pr-84]: https://github.com/JuliaImages/DitherPunk.jl/pull/84
[pr-85]: https://github.com/JuliaImages/DitherPunk.jl/pull/85
[pr-86]: https://github.com/JuliaImages/DitherPunk.jl/pull/86
[pr-87]: https://github.com/JuliaImages/DitherPunk.jl/pull/87
[pr-88]: https://github.com/JuliaImages/DitherPunk.jl/pull/88
[pr-90]: https://github.com/JuliaImages/DitherPunk.jl/pull/90
[pr-91]: https://github.com/JuliaImages/DitherPunk.jl/pull/91
[pr-92]: https://github.com/JuliaImages/DitherPunk.jl/pull/92

[commit-477c98e]: https://github.com/JuliaImages/DitherPunk.jl/commit/477c98ed37b81fed7f6292a364b08a6b516bfb07

[badge-breaking]: https://img.shields.io/badge/BREAKING-red.svg
[badge-deprecation]: https://img.shields.io/badge/deprecation-orange.svg
Expand Down
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "DitherPunk"
uuid = "b8f752a5-abd5-43b6-a55b-e75efda20de0"
authors = ["Adrian Hill"]
version = "3.0.2"
version = "3.0.3"

[deps]
Clustering = "aaaa29a8-35af-508c-8bc3-b662a17a0fe5"
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ dither!(img, Bayer()) # with the algorithm of your choice
```

If no color palette is provided, DitherPunk will apply binary dithering to each color channel of the input:

| **Error diffusion** | **Ordered dithering** | **Digital halftoning** |
|:-------------------:|:---------------------:|:----------------------:|
| ![][atkinson-bw] | ![][bayer-bw] | ![][ordered-bw] |
Expand All @@ -44,6 +45,7 @@ using ColorSchemes
cs = ColorSchemes.flag_us
dither(img, cs)
```

| `flag_us` | `PuOr_6` | `websafe` |
|:---------------:|:--------------:|:------------:|
| ![][cs_flag_us] | ![][cs_PuOr_6] | ![][websafe] |
Expand All @@ -53,6 +55,7 @@ DitherPunk also lets you generate optimized color palettes for each input image:
ncolors = 8
dither(img, ncolors)
```

| 2 colors | 8 colors | 32 colors |
|:-----------------:|:-----------------:|:------------------:|
| ![][clustering_2] | ![][clustering_8] | ![][clustering_32] |
Expand Down

2 comments on commit 1b85aed

@adrhill
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registration pull request created: JuliaRegistries/General/67098

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v3.0.3 -m "<description of version>" 1b85aed39d7cbcbeea00b765266a0a7fcb05e791
git push origin v3.0.3

Please sign in to comment.