def test_transpose_xy():
    test1 = cle.push(np.asarray([[[0, 1], [2, 3]], [[4, 5], [6, 7]]]))

    reference = cle.push(np.asarray([[[0, 1], [4, 5]], [[2, 3], [6, 7]]]))

    result = cle.create(test1)
    cle.transpose_xy(test1, result)

    a = cle.pull(result)
    b = cle.pull(reference)

    print(a)

    assert (np.array_equal(a, b))
def test_transpose_xy_3d_generate_output():
    test1 = cle.push(np.asarray([[[1, 2, 6], [3, 4, 5]]]))

    result = cle.transpose_xy(test1)

    a = cle.pull(result)

    assert (np.min(a) == 1)
    assert (np.max(a) == 6)
    assert (np.mean(a) == 3.5)
    def _push_and_format(self, picture):
        """
        Pushs a given camera picture to GPU memory and brings it in the right shape/dimension

        Parameters
        ----------
        picture : numpy array
            camera picture

        Returns
        -------
        cle.Image

        """
        result = cle.flip(cle.transpose_xy(cle.transpose_xz(
            cle.push(picture))),
                          flip_x=True,
                          flip_y=False,
                          flip_z=False)
        return result
示例#4
0
def test_statistics_of_background_and_labelled_pixels_gpu_compare_to_clij2():
    from skimage.io import imread

    blobs = cle.push(imread('data/mini_blobs.tif'))
    labels = cle.push(
        imread('data/mini_blobs_otsu_labels_excluded_edges_imagej.tif'))

    regionprops = cle.statistics_of_background_and_labelled_pixels(
        blobs, labels)
    table = cle.pull(cle.transpose_xy(cle.push_regionprops(regionprops)))

    print(table)

    import numpy as np
    # np.savetxt('../data/mini_blobs_measurements_pyclesperanto.csv', table,delimiter=',')
    clij_reference_table = np.loadtxt('data/mini_blobs_measurements_clij.csv',
                                      delimiter=',',
                                      skiprows=1)
    # chop off first column as ImageJ saved an additional counter column
    clij_reference_table = clij_reference_table[:, 1:]

    print(clij_reference_table)

    columns_to_test = [
        cle.STATISTICS_ENTRY.IDENTIFIER.value,
        cle.STATISTICS_ENTRY.BOUNDING_BOX_X.value,
        cle.STATISTICS_ENTRY.BOUNDING_BOX_Y.value,
        cle.STATISTICS_ENTRY.BOUNDING_BOX_Z.value,
        cle.STATISTICS_ENTRY.BOUNDING_BOX_END_X.value,
        cle.STATISTICS_ENTRY.BOUNDING_BOX_END_Y.value,
        cle.STATISTICS_ENTRY.BOUNDING_BOX_END_Z.value,
        cle.STATISTICS_ENTRY.BOUNDING_BOX_WIDTH.value,
        cle.STATISTICS_ENTRY.BOUNDING_BOX_HEIGHT.value,
        cle.STATISTICS_ENTRY.BOUNDING_BOX_DEPTH.value,
        cle.STATISTICS_ENTRY.MINIMUM_INTENSITY.value,
        cle.STATISTICS_ENTRY.MAXIMUM_INTENSITY.value,
        cle.STATISTICS_ENTRY.MEAN_INTENSITY.value,
        cle.STATISTICS_ENTRY.SUM_INTENSITY.value,
        cle.STATISTICS_ENTRY.STANDARD_DEVIATION_INTENSITY.value,
        cle.STATISTICS_ENTRY.PIXEL_COUNT.value,
        cle.STATISTICS_ENTRY.MASS_CENTER_X.value,
        cle.STATISTICS_ENTRY.MASS_CENTER_Y.value,
        cle.STATISTICS_ENTRY.MASS_CENTER_Z.value,
        cle.STATISTICS_ENTRY.CENTROID_X.value,
        cle.STATISTICS_ENTRY.CENTROID_Y.value,
        cle.STATISTICS_ENTRY.CENTROID_Z.value,
        cle.STATISTICS_ENTRY.SUM_DISTANCE_TO_CENTROID.value,
        cle.STATISTICS_ENTRY.MEAN_DISTANCE_TO_CENTROID.value,
        cle.STATISTICS_ENTRY.MAX_DISTANCE_TO_CENTROID.value,
        cle.STATISTICS_ENTRY.MAX_MEAN_DISTANCE_TO_CENTROID_RATIO.value,
        cle.STATISTICS_ENTRY.SUM_INTENSITY_TIMES_X.value,
        cle.STATISTICS_ENTRY.SUM_INTENSITY_TIMES_Y.value,
        cle.STATISTICS_ENTRY.SUM_INTENSITY_TIMES_Z.value,
        cle.STATISTICS_ENTRY.SUM_X.value,
        cle.STATISTICS_ENTRY.SUM_Y.value,
        cle.STATISTICS_ENTRY.SUM_Z.value,
        cle.STATISTICS_ENTRY.SUM_DISTANCE_TO_MASS_CENTER.value,
        cle.STATISTICS_ENTRY.MEAN_DISTANCE_TO_MASS_CENTER.value,
        cle.STATISTICS_ENTRY.MAX_DISTANCE_TO_MASS_CENTER.value,
        cle.STATISTICS_ENTRY.MAX_MEAN_DISTANCE_TO_MASS_CENTER_RATIO.value,
    ]

    for column_index in columns_to_test:
        reference_values = clij_reference_table[:, column_index]
        values = table[:, column_index]
        print("testing STATISTICS_ENTRY" +
              str(cle.STATISTICS_ENTRY(column_index)))
        print(reference_values)
        print(values)
        assert np.allclose(reference_values, values, 0.001)