def to_directory(self, directory):
     if not os.path.isdir(directory):
         os.mkdir(directory)
     xdim, ydim, zdim = self.shape
     num_digits = Image3D._num_digits(zdim-1)
     for z in range(zdim):
         num = str(z).zfill(num_digits)
         fname = "z{}.png".format(num)
         fpath = os.path.join(directory, fname)
         with open(fpath, "wb") as fh:
             im = Image.from_array(unique_color_array(self[:, :, z]))
             fh.write(im.png())
    def test_unique_colour_image(self):

        from jicbioimage.segment import SegmentedImage
        input_array = np.array([[0, 0, 0],
                                [1, 1, 1],
                                [2, 2, 2]])
        segmented_image = SegmentedImage.from_array(input_array)
        unique_color_image = segmented_image.unique_color_image

        from jicbioimage.core.util.array import unique_color_array

        self.assertTrue(np.array_equal(unique_color_image,
                                       unique_color_array(input_array)))
    def test_unique_color_array(self):

        from jicbioimage.core.util.array import unique_color_array

        input_array = np.array([[0, 0, 0],
                                [1, 1, 1],
                                [16777215, 16777215, 16777215]])

        c1 = [0, 0, 0]
        c2 = [0, 0, 1]
        c3 = [255, 255, 255]

        expected_output = np.array([[c1, c1, c1],
                                    [c2, c2, c2],
                                    [c3, c3, c3]], dtype=np.uint8)

        actual_output = unique_color_array(input_array)

        self.assertTrue(np.array_equal(actual_output, expected_output))
예제 #4
0
    def unique_color_image(self):
        """Return segmentation as a unique color image.

        :returns: `jicbioimage.core.image.Image`
        """
        return Image.from_array(unique_color_array(self))