Skip to content

Commit 359b3e3

Browse files
Update measurement test
1 parent 03ec955 commit 359b3e3

File tree

2 files changed

+32
-8
lines changed

2 files changed

+32
-8
lines changed

flamingo_tools/test_data.py

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,40 @@
22
from typing import Tuple
33

44
import imageio.v3 as imageio
5-
from skimage.data import binary_blobs
5+
import requests
6+
from skimage.data import binary_blobs, cells3d
67
from skimage.measure import label
78

89
from .segmentation.postprocessing import _compute_table
910

11+
SEGMENTATION_URL = "https://owncloud.gwdg.de/index.php/s/kwoGRYiJRRrswgw/download"
1012

11-
def create_image_data_and_segmentation(
12-
folder: str, size: int = 256
13-
) -> Tuple[str, str, str]:
13+
14+
def get_test_volume_and_segmentation(folder: str) -> Tuple[str, str, str]:
15+
os.makedirs(folder, exist_ok=True)
16+
17+
segmentation_path = os.path.join(folder, "segmentation.tif")
18+
resp = requests.get(SEGMENTATION_URL)
19+
resp.raise_for_status()
20+
21+
with open(segmentation_path, "wb") as f:
22+
f.write(resp.content)
23+
24+
nuclei = cells3d()[20:40, 1]
25+
segmentation = imageio.imread(segmentation_path)
26+
assert nuclei.shape == segmentation.shape
27+
28+
image_path = os.path.join(folder, "image.tif")
29+
imageio.imwrite(image_path, nuclei)
30+
31+
table_path = os.path.join(folder, "default.tsv")
32+
table = _compute_table(segmentation, resolution=0.38)
33+
table.to_csv(table_path, sep="\t", index=False)
34+
35+
return image_path, segmentation_path, table_path
36+
37+
38+
def create_image_data_and_segmentation(folder: str, size: int = 256) -> Tuple[str, str, str]:
1439
"""Create test data containing an image, a corresponding segmentation and segmentation table.
1540
1641
Args:

test/test_measurements.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,13 @@
66
import pandas as pd
77

88

9-
class TestDataConversion(unittest.TestCase):
9+
class TestMeasurements(unittest.TestCase):
1010
folder = "./tmp"
1111

1212
def setUp(self):
13-
from flamingo_tools.test_data import create_image_data_and_segmentation
13+
from flamingo_tools.test_data import get_test_volume_and_segmentation
1414

15-
self.image_path, self.seg_path, self.table_path =\
16-
create_image_data_and_segmentation(self.folder)
15+
self.image_path, self.seg_path, self.table_path = get_test_volume_and_segmentation(self.folder)
1716

1817
def tearDown(self):
1918
try:

0 commit comments

Comments
 (0)