| |
| |
| |
|
|
| |
| |
| |
| |
| |
| |
|
|
| |
| |
| |
| |
| |
|
|
| |
| |
| |
| |
| |
|
|
| |
|
|
| |
|
|
| |
| |
|
|
| import os |
| from batchgenerators.utilities.file_and_folder_operations import join, load_json, isfile, save_json, maybe_mkdir_p |
| import nibabel as nib |
| from multiprocessing import Pool, cpu_count |
|
|
| def is_valid_file(name): |
| data = nib.load(os.path.join('/storage/chenqi/data/our_data/nnUNet_preprocessed/Dataset105_AbdomenAtlas2.0_1106/gt_segmentations', name+'.nii.gz')).get_fdata() |
| return name if (data.shape[0] == 512 and data.shape[1] == 512) else None |
|
|
| def main(): |
| val_liver = load_json('/storage/chenqi/cvpr25/annotated_exp/nnUNet_preprocessed/Dataset016_AbdomenAtlas2.0_base_liver/splits_final.json')[0]['val'] |
| val_pancreas = load_json('/storage/chenqi/cvpr25/annotated_exp/nnUNet_preprocessed/Dataset017_AbdomenAtlas2.0_base_pancreas/splits_final.json')[0]['val'] |
| val_kidney = load_json('/storage/chenqi/cvpr25/annotated_exp/nnUNet_preprocessed/Dataset018_AbdomenAtlas2.0_base_kidney/splits_final.json')[0]['val'] |
| val_colon = load_json('/storage/chenqi/code/GEM-3D-ct/data_split/splits_final_colon_bdmap.json')[0]['val'] |
| val_eso = load_json('/storage/chenqi/code/GEM-3D-ct/data_split/splits_final_eso_bdmap.json')[0]['val'] |
| val_ute = load_json('/storage/chenqi/code/GEM-3D-ct/data_split/splits_final_uterus_bdmap.json')[0]['val'] |
|
|
| all_files = os.listdir('/storage/chenqi/data/our_data/nnUNet_preprocessed/Dataset105_AbdomenAtlas2.0_1106/gt_segmentations') |
| all_files = [i.split('.')[0] for i in all_files] |
| train_liver = list(set(all_files) - set(val_liver) - set(val_pancreas) - set(val_kidney) - set(val_colon) - set(val_eso) - set(val_ute)) |
|
|
| with Pool(cpu_count()) as pool: |
| valid_train_liver = pool.map(is_valid_file, train_liver) |
| |
| valid_train_liver = [name for name in valid_train_liver if name is not None] |
|
|
| write_content = [{"train": valid_train_liver, "val": val_liver}] |
|
|
| splits_file = 'splits_final.json' |
| save_json(write_content, splits_file) |
|
|
| if __name__ == "__main__": |
| main() |
|
|
|
|