![example picture for noise_detail()](/images/reference/Sketch_noise_detail_0.png)
```python
import numpy as np
def setup():
py5.noise_seed(42)
draw_noise_line(1, 0.25 * py5.height)
draw_noise_line(2, 0.50 * py5.height)
draw_noise_line(4, 0.75 * py5.height)
def draw_noise_line(octaves, y):
py5.noise_detail(octaves)
# use the noise method in a loop for clarity
for i in range(py5.width):
py5.point(i, y + 25 * py5.noise(i / 20))
# use the noise method with numpy arrays for efficiency
# xvals = np.arange(0, py5.width)
# yvals = y + 25 * py5.noise(xvals / 20)
# py5.points(np.stack([xvals, yvals]).T)
```
![example picture for noise_detail()](/images/reference/Sketch_noise_detail_1.png)
```python
import numpy as np
def setup():
py5.noise_seed(42)
py5.noise_detail(4, 0.5)
x, y = np.meshgrid(np.linspace(0, 5, py5.width), np.linspace(0, 5, py5.height))
new_pixels = py5.remap(py5.noise(x, y), 0, 1, 0, 255).astype(np.uint8)
py5.set_np_pixels(new_pixels, bands='L')
```