<p>The missing link between sample locations and the greyscale noise texture is "ordered dithering".</p>

<p>Ordered dithering is a list of pixel locations with a "rank" (order) for each pixel. If you have a white background and want to add two black dots, you add them at the locations for the two pixels rank 0 and rank 1.</p>

<p>Choosing how to rank the order of the pixels to turn on can vary dramatically with different results though. For instance, a bayer matrix is a specific ordering of the points, and blue noise sample points are as well. White noise is just shuffling the points so that they have a random ordering.</p>

<p>How we get from this "ordered dithering" (stippling) to the greyscale color noise images is that we divide each point's rank by the number of points to get a value from 0 to 1, and use that as the points greyscale color.</p>

<p>That gives you the greyscale noise textures.</p>

<p>The greyscale blue noise texture was created with the "void and cluster" algorithm which makes it so that each new dot placed goes in the middle of the largest void.  This has the nice property that you can threshold the blue noise texture at any value, and the result will be blue noise samples of the desired density.</p>

<p>This paper is a great read that talks about these things more deeply:
<a href="http://cv.ulichney.com/papers/1993-void-cluster.pdf" rel="nofollow noreferrer">http://cv.ulichney.com/papers/1993-void-cluster.pdf</a></p>

CC BY-SA 3.0
2017-10-14T00:25:21.527Z
2017-10-14T00:25:21.527Z
Alan Wolfe
<p>You can have blue noise sampling like these poisson disc samples:
<a href="https://i.sstatic.net/DrzFt.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/DrzFt.png" alt="enter image description here"></a></p>

<p>And you can have a blue noise texture like this:
<a href="https://i.sstatic.net/CgvI3.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/CgvI3.png" alt="enter image description here"></a></p>

<p>I get that in the first image, there is one input (the index of the sample) and two outputs (the x,y coordinate of the point) and that the second image is basically the reverse where there are two inputs (the x,y coordinate of the sample) and one output (the value of the point).</p>

<p>I'm curious though, how are these related?</p>

<p>If you take the DFT of the second image, you can see that it has more high frequency components than low, but I'm not sure how you'd take the DFT of the first set of data points.</p>

<p>I'm wondering if it's possible to take other low discrepancy sequences (say, halton, or jittered grid) and make a texture out of the idea, like the second image?</p>

CC BY-SA 3.0
2017-06-01T15:38:16.353Z
Isn't a second texture a more dense sampling with additive blending of samples?
mdkdy
CC BY-SA 3.0
2017-06-01T17:16:23.317Z
No, but there is a similar way to generate blue noise textures to what you describe.  Basically you place a point and then low pass filter (blur), then put a point in the lowest valued pixel and blur again. Rinse and repeat. That's how I've heard it described but I think there must be more to it, to keep the points sharp where you placed them.
Alan Wolfe
CC BY-SA 3.0
2017-06-09T20:34:20.627Z
Yeah that's where I got the image.  It doesn't give the information I'm looking for.  For instance, if you DFT the first data set, the frequency spectrum should look much like the DFT of the second, but how would you even DFT the first one?  How are these two things "duals" of each other in frequency space?  And can you take concepts from each and apply them to the other?
Alan Wolfe
<sampling>
Link between blue noise sampling and blue noise textures?
Alan Wolfe
# Link between blue noise sampling and blue noise textures?

(Asked by: username_0 on 2017-06-01)

You can have blue noise sampling like these poisson disc samples:
[![enter image description here](https://i.sstatic.net/DrzFt.png)](https://i.sstatic.net/DrzFt.png)

And you can have a blue noise texture like this:
[![enter image description here](https://i.sstatic.net/CgvI3.png)](https://i.sstatic.net/CgvI3.png)

I get that in the first image, there is one input (the index of the sample) and two outputs (the x,y coordinate of the point) and that the second image is basically the reverse where there are two inputs (the x,y coordinate of the sample) and one output (the value of the point).

I'm curious though, how are these related?

If you take the DFT of the second image, you can see that it has more high frequency components than low, but I'm not sure how you'd take the DFT of the first set of data points.

I'm wondering if it's possible to take other low discrepancy sequences (say, halton, or jittered grid) and make a texture out of the idea, like the second image?

**Tags:** sampling

> **Comments:**
> **username_1**: Isn't a second texture a more dense sampling with additive blending of samples?  
> **username_0**: No, but there is a similar way to generate blue noise textures to what you describe.  Basically you place a point and then low pass filter (blur), then put a point in the lowest valued pixel and blur again. Rinse and repeat. That's how I've heard it described but I think there must be more to it, to keep the points sharp where you placed them.  
> **username_0**: Yeah that's where I got the image.  It doesn't give the information I'm looking for.  For instance, if you DFT the first data set, the frequency spectrum should look much like the DFT of the second, but how would you even DFT the first one?  How are these two things "duals" of each other in frequency space?  And can you take concepts from each and apply them to the other?  

---

## 1 answers

### Answer by username_0 on 2017-10-14. Score: 4 | Accepted answer

The missing link between sample locations and the greyscale noise texture is "ordered dithering".

Ordered dithering is a list of pixel locations with a "rank" (order) for each pixel. If you have a white background and want to add two black dots, you add them at the locations for the two pixels rank 0 and rank 1.

Choosing how to rank the order of the pixels to turn on can vary dramatically with different results though. For instance, a bayer matrix is a specific ordering of the points, and blue noise sample points are as well. White noise is just shuffling the points so that they have a random ordering.

How we get from this "ordered dithering" (stippling) to the greyscale color noise images is that we divide each point's rank by the number of points to get a value from 0 to 1, and use that as the points greyscale color.

That gives you the greyscale noise textures.

The greyscale blue noise texture was created with the "void and cluster" algorithm which makes it so that each new dot placed goes in the middle of the largest void. This has the nice property that you can threshold the blue noise texture at any value, and the result will be blue noise samples of the desired density.

This paper is a great read that talks about these things more deeply:
<http://cv.ulichney.com/papers/1993-void-cluster.pdf>


---

