Beispiel #1
0
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)