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)