Exemple #1
0
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)
Exemple #2
0
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)
Exemple #3
0
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)
Exemple #4
0
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)
Exemple #5
0
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)
Exemple #6
0
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)
Exemple #7
0
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)
Exemple #8
0
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)