def test_stackio_image_iterator(): fname = data.CZT_peaks() st = StackIO(fname, json_discovery=False) arr = st.get_tif().asarray(memmap=True) iterator = st.image_iterator(channel_index=0, memmap=True) for a in iterator(): assert a.shape == arr.shape[-2:] # Test with channels index fname = data.CZT_peaks() st = StackIO(fname, json_discovery=False) assert_raises(TypeError, st.image_iterator, hannel_index='GFP', memmap=True) st.metadata['Channels'] = ['GFP'] it = st.image_iterator(channel_index='GFP', memmap=False, z_projection=True) assert list(it())[0].shape == arr.shape[-2:]
def test_cell_boundaries_detector(): # Fake to only detect the first time stamp # to make tests faster st = StackIO(data.TC_BF_cells()) data_iterator = [list(st.image_iterator(position=-3)())[0]] metadata = st.metadata metadata['SizeT'] = 1 parameters = {'object_height': 3, 'minimal_area': 160} shapes = cell_boundaries_detector(data_iterator, st.metadata, show_progress=True, parameters=parameters) real_shapes = np.array([[ 5.529290429042903909e+00, 7.725527184297377836e+00, -1.109566958016608318e+00, 1.057975329135689790e+01, 7.965464600887037783e+00, 0.000000000000000000e+00 ]]) assert_array_almost_equal(shapes, real_shapes)
def test_peak_detector_no_peaks(): fname = data.CZT_peaks() st = StackIO(fname, json_discovery=False) data_iterator = st.image_iterator(channel_index=0) parameters = {'w_s': 0.7, 'peak_radius': 0.2, 'threshold': 300, 'max_peaks': 4} peaks = peak_detector(data_iterator(), st.metadata, parallel=True, show_progress=False, parameters=parameters) assert peaks.empty is True
def test_cell_boundaries_detector_no_shapes(): # Fake to only detect the first time stamp # to make tests faster st = StackIO(data.CZT_peaks()) data_iterator = [list(st.image_iterator(position=-3, channel_index=0)())[0]] metadata = st.metadata metadata['SizeT'] = 1 parameters = {'object_height': 1e-6, 'minimal_area': 160} shapes = cell_boundaries_detector(data_iterator, metadata, show_progress=True, parameters=parameters) assert shapes.empty is True
def test_cell_boundaries_detector_no_shapes(): # Fake to only detect the first time stamp # to make tests faster st = StackIO(data.CZT_peaks()) data_iterator = [ list(st.image_iterator(position=-3, channel_index=0)())[0] ] metadata = st.metadata metadata['SizeT'] = 1 parameters = {'object_height': 1e-6, 'minimal_area': 160} shapes = cell_boundaries_detector(data_iterator, metadata, show_progress=True, parameters=parameters) assert shapes.empty is True
def test_cell_boundaries_detector(): # Fake to only detect the first time stamp # to make tests faster st = StackIO(data.TC_BF_cells()) data_iterator = [list(st.image_iterator(position=-3)())[0]] metadata = st.metadata metadata['SizeT'] = 1 parameters = {'object_height': 3, 'minimal_area': 160} shapes = cell_boundaries_detector(data_iterator, st.metadata, show_progress=True, parameters=parameters) real_shapes = np.array([[5.529290429042903909e+00, 7.725527184297377836e+00, -1.109566958016608318e+00, 1.057975329135689790e+01, 7.965464600887037783e+00, 0.000000000000000000e+00]]) assert_array_almost_equal(shapes, real_shapes)