def preprocess(key, src_name, sub_scan): scan = sub_scan[key] make_dir(TEMP_PATHS) mri_path = scan['mri.nii'] pet_path = scan['pet.nii'] show_data("path", [mri_path, pet_path]) # Pipeline Configuration Intensity_Normalization = True Skull_Strip = False Bias_Correction = True Petpvc = True if (not image_registration(mri_path, pet_path, f"{IMG_REG}/pet.nii")): return False if(not preprocess_mri(mri_path, Intensity_Normalization=Intensity_Normalization, Skull_Strip=Skull_Strip, Bias_Correction=Bias_Correction)): return False if(not preprocess_pet(f"{IMG_REG}/pet.nii", Skull_Strip=Skull_Strip, Petpvc=Petpvc)): return False make_dir([f"{PREPROCESSED}/{src_name}/{key}"]) copyfile(f"{TEMP_OUTPUT}/mri.nii", f"{PREPROCESSED}/{src_name}/{key}/mri.nii") copyfile(f"{TEMP_OUTPUT}/pet.nii", f"{PREPROCESSED}/{src_name}/{key}/pet.nii")
def postprocess(key, src_name, sub_scan): scan = sub_scan[key] mri_path = scan['mri.nii'] pet_path = scan['pet.nii'] make_dir(POSTPROCESS_TEMP_PATHS) show_data("path", [key, mri_path, pet_path]) # Pipeline Configuration Dimension_Check = True Feature_Selection = True Structural_Similarity = True if (not postprocess_file(key, mri_path, "mri", Dimension_Check=Dimension_Check, Feature_Selection=Feature_Selection, Structural_Similarity=Structural_Similarity)): return False if (not postprocess_file(key, pet_path, "pet", Dimension_Check=Dimension_Check, Feature_Selection=Feature_Selection, Structural_Similarity=Structural_Similarity)): return False make_dir([f"{POSTPROCESS}/{src_name}/{key}"]) make_dir([f"{POSTPROCESS}/{src_name}/{key}/img"]) print("COPYING FILES") shutil.copyfile(mri_path, f"{POSTPROCESS}/{src_name}/{key}/mri.nii") shutil.copyfile(pet_path, f"{POSTPROCESS}/{src_name}/{key}/pet.nii") shutil.copyfile(f"{SSIM}/mri.jpg", f"{POSTPROCESS}/{src_name}/{key}/img/mri.jpg") shutil.copyfile(f"{SSIM}/pet.jpg", f"{POSTPROCESS}/{src_name}/{key}/img/pet.jpg") remove_dir(POSTPROCESS_TEMP_PATHS)
if (f"{dest_name}.zip" in os.listdir(POST_ZIPPED)): continue show_data("name", [src_name, dest_name]) extracted_paths = extract([file]) extracted_files = get_nii(extracted_paths) print(f"\n{src_name.upper()} PREPROCESSING\n") driver(extracted_files, dest_name) global df df.to_csv(f"{POSTPROCESS}/{dest_name}/postprocess.csv") df = pd.DataFrame( columns=['subject_id', 'type', 'mse', 'ssim', 'distance']) print(f"\n{src_name.upper()} ZIPPING\n") make_archive(f"{POSTPROCESS}/{dest_name}", f"{POST_ZIPPED}/{dest_name}.zip") # print("REMOVING") # shutil.rmtree(f"{POSTPROCESS}") if __name__ == "__main__": make_dir(DATA_PATHS) make_dir(SCRIPT_PATHS) df = pd.DataFrame( columns=['subject_id', 'type', 'mse', 'ssim', 'distance']) post_preprocess()
def make_struct(): print("MAKING STRUCTRE") files = get_nii(EXTRACT) for file in files: make_dir(file)