def test_scaling_of_written_files(self):
        from jicbioimage.core.image import Image3D, Image
        directory = os.path.join(TMP_DIR, "im3d")

        z0 = np.zeros((50, 50), dtype=np.uint8)
        z1 = np.ones((50, 50), dtype=np.uint8)

        stack = np.dstack([z0, z1])
        im3d = Image3D.from_array(stack)
        im3d.to_directory(directory)

        im0 = Image.from_file(os.path.join(directory, "z0.png"))
        im1 = Image.from_file(os.path.join(directory, "z1.png"))

        self.assertTrue(np.array_equal(z0, im0))
        self.assertTrue(np.array_equal(z1 * 255, im1))

        z2 = np.ones((50, 50), dtype=np.uint8) * 255

        stack = np.dstack([z0, z1, z2])
        im3d = Image3D.from_array(stack)
        im3d.to_directory(directory)

        im0 = Image.from_file(os.path.join(directory, "z0.png"))
        im1 = Image.from_file(os.path.join(directory, "z1.png"))
        im2 = Image.from_file(os.path.join(directory, "z2.png"))

        self.assertTrue(np.array_equal(z0, im0))
        self.assertTrue(np.array_equal(z1, im1))
        self.assertTrue(np.array_equal(z2 * 255, im1))
    def test_scaling_of_written_files(self):
        from jicbioimage.core.image import Image3D, Image
        directory = os.path.join(TMP_DIR, "im3d")

        z0 = np.zeros((50,50), dtype=np.uint8)
        z1 = np.ones((50, 50), dtype=np.uint8)

        stack = np.dstack([z0, z1])
        im3d = Image3D.from_array(stack)
        im3d.to_directory(directory)

        im0 = Image.from_file(os.path.join(directory, "z0.png"))
        im1 = Image.from_file(os.path.join(directory, "z1.png"))

        self.assertTrue(np.array_equal(z0, im0))
        self.assertTrue(np.array_equal(z1*255, im1))

        z2 = np.ones((50, 50), dtype=np.uint8) * 255

        stack = np.dstack([z0, z1, z2])
        im3d = Image3D.from_array(stack)
        im3d.to_directory(directory)

        im0 = Image.from_file(os.path.join(directory, "z0.png"))
        im1 = Image.from_file(os.path.join(directory, "z1.png"))
        im2 = Image.from_file(os.path.join(directory, "z2.png"))

        self.assertTrue(np.array_equal(z0, im0))
        self.assertTrue(np.array_equal(z1, im1))
        self.assertTrue(np.array_equal(z2*255, im1))
 def test_from_array(self):
     from jicbioimage.core.image import Image3D
     ar = np.zeros((50,50,50), dtype=np.uint8)
     im = Image3D.from_array(ar)
     self.assertTrue(isinstance(im, Image3D))
     self.assertEqual(len(im.history), 0)
     self.assertEqual(im.history.creation, 'Created Image3D from array')
 def test_from_array_with_name(self):
     from jicbioimage.core.image import Image3D
     ar = np.zeros((50, 50, 50), dtype=np.uint8)
     im = Image3D.from_array(ar, name='Test1')
     self.assertEqual(len(im.history), 0)
     self.assertEqual(im.history.creation,
                      'Created Image3D from array as Test1')
 def test_from_array(self):
     from jicbioimage.core.image import Image3D
     ar = np.zeros((50, 50, 50), dtype=np.uint8)
     im = Image3D.from_array(ar)
     self.assertTrue(isinstance(im, Image3D))
     self.assertEqual(len(im.history), 0)
     self.assertEqual(im.history.creation, 'Created Image3D from array')
def discrete_gaussian_filter(im3d, variance):
    itk_im = sitk.GetImageFromArray(im3d)
    gaussian_filter = sitk.DiscreteGaussianImageFilter()
    gaussian_filter.SetVariance(variance)
    itk_im = gaussian_filter.Execute(itk_im)
    return Image3D.from_array(sitk.GetArrayFromImage(itk_im),
                              log_in_history=False)
 def add_height(image):
     stack = np.dstack([image, image, image])
     return Image3D.from_array(stack)
 def test_from_array_no_history(self):
     from jicbioimage.core.image import Image3D
     ar = np.zeros((50,50,50), dtype=np.uint8)
     im = Image3D.from_array(ar, log_in_history=False)
     self.assertEqual(len(im.history), 0)
 def test_from_array_with_name(self):
     from jicbioimage.core.image import Image3D
     ar = np.zeros((50,50,50), dtype=np.uint8)
     im = Image3D.from_array(ar, name='Test1')
     self.assertEqual(len(im.history), 0)
     self.assertEqual(im.history.creation, 'Created Image3D from array as Test1')
 def test_from_array_no_history(self):
     from jicbioimage.core.image import Image3D
     ar = np.zeros((50, 50, 50), dtype=np.uint8)
     im = Image3D.from_array(ar, log_in_history=False)
     self.assertEqual(len(im.history), 0)
def gradient_magnitude(im3d):
    itk_im = sitk.GetImageFromArray(im3d)
    itk_im = sitk.GradientMagnitude(itk_im)
    return Image3D.from_array(sitk.GetArrayFromImage(itk_im),
                              log_in_history=False)
def filter_median(im3d):
    itk_im = sitk.GetImageFromArray(im3d)
    median_filter = sitk.MedianImageFilter()
    itk_im = median_filter.Execute(itk_im)
    return Image3D.from_array(sitk.GetArrayFromImage(itk_im),
                              log_in_history=False)