def test_imge_constructor_nonsense(): with pytest.raises(ValueError): _ = base.LEEMImg("nonsense") with pytest.raises(FileNotFoundError): _ = base.LEEMImg("nonsense.dat", nolazy=True) img = base.LEEMImg("nonsense.dat") with pytest.raises(FileNotFoundError): assert img.data
def test_img_div_img(): test_data_1 = np.array([[1,2],[3,4]]) test_data_2 = np.array([[5,6],[7,8]]) img1 = base.LEEMImg(test_data_1) img2 = base.LEEMImg(test_data_2) img12 = img1/img2 img21 = img2/img1 assert np.array_equal(img12.data, test_data_1/test_data_2) assert np.array_equal(img21.data, test_data_2/test_data_1)
def test_img_constructor(img_fname): img = base.LEEMImg(img_fname) assert img.source == img_fname assert isinstance(img.energy, (int, float)) assert isinstance(img.meta, dict) assert isinstance(img.image, np.ndarray) assert img.image.shape == (img.height, img.width)
def test_img_constructor(img_fname, nolazy): img = base.LEEMImg(img_fname, nolazy=nolazy) assert img.path == img_fname assert isinstance(img.energy, (int, float)) assert isinstance(img.meta, dict) assert isinstance(img.data, np.ndarray) assert img.data.shape == (img.height, img.width)
def test_img_normalize(inplace, normed_img): img = base.LEEMImg(TESTDATA_DIR + "bremen.dat") ref = img mcp = MCP_IMG_FNAME if inplace: img.normalize(mcp=mcp, inplace=inplace, dark_counts=100) else: img = img.normalize(mcp=mcp, inplace=inplace, dark_counts=100) assert (img is ref) == inplace assert_array_equal(img.image, normed_img.image)
def test_stack_normalize(inplace, copy, normed_img): img = base.LEEMImg(TESTDATA_DIR + "bremen.dat") if copy: stack = base.LEEMStack([img.copy(), img.copy()]) else: stack = base.LEEMStack([img, img]) ref = stack if inplace: stack.normalize(mcp=MCP_IMG_FNAME, inplace=inplace, dark_counts=100) else: stack = stack.normalize(mcp=MCP_IMG_FNAME, inplace=inplace, dark_counts=100) assert (stack is ref) == inplace for img, ref_img in zip(stack, ref): assert (img is ref_img) == inplace assert_array_equal(img.image, normed_img.image)
def test_imge_constructor_nonsense(): with pytest.raises(FileNotFoundError): _ = base.LEEMImg("nonsense") with pytest.raises(FileNotFoundError): _ = base.LEEMImg("nonsense.dat")
def test_img_constructor_array(img): img2 = base.LEEMImg(img.image) assert img2.image.shape == img.image.shape
def imgify(img): if isinstance(img, base.LEEMImg): return img return base.LEEMImg(img)
def test_stack_constructor_lists(): stack = base.LEEMStack(IMG_FNAMES_COMPATIBLE) stack2 = base.LEEMStack([base.LEEMImg(ifn) for ifn in IMG_FNAMES_COMPATIBLE]) assert stack == stack2 assert stack.path == "NO_PATH"
def test_img_pickling(img): img.save(TESTDATA_DIR + "test_img.limg") img2 = base.LEEMImg(TESTDATA_DIR + "test_img.limg") assert img.data.shape == img2.data.shape assert img.path == img2.path assert img.meta == img2.meta
def test_img_constructor_array(img): img2 = base.LEEMImg(img.data) assert img2.data.shape == img.data.shape
def test_img_div_int(): test_data = np.array([[1,2],[3,4]]) img = base.LEEMImg(test_data)/2 assert np.array_equal(img.data,test_data/2)
def test_img_add_int(): test_data = np.array([[1,2],[3,4]]) img1 = base.LEEMImg(test_data)+100 img2 = base.LEEMImg(test_data)-100 assert np.array_equal(img1.data, test_data+100) assert np.array_equal(img2.data, test_data-100)
def test_img_mul_int(): test_data = np.array([[1,2],[3,4]]) img1 = 2*base.LEEMImg(test_data) img2= base.LEEMImg(test_data)*2 assert np.array_equal(img1.data,2*test_data) assert np.array_equal(img2.data,2*test_data)
def test_stack_dimension_consistency(stack): img = base.LEEMImg(STACK_INCOMPATIBLE_IMG_FNAME) with pytest.raises(ValueError): stack[0] = img