def test_mkdirs(): with not_raises(FileExistsError): mv.mkdirs(DATA_DIR) path = mv.joinpath(DATA_DIR, 'temporary_subdir') mv.mkdirs(path) assert mv.isdir(path) mv.rmtree(path)
def test_dsmd_io_det(): tmp_dir = mv.joinpath(DATA_DIR, 'temporary_subdir') tmp_path = mv.joinpath(tmp_dir, 'tmp_dsmd.txt') dsmd_loaded = mv.load_dsmd(DSMD_DET_GT, DSMD_DET_C2L, mode='det') mv.save_dsmd(tmp_path, dsmd_loaded, DSMD_DET_C2L, mode='det') dsmd_reloaded = mv.load_dsmd(DSMD_DET_GT, DSMD_DET_C2L, mode='det') assert_equal_dsmds(dsmd_loaded, dsmd_reloaded) mv.rmtree(tmp_dir)
def test_dsmd_io_cls(dsmd_file): tmp_dir = mv.joinpath(DATA_DIR, 'temporary_subdir') tmp_path = mv.joinpath(tmp_dir, 'tmp_dsmd.txt') dsmd_loaded = mv.load_dsmd(dsmd_file) mv.save_dsmd(tmp_path, dsmd_loaded) dsmd_reloaded = mv.load_dsmd(tmp_path) assert_equal_dsmds(dsmd_loaded, dsmd_reloaded) mv.rmtree(tmp_dir)
def test_imread_imwrite(img): dst_dir = mv.joinpath(DATA_DIR, 'temporary_subdir') dst_path = mv.joinpath(dst_dir, mv.basename(PNG_IMG_PATH)) mv.mkdirs(dst_dir) ret_val = mv.imwrite(img, dst_path) assert ret_val img_reloaded = mv.imread(dst_path, mv.ImreadMode.UNCHANGED) assert_image_equal(img, img_reloaded) mv.rmtree(dst_dir)
def test_copyfiles(): dst_dir = mv.joinpath(DATA_DIR, 'temporary_subdir') mv.mkdirs(dst_dir) src_paths = ['brain_001.dcm', 'brain_002.dcm'] mv.copyfiles(src_paths, dst_dir, DCM_DIR) assert len(mv.listdir(dst_dir)) == 2 with not_raises(FileExistsError): mv.copyfiles(src_paths, dst_dir, DCM_DIR, non_overwrite=False) with pytest.raises(FileExistsError): mv.copyfiles(src_paths, dst_dir, DCM_DIR, non_overwrite=True) mv.empty_dir(dst_dir) assert mv.isdir(dst_dir) assert len(mv.listdir(dst_dir)) == 0 mv.rmtree(dst_dir)
def test_gen_cls_ds(): tmp_dir = mv.joinpath(DATA_DIR, 'temporary_subdir') mv.mkdirs(tmp_dir) tmp_c2l_path = mv.joinpath(tmp_dir, 'tmp_c2l.txt') tmp_dsmd_path = mv.joinpath(tmp_dir, 'tmp_dsmd.txt') mv.gen_cls_dsmd_file_from_datafolder(DF_DIR, tmp_c2l_path, tmp_dsmd_path) dsmd = mv.load_dsmd(DSMD_DF) tmp_dsmd = mv.load_dsmd(tmp_dsmd_path) c2l = mv.load_dsmd(CLS2LBL) tmp_c2l = mv.load_dsmd(tmp_c2l_path) assert_equal_dsmds(dsmd, tmp_dsmd) assert_equal_dsmds(c2l, tmp_c2l) mv.empty_dir(tmp_dir) mv.gen_cls_ds_from_datafolder(DF_DIR, tmp_dir) assert len(mv.listdir(tmp_dir)) == 8 mv.rmtree(tmp_dir)
def test_split_dsmd_file(dsmd_file): tmp_dir = mv.joinpath(DATA_DIR, 'temporary_subdir') tmp_path = mv.joinpath(tmp_dir, 'tmp_dsmd.txt') mv.mkdirs(tmp_dir) mv.cp(dsmd_file, tmp_path) datasplit = {'train': 0.9, 'val': 0.1, 'test': 0.0} # shuffle mv.split_dsmd_file(tmp_path, datasplit) train_dsmd_file_path = mv.joinpath(tmp_dir, 'train.csv') val_dsmd_file_path = mv.joinpath(tmp_dir, 'val.csv') test_dsmd_file_path = mv.joinpath(tmp_dir, 'test.csv') assert mv.isfile(train_dsmd_file_path) assert mv.isfile(val_dsmd_file_path) assert not mv.isfile(test_dsmd_file_path) train_dsmd = mv.load_dsmd(train_dsmd_file_path) val_dsmd = mv.load_dsmd(val_dsmd_file_path) assert len(train_dsmd) == 18 assert len(val_dsmd) == 2 # non shuffle mv.split_dsmd_file(tmp_path, datasplit, shuffle=False) train_dsmd_file_path = mv.joinpath(tmp_dir, 'train.csv') val_dsmd_file_path = mv.joinpath(tmp_dir, 'val.csv') test_dsmd_file_path = mv.joinpath(tmp_dir, 'test.csv') assert mv.isfile(train_dsmd_file_path) assert mv.isfile(val_dsmd_file_path) assert not mv.isfile(test_dsmd_file_path) train_dsmd = mv.load_dsmd(train_dsmd_file_path) val_dsmd = mv.load_dsmd(val_dsmd_file_path) assert len(train_dsmd) == 18 assert len(val_dsmd) == 2 assert 'brain_001.dcm' in train_dsmd assert 'brain_019.dcm' in val_dsmd mv.rmtree(tmp_dir)
def test_has_duplicated_files(): dst_dir = mv.joinpath(DATA_DIR, 'temporary_subdir') mv.mkdirs(dst_dir) # non duplicated files case src_paths = ['brain_001.dcm', 'brain_002.dcm', 'brain_003.dcm'] mv.copyfiles(src_paths, dst_dir, DCM_DIR) assert len(mv.find_duplicated_files(dst_dir)) == 0 # duplicated files case mv.non_overwrite_cp(mv.joinpath(DCM_DIR, src_paths[0]), mv.joinpath(dst_dir, 'dup_0.dcm')) duplicated_files = mv.find_duplicated_files(dst_dir) assert len(duplicated_files) == 1 assert (mv.joinpath(dst_dir, 'brain_001.dcm') in duplicated_files[0] and mv.joinpath(dst_dir, 'dup_0.dcm') in duplicated_files[0]) mv.non_overwrite_cp(mv.joinpath(DCM_DIR, src_paths[1]), mv.joinpath(dst_dir, 'dup_1.dcm')) duplicated_files = mv.find_duplicated_files(dst_dir) assert len(duplicated_files) == 2 mv.rmtree(dst_dir)