| import os |
| import nibabel |
|
|
| import numpy as np |
| from misc import crop_and_pad, viewVolume, MRIread, make_dir |
|
|
|
|
| test_flag = False |
|
|
| directory = '/autofs/space/yogurt_004/users/pl629/ASNR-MICCAI-BraTS2023-Local-Synthesis-Challenge-Training' |
| new_directory = make_dir('/autofs/space/yogurt_004/users/pl629/ASNR-MICCAI-BraTS2023-Local-Synthesis-Challenge-Training_CropPad') |
|
|
| database = [] |
| mask_vis = [] |
| pad_size = [224, 224, 224] |
|
|
| for root, dirs, files in os.walk(directory): |
| dirs_sorted = sorted(dirs) |
| for dir_id in dirs_sorted: |
| datapoint = dict() |
| sli_dict = dict() |
| for ro, di, fi in os.walk(root + "/" + str(dir_id)): |
| fi_sorted = sorted(fi) |
|
|
| assert os.path.isfile(os.path.join(root, dir_id, dir_id + '-t1n.nii.gz')) |
| |
| new_dir = make_dir(os.path.join(new_directory, dir_id)) |
| print('Create new case dir:', new_dir) |
| '''try: |
| to_crop, aff = MRIread(os.path.join(root, dir_id, dir_id + '-t1n.nii.gz'), im_only=False, dtype='float') |
| _, crop_idx = crop_and_pad(to_crop, pad_size = pad_size, to_print = True) |
| print('-- crop_idx:', crop_idx) |
| except: |
| raise NotImplementedError |
| |
| |
| for f in fi_sorted: |
| seqtype = f.split("-")[-1].split(".")[0] |
| datapoint[seqtype] = os.path.join(root, dir_id, f) |
| print('-- current filename:', f) |
| print('-- current seqtype:', seqtype) |
| print('-- to save in new_dir:', os.path.join(new_dir, f.split('.')[0] + '.nii.gz')) |
| |
| curr_nda, _ = MRIread(os.path.join(root, dir_id, f), im_only=False, dtype='float') |
| new_curr_nda, _ = crop_and_pad(curr_nda, crop_idx, pad_size = pad_size, to_print = False) |
| viewVolume(new_curr_nda, aff, names = [f.split('.')[0]], save_dir = new_dir)''' |
|
|
| |
| nda, aff = MRIread(os.path.join(new_dir, dir_id + '-t1n.nii.gz'), im_only=False, dtype='float') |
| mask, _ = MRIread(os.path.join(new_dir, dir_id + '-mask-healthy.nii.gz'), im_only=False, dtype='float') |
| viewVolume(nda * (1 - mask), aff, names = [dir_id + '-t1n-healthyvoided'], save_dir = new_dir) |
|
|
| database.append(datapoint) |
|
|
| |
|
|
| break |
|
|
| print('Total num of cases:', len(database)) |