def test_is_image(): # tests for tests for image img = load_image(anatfile) yield assert_true(is_image(img)) class C(object): pass yield assert_false(is_image(C())) class C(object): def __array__(self): pass yield assert_false(is_image(C())) class C(object): coordmap = None def __array__(self): pass yield assert_true(is_image(img))
def test_mask(): mean_image = np.ones((9, 9)) mean_image[3:-3, 3:-3] = 10 mean_image[5, 5] = 100 mask1 = nnm.compute_mask(mean_image) mask2 = nnm.compute_mask(mean_image, exclude_zeros=True) # With an array with no zeros, exclude_zeros should not make # any difference assert_array_equal(mask1, mask2) # Check that padding with zeros does not change the extracted mask mean_image2 = np.zeros((30, 30)) mean_image2[:9, :9] = mean_image mask3 = nnm.compute_mask(mean_image2, exclude_zeros=True) assert_array_equal(mask1, mask3[:9, :9]) # However, without exclude_zeros, it does mask3 = nnm.compute_mask(mean_image2) assert_false(np.allclose(mask1, mask3[:9, :9])) # check that opening is 2 by default mask4 = nnm.compute_mask(mean_image, exclude_zeros=True, opening=2) assert_array_equal(mask1, mask4) # check that opening has an effect mask5 = nnm.compute_mask(mean_image, exclude_zeros=True, opening=0) assert_true(mask5.sum() > mask4.sum())
def test_save2b(): # A test to ensure that when a file is saved, the affine and the # data agree. This image comes from a NIFTI file This example has # a non-diagonal affine matrix for the spatial part, but is # 'diagonal' for the space part. this should raise a warnings # about 'non-diagonal' affine matrix # make a 5x5 transformation step = np.array([3.45,2.3,4.5,6.9]) A = np.random.standard_normal((4,4)) B = np.diag(list(step)+[1]) B[:4,:4] = A shape = (13,5,7,3) cmap = api.AffineTransform.from_params('ijkt', 'xyzt', B) data = np.random.standard_normal(shape) img = api.Image(data, cmap) with InTemporaryDirectory(): save_image(img, TMP_FNAME) img2 = load_image(TMP_FNAME) assert_false(np.allclose(img.affine, img2.affine)) assert_array_almost_equal(img.affine[:3,:3], img2.affine[:3,:3]) assert_equal(img.shape, img2.shape) assert_array_almost_equal(img2.get_data(), img.get_data()) del img2