jasonwebb / morphogenesis-resources

Resources on the topic of digital morphogenesis (creating form with code). Includes links to major articles, code repos, creative projects, books, software, and more.
2.03k stars 114 forks source link

Threshold could be mentioned in the prose, but it isn't dithering. #24

Closed travisfw closed 4 years ago

travisfw commented 4 years ago

Dithering is a pretty deep subject, and due to the discrete nature of computing, we'll probably never be rid of it. The change in prose began with just correcting that dithering is for gradients, or approximating any color that isn't in the palette. I also added that modern imaging technology hasn't entirely outgrown the utility of dithering. Also, applying a threshold filter to an image would not yield any dithering. In fact, it would expose the problem that dithering is intended to ameliorate: banding. This is where a large jump in contrast happens along a line (the threshold) that shouldn't really be seen in the final image. So threshold is not a dithering technique, though it is relevant to the topic.

jasonwebb commented 4 years ago

Interesting! In the Wikipedia article for Dither it seems to say that thresholding / average is a type of dithering, or maybe there is an important distinct between "type" and "algorithm" here. Should the Types of dithering heading be changed to Dithering algorithms or similar?

travisfw commented 4 years ago

Well that's interesting. The reference in wikipedia points to research done in Brazil in 2000 that, as far as I can tell, does not itself call "threshold" a dithering method. They do use the term Average Dithering, but it only results in dithering to the degree that the image is noisy. To introduce noise, they applied a texture to the image before applying the threshold, and the effect was dithering at the granularity of the texture. In my experience, the term "threshold" does not imply applying a texture. But I learned something new, and I'm no authority on dithering. I'm still going to say that "threshold" is not dithering; it's what you get when you don't dither. Instead, you could call it "average dithering" or AWP Dithering I don't think the distinction between "type" and "algorithm" is useful.

jasonwebb commented 4 years ago

Heh, weird! When I was reading the Wikipedia I was kind of wondering the thresholding example was there more for a visual comparison to the different dithering techniques, and maybe it somehow got misinterpreted over time or something. Either way, I think you know much more than I do, so I trust your edits!