def test_get_data_incompatible_args(): """ check if the get_data method works as expected and raises an error when data is ungrouped but index is not an int """ dir_path = "./data/test/nifti/paired/test" name = "fixed_images" loader = NiftiFileLoader(dir_path=dir_path, name=name, grouped=False) index = (0, 1) with pytest.raises(AssertionError): loader.get_data(index)
def test_get_data_out_of_range_sample_index(): """ check if the get_data method works as expected and raises error when incorrect group index is supplied """ dir_path = "./data/test/nifti/grouped/test" name = "images" loader = NiftiFileLoader(dir_path=dir_path, name=name, grouped=True) index = (0, 32) with pytest.raises(AssertionError): loader.get_data(index)
def test_get_data_incorrect_args(): """ check if the get_data method works as expected and raises an error when an incorrect data type is fed in """ dir_path = "./data/test/nifti/paired/test" name = "fixed_images" loader = NiftiFileLoader(dir_path=dir_path, name=name, grouped=False) index = "abc" with pytest.raises(ValueError) as execinfo: loader.get_data(index) msg = " ".join(execinfo.value.args[0].split()) assert "must be int, or tuple" in msg
def test_get_data_grouped(): """ check if the get_data method works as expected and returns array as expected """ dir_path = "./data/test/nifti/grouped/test" name = "images" loader = NiftiFileLoader(dir_path=dir_path, name=name, grouped=True) index = (0, 1) array = loader.get_data(index) got = [ np.shape(array), [np.amax(array), np.amin(array), np.mean(array), np.std(array)], ] expected = [(64, 64, 60), [255.0, 0.0, 85.67942, 49.193127]] loader.close() if got[0] == expected[0]: assert check_equal(np.array(got[1]), np.array(expected[1])).all() else: raise AssertionError
def test_get_data(): """ check if the get_data method works as expected and returns array as expected """ dir_path = "./data/test/nifti/paired/test" name = "fixed_images" loader = NiftiFileLoader(dir_path=dir_path, name=name, grouped=False) index = 0 array = loader.get_data(index) got = [ np.shape(array), [np.amax(array), np.amin(array), np.mean(array), np.std(array)], ] expected = [(44, 59, 41), [255.0, 0.0, 68.359276, 65.84009]] loader.close() if got[0] == expected[0]: assert check_equal(np.array(got[1]), np.array(expected[1])).all() else: raise AssertionError
def test_get_data_ids(): """ check if the get_data_ids method works as expected """ # paired dir_paths = ["./data/test/nifti/paired/test"] name = "fixed_images" loader = NiftiFileLoader(dir_paths=dir_paths, name=name, grouped=False) got = loader.get_data_ids() expected = [ ("./data/test/nifti/paired/test", "case000025"), ("./data/test/nifti/paired/test", "case000026"), ] loader.close() assert got == expected # unpaired dir_paths = ["./data/test/nifti/unpaired/test"] name = "images" loader = NiftiFileLoader(dir_paths=dir_paths, name=name, grouped=False) got = loader.get_data_ids() expected = [ ("./data/test/nifti/unpaired/test", "case000025"), ("./data/test/nifti/unpaired/test", "case000026"), ] loader.close() assert got == expected # grouped dir_paths = ["./data/test/nifti/grouped/test"] name = "images" loader = NiftiFileLoader(dir_paths=dir_paths, name=name, grouped=True) got = loader.get_data_ids() expected = [ ("./data/test/nifti/grouped/test", "group1", "case000025"), ("./data/test/nifti/grouped/test", "group1", "case000026"), ] loader.close() assert got == expected # multi dirs dir_paths = [ "./data/test/nifti/grouped/train", "./data/test/nifti/grouped/test" ] name = "images" loader = NiftiFileLoader(dir_paths=dir_paths, name=name, grouped=True) got = loader.get_data_ids() expected = [ ("./data/test/nifti/grouped/test", "group1", "case000025"), ("./data/test/nifti/grouped/test", "group1", "case000026"), ("./data/test/nifti/grouped/train", "group1", "case000000"), ("./data/test/nifti/grouped/train", "group1", "case000001"), ("./data/test/nifti/grouped/train", "group1", "case000003"), ("./data/test/nifti/grouped/train", "group1", "case000008"), ("./data/test/nifti/grouped/train", "group2", "case000009"), ("./data/test/nifti/grouped/train", "group2", "case000011"), ("./data/test/nifti/grouped/train", "group2", "case000012"), ] loader.close() assert got == expected # wrong index for paired dir_paths = ["./data/test/nifti/paired/test"] name = "fixed_images" loader = NiftiFileLoader(dir_paths=dir_paths, name=name, grouped=False) with pytest.raises(AssertionError): loader.get_data(index=(0, 1)) with pytest.raises(ValueError) as err_info: loader.get_data(index=[0]) assert "must be int, or tuple" in str(err_info.value) # wrong index for grouped dir_paths = ["./data/test/nifti/grouped/test"] name = "images" loader = NiftiFileLoader(dir_paths=dir_paths, name=name, grouped=True) with pytest.raises(AssertionError): # negative group_index loader.get_data(index=(-1, 1)) with pytest.raises(IndexError): # out of range group_index loader.get_data(index=(32, 1)) with pytest.raises(AssertionError): # negative in_group_data_index loader.get_data(index=(0, -1)) with pytest.raises(IndexError): # out of range in_group_data_index loader.get_data(index=(0, 32))
def test_get_data(): """ test get_data method by verifying returns' shape and value stats """ # paired dir_paths = ["./data/test/nifti/paired/test"] name = "fixed_images" loader = NiftiFileLoader(dir_paths=dir_paths, name=name, grouped=False) index = 0 array = loader.get_data(index) got = [ np.shape(array), [np.amax(array), np.amin(array), np.mean(array), np.std(array)], ] expected = [(44, 59, 41), [255.0, 0.0, 68.359276, 65.84009]] loader.close() assert got[0] == expected[0] assert is_equal_np(got[1], expected[1]) # unpaired dir_paths = ["./data/test/nifti/unpaired/test"] name = "images" loader = NiftiFileLoader(dir_paths=dir_paths, name=name, grouped=False) index = 0 array = loader.get_data(index) got = [ np.shape(array), [np.amax(array), np.amin(array), np.mean(array), np.std(array)], ] expected = [(64, 64, 60), [255.0, 0.0, 60.073948, 47.27648]] loader.close() assert got[0] == expected[0] assert is_equal_np(got[1], expected[1]) # grouped dir_paths = ["./data/test/nifti/grouped/test"] name = "images" loader = NiftiFileLoader(dir_paths=dir_paths, name=name, grouped=True) index = (0, 1) array = loader.get_data(index) got = [ np.shape(array), [np.amax(array), np.amin(array), np.mean(array), np.std(array)], ] expected = [(64, 64, 60), [255.0, 0.0, 85.67942, 49.193127]] loader.close() assert got[0] == expected[0] assert is_equal_np(got[1], expected[1]) # multi dirs dir_paths = [ "./data/test/nifti/grouped/train", "./data/test/nifti/grouped/test" ] name = "images" loader = NiftiFileLoader(dir_paths=dir_paths, name=name, grouped=True) index = (0, 1) array = loader.get_data(index) got = [ np.shape(array), [np.amax(array), np.amin(array), np.mean(array), np.std(array)], ] expected = [(64, 64, 60), [255.0, 0.0, 85.67942, 49.193127]] loader.close() assert got[0] == expected[0] assert is_equal_np(got[1], expected[1])