3 ms·
Regarding the lack of info on "clustered dot" matrices, it may just be a keyword issue. This pattern is traditionally called "halftone" and comes from the limi
by doublerebel 6y ago
Regarding the lack of info on "clustered dot" matrices, it may just be a keyword issue. This pattern is traditionally called "halftone" and comes from the limitations of print design.
I've done some graphics programming but never specifically for halftone patterns, a quick search turns up this SO post with some examples:
https://stackoverflow.com/questions/1258047/algorithm-to-make-halftone-images https://stackoverflow.com/questions/1258047/algorithm-to-mak...
Thanks for the cool article! Coming from print and early graphics, I know dithering is all around us even if we don't notice it.
- makeworld 6y agoMy understanding is that while "halftone" is an older term now, there was an in-between period where it meant any kind of dithering. Indeed, even on the page you linked you see people talking about Floyd-Steinberg and other kinds of dithering. Thanks for the link, although the best I could find was this[1] old Java file that's completely uncommented. I was hoping for some textual documentation. 1: https://github.com/gabrielarchanjo/marvin-framework/blob/f5008c70859198b80bb430f97aa1db9c66c9548e/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/halftone/circles/Circles.java https://github.com/gabrielarchanjo/marvin-framework/blob/f50...
- Terretta 6y agoThe StackOverflow answer above is referenced by various Python halftoning projects, which have documented or at least commented halftone code you may be interested in: https://github.com/ClayFlannigan/halftone https://github.com/ClayFlannigan/halftone https://github.com/philgyford/python-halftone https://github.com/philgyford/python-halftone I think grandparent post is right, that you’re looking for the terms like halftone, halftoning, digital halftoning, binary halftoning, and the like. These are the terms that show up in papers: https://www.sciencedirect.com/science/article/abs/pii/S1047320312001447 https://www.sciencedirect.com/science/article/abs/pii/S10473... Text discussion at Wikipedia: https://en.wikipedia.org/wiki/Halftone https://en.wikipedia.org/wiki/Halftone Having worked in early digital press, I recall the term of art for a higher quality technique that came after “halftone screening” or “digital halftone” was “stochastic screening”: https://en.wikipedia.org/wiki/Stochastic_screening https://en.wikipedia.org/wiki/Stochastic_screening This prevented the tell-tale circle effect (moiré or rosette patterns) of traditional screening. We used it to print high quality magazine photography. It also worked on Mac Plus for rendering photography as a better dither for black and white dots of irregular or non-geometric photography — which brings us full circle to dithering. Using terms from Photoshop of the day, Pattern Dither uses a uniform pattern to represent levels of gray. Diffusion Dither uses a random pattern to represent levels of gray. Halftone Screen uses preset patterns (round, diamond, ellipse, line, square or cross) at frequencies and angles that can be varied as well. That brought another term to mind, “stippling”: https://github.com/joeedh/BlueNoiseStippling https://github.com/joeedh/BlueNoiseStippling Some more terms show up in this discussion on difference between halftoning and dithering: https://photo.stackexchange.com/questions/5779/what-is-the-difference-between-halftoning-and-dithering https://photo.stackexchange.com/questions/5779/what-is-the-d... --- ADDED: See also (PDF links may take a very long time to load): Grayscale Digital Halftoning using Optimization Techniques: http://ethesis.nitrkl.ac.in/7814/1/2015_Grayscale_Lalitha.pdf http://ethesis.nitrkl.ac.in/7814/1/2015_Grayscale_Lalitha.pd... Evaluation Tool for Halftoning Algorithms: https://www.idc.ac.il/en/schools/cs/research/documents/evaluation%20tool%20for%20halftoning%20algorithms%202015.pdf https://www.idc.ac.il/en/schools/cs/research/documents/evalu...