diff --git a/src/segment/seg.py b/src/segment/seg.py index 74e09ddab6804f4248c5ff6ee807f8b59312545a..da478122eebcf41e008c01eca8e11334462e772f 100644 --- a/src/segment/seg.py +++ b/src/segment/seg.py @@ -20,7 +20,7 @@ def crop_center(array): def segment_bf(well, thr=0.2, smooth=10, erode=10, fill=True, plot=False): ''' Serments input 2d array using thresholded gradient with filling - Returns SegmentedImage object + Returns labels ''' grad = multiwell.get_2d_gradient(well) sm = multiwell.gaussian_filter(grad, smooth) diff --git a/src/tests/test_segment.py b/src/tests/test_segment.py index eeaf0c233867c147f6c82b4bc0a2ea1de9225f38..46abeba68074adf6d37054e4f43e6e52b886a752 100644 --- a/src/tests/test_segment.py +++ b/src/tests/test_segment.py @@ -6,21 +6,22 @@ from skimage.transform import rotate from segment import seg import logging +from droplet_growth.mic import regionprops logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) -# def test_segment(): -# image = np.zeros((600, 600)) -# cx, cy, b, a = 300, 350, 50, 100 -# rr, cc = ellipse(cx, cy, b, a) -# image[rr, cc] = 1.0 +def test_segment(): + image = np.zeros((600, 600)) + cx, cy, b, a = 300, 350, 50, 100 + rr, cc = ellipse(cx, cy, b, a) + image[rr, cc] = 1.0 -# mask = seg.find_spheroid(image, plot=0) -# props = seg.get_props(mask) -# logger.debug(f"len(props) {len(props)}") -# np.testing.assert_almost_equal( -# props[0]["eccentricity"], (1 - b ** 2 / a ** 2) ** 0.5, 0.02 -# ) + mask = seg.segment_bf(image, plot=0) + props = regionprops(mask) + logger.debug(f"len(props) {len(props)}") + np.testing.assert_almost_equal( + props[0]["eccentricity"], (1 - b ** 2 / a ** 2) ** 0.5, 0.02 + )