--- a
+++ b/tests/util/test_images.py
@@ -0,0 +1,36 @@
+from pathaia.util.images import get_coords_from_mask, regular_grid
+import numpy as np
+
+
+def test_regular_grid():
+    shape = (8, 12)
+    interval = 0
+    psize = 4
+    expected = [(0, 0), (0, 4), (0, 8), (4, 0), (4, 4), (4, 8)]
+    assert expected == sorted(list(regular_grid(shape, interval, psize)))
+
+    interval = -1
+    expected = [(0, 0), (0, 3), (0, 6), (3, 0), (3, 3), (3, 6)]
+    assert expected == sorted(list(regular_grid(shape, interval, psize)))
+
+    interval = 1
+    expected = [(0, 0), (0, 5)]
+    assert expected == sorted(list(regular_grid(shape, interval, psize)))
+
+
+def test_get_coords_from_mask():
+    shape = (8, 12)
+    interval = 0
+    psize = 4
+    mask = np.zeros((3, 2), dtype=bool)
+    expected = []
+    assert expected == sorted(list(get_coords_from_mask(mask, shape, interval, psize)))
+
+    mask[1, 1] = True
+    expected = [(4, 4)]
+    assert expected == sorted(list(get_coords_from_mask(mask, shape, interval, psize)))
+
+    mask = np.ones((3, 2), dtype=bool)
+    assert sorted(list(regular_grid(shape, interval, psize))) == sorted(
+        list(get_coords_from_mask(mask, shape, interval, psize))
+    )