def test_slicing_2D_multiple(self): im = np.empty((9, 9)) radius = 2 sli, origin = slice_image([[4, 4], [4, 4]], im, radius) assert_equal(sli.shape, (5, 5)) assert_equal(origin, (2, 2)) sli, origin = slice_image([[4, 2], [4, 6]], im, radius) assert_equal(sli.shape, (5, 9)) assert_equal(origin, (2, 0)) sli, origin = slice_image([[2, 4], [6, 4]], im, radius) assert_equal(sli.shape, (9, 5)) assert_equal(origin, (0, 2)) sli, origin = slice_image([[2, 4], [6, 4], [-10, 20]], im, radius) assert_equal(sli.shape, (9, 5)) assert_equal(origin, (0, 2))
def test_slicing_3D(self): im = np.empty((9, 9, 9)) # center for radius in range(1, 5): sli, origin = slice_image([4, 4, 4], im, radius) assert_equal(sli.shape, (radius * 2 + 1, ) * 3) assert_equal(origin, (4 - radius, ) * 3) # face for radius in range(1, 5): sli, origin = slice_image([0, 4, 4], im, radius) assert_equal(sli.shape, (radius + 1, radius * 2 + 1, radius * 2 + 1)) # edge for radius in range(1, 5): sli, origin = slice_image([4, 0, 0], im, radius) assert_equal(sli.shape, (radius * 2 + 1, radius + 1, radius + 1)) # corner for radius in range(1, 5): sli, origin = slice_image([0, 0, 0], im, radius) assert_equal(sli.shape, (radius + 1, radius + 1, radius + 1)) # outside of image for radius in range(2, 5): sli, origin = slice_image([-1, 4, 4], im, radius) assert_equal(sli.shape, (radius, radius * 2 + 1, radius * 2 + 1)) # outside of image for radius in range(2, 5): sli, origin = slice_image([-1, -1, 4], im, radius) assert_equal(sli.shape, (radius, radius, radius * 2 + 1)) # no slice for radius in range(2, 5): sli, origin = slice_image([-10, 20, 30], im, radius) assert_equal(sli.shape, (0, 0, 0))
def test_slicing_3D(self): im = np.empty((9, 9, 9)) # center for radius in range(1, 5): sli, origin = slice_image([4, 4, 4], im, radius) assert_equal(sli.shape, (radius * 2 + 1,) * 3) assert_equal(origin, (4 - radius,) * 3) # face for radius in range(1, 5): sli, origin = slice_image([0, 4, 4], im, radius) assert_equal(sli.shape, (radius + 1, radius * 2 + 1, radius * 2 + 1)) # edge for radius in range(1, 5): sli, origin = slice_image([4, 0, 0], im, radius) assert_equal(sli.shape, (radius * 2 + 1, radius + 1, radius + 1)) # corner for radius in range(1, 5): sli, origin = slice_image([0, 0, 0], im, radius) assert_equal(sli.shape, (radius + 1, radius + 1, radius + 1)) # outside of image for radius in range(2, 5): sli, origin = slice_image([-1, 4, 4], im, radius) assert_equal(sli.shape, (radius, radius * 2 + 1, radius * 2 + 1)) # outside of image for radius in range(2, 5): sli, origin = slice_image([-1, -1, 4], im, radius) assert_equal(sli.shape, (radius, radius, radius * 2 + 1)) # no slice for radius in range(2, 5): sli, origin = slice_image([-10, 20, 30], im, radius) assert_equal(sli.shape, (0, 0, 0))