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))
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))