def rename_into_caps(in_bids_dwi, fname_dwi, fname_bval, fname_bvec, fname_brainmask): """ Rename the outputs of the pipelines into CAPS format namely: <source_file>_space-T1w_preproc[.nii.gz|bval|bvec] Args: in_bids_dwi (str): Input BIDS DWI to extract the <source_file> fname_dwi (str): Preprocessed DWI. fname_bval (str): Preprocessed DWI. fname_bvec (str): Preprocessed DWI. fname_brainmask (str): B0 mask. Returns: The different outputs in CAPS format """ import os from nipype.interfaces.utility import Rename from nipype.utils.filemanip import split_filename # Extract <source_file> in format sub-CLNC01_ses-M00_[acq-label]_dwi _, source_file_dwi, _ = split_filename(in_bids_dwi) # Extract base path from fname: base_dir_dwi, _, _ = split_filename(fname_dwi) base_dir_bval, _, _ = split_filename(fname_bval) base_dir_bvec, _, _ = split_filename(fname_bvec) base_dir_brainmask, _, _ = split_filename(fname_brainmask) # Rename into CAPS DWI : rename_dwi = Rename() rename_dwi.inputs.in_file = fname_dwi rename_dwi.inputs.format_string = os.path.join( base_dir_dwi, source_file_dwi + "_space-b0_preproc.nii.gz") out_caps_dwi = rename_dwi.run() # Rename into CAPS bval : rename_bval = Rename() rename_bval.inputs.in_file = fname_bval rename_bval.inputs.format_string = os.path.join( base_dir_bval, source_file_dwi + "_space-b0_preproc.bval") out_caps_bval = rename_bval.run() # Rename into CAPS DWI : rename_bvec = Rename() rename_bvec.inputs.in_file = fname_bvec rename_bvec.inputs.format_string = os.path.join( base_dir_bvec, source_file_dwi + "_space-b0_preproc.bvec") out_caps_bvec = rename_bvec.run() # Rename into CAPS DWI : rename_brainmask = Rename() rename_brainmask.inputs.in_file = fname_brainmask rename_brainmask.inputs.format_string = os.path.join( base_dir_brainmask, source_file_dwi + "_space-b0_brainmask.nii.gz") out_caps_brainmask = rename_brainmask.run() return out_caps_dwi.outputs.out_file, out_caps_bval.outputs.out_file, \ out_caps_bvec.outputs.out_file, out_caps_brainmask.outputs.out_file
def rename_into_caps( in_bids_pet, fname_pet, fname_trans, suvr_reference_region, uncropped_image, fname_pet_in_t1w=None, ): """ Rename the outputs of the pipelines into CAPS format. Args: in_bids_pet (str): Input BIDS PET to extract the <source_file> fname_pet (str): Preprocessed PET file. fname_trans (str): Transformation file from PET to MRI space suvr_reference_region (str): SUVR mask name for file name output uncropped_image (bool): Pipeline argument for image cropping fname_pet_in_t1w (bool): Pipeline argument for saving intermediate file Returns: The different outputs in CAPS format """ import os from nipype.interfaces.utility import Rename from nipype.utils.filemanip import split_filename _, source_file_pet, _ = split_filename(in_bids_pet) # Rename into CAPS PET: rename_pet = Rename() rename_pet.inputs.in_file = fname_pet if not uncropped_image: suffix = f"_space-MNI152NLin2009cSym_desc-Crop_res-1x1x1_suvr-{suvr_reference_region}_pet.nii.gz" rename_pet.inputs.format_string = source_file_pet + suffix else: suffix = f"_space-MNI152NLin2009cSym_res-1x1x1_suvr-{suvr_reference_region}_pet.nii.gz" rename_pet.inputs.format_string = source_file_pet + suffix out_caps_pet = rename_pet.run().outputs.out_file # Rename into CAPS transformation file: rename_trans = Rename() rename_trans.inputs.in_file = fname_trans rename_trans.inputs.format_string = source_file_pet + "_space-T1w_rigid.mat" out_caps_trans = rename_trans.run().outputs.out_file # Rename intermediate PET in T1w MRI space if fname_pet_in_t1w is not None: rename_pet_in_t1w = Rename() rename_pet_in_t1w.inputs.in_file = fname_pet_in_t1w rename_pet_in_t1w.inputs.format_string = (source_file_pet + "_space-T1w_pet.nii.gz") out_caps_pet_in_t1w = rename_pet_in_t1w.run().outputs.out_file else: out_caps_pet_in_t1w = None return out_caps_pet, out_caps_trans, out_caps_pet_in_t1w
def __init__(self, in_file='path', format_string='', **options): from nipype.interfaces.utility import Rename rename = Rename() rename.inputs.in_file = in_file rename.inputs.format_string = format_string for ef in options: setattr(rename.inputs, ef, options[ef]) self.res = rename.run()
def rename_into_caps( in_bids_dwi, fname_dwi, fname_bval, fname_bvec, fname_brainmask, fname_magnitude, fname_fmap, fname_smoothed_fmap, ): """Rename the outputs of the pipelines into CAPS. Args: in_bids_dwi (str): Input BIDS DWI to extract the <source_file> fname_dwi (str): Preprocessed DWI file. fname_bval (str): Preprocessed bval. fname_bvec (str): Preprocessed bvec. fname_brainmask (str): B0 mask. fname_smoothed_fmap (str): Smoothed (calibrated) fmap on b0 space. fname_fmap (str): Calibrated fmap on b0 space. fname_magnitude (str): Magnitude image on b0 space. Returns: Tuple[str, str, str, str, str, str, str]: The different outputs in CAPS format. """ import os from nipype.interfaces.utility import Rename from nipype.utils.filemanip import split_filename # Extract <source_file> in format sub-CLNC01_ses-M00_[acq-label]_dwi _, source_file_dwi, _ = split_filename(in_bids_dwi) # Extract base path from fname: base_dir_dwi, _, _ = split_filename(fname_dwi) base_dir_bval, _, _ = split_filename(fname_bval) base_dir_bvec, _, _ = split_filename(fname_bvec) base_dir_brainmask, _, _ = split_filename(fname_brainmask) base_dir_smoothed_fmap, _, _ = split_filename(fname_smoothed_fmap) base_dir_calibrated_fmap, _, _ = split_filename(fname_fmap) base_dir_magnitude, _, _ = split_filename(fname_magnitude) # Rename into CAPS DWI: rename_dwi = Rename() rename_dwi.inputs.in_file = fname_dwi rename_dwi.inputs.format_string = os.path.join( base_dir_dwi, f"{source_file_dwi}_space-b0_preproc.nii.gz") out_caps_dwi = rename_dwi.run() # Rename into CAPS bval: rename_bval = Rename() rename_bval.inputs.in_file = fname_bval rename_bval.inputs.format_string = os.path.join( base_dir_bval, f"{source_file_dwi}_space-b0_preproc.bval") out_caps_bval = rename_bval.run() # Rename into CAPS bvec: rename_bvec = Rename() rename_bvec.inputs.in_file = fname_bvec rename_bvec.inputs.format_string = os.path.join( base_dir_bvec, f"{source_file_dwi}_space-b0_preproc.bvec") out_caps_bvec = rename_bvec.run() # Rename into CAPS brainmask: rename_brainmask = Rename() rename_brainmask.inputs.in_file = fname_brainmask rename_brainmask.inputs.format_string = os.path.join( base_dir_brainmask, f"{source_file_dwi}_space-b0_brainmask.nii.gz") out_caps_brainmask = rename_brainmask.run() # Rename into CAPS magnitude: rename_magnitude = Rename() rename_magnitude.inputs.in_file = fname_magnitude rename_magnitude.inputs.format_string = os.path.join( base_dir_magnitude, f"{source_file_dwi}_space-b0_magnitude1.nii.gz") out_caps_magnitude = rename_magnitude.run() # Rename into CAPS fmap: rename_calibrated_fmap = Rename() rename_calibrated_fmap.inputs.in_file = fname_fmap rename_calibrated_fmap.inputs.format_string = os.path.join( base_dir_calibrated_fmap, f"{source_file_dwi}_space-b0_fmap.nii.gz") out_caps_fmap = rename_calibrated_fmap.run() # Rename into CAPS smoothed fmap: rename_smoothed_fmap = Rename() rename_smoothed_fmap.inputs.in_file = fname_smoothed_fmap rename_smoothed_fmap.inputs.format_string = os.path.join( base_dir_smoothed_fmap, f"{source_file_dwi}_space-b0_fwhm-4_fmap.nii.gz") out_caps_smoothed_fmap = rename_smoothed_fmap.run() return ( out_caps_dwi.outputs.out_file, out_caps_bval.outputs.out_file, out_caps_bvec.outputs.out_file, out_caps_brainmask.outputs.out_file, out_caps_magnitude.outputs.out_file, out_caps_fmap.outputs.out_file, out_caps_smoothed_fmap.outputs.out_file, )
def rename_into_caps( in_caps_dwi, in_norm_fa, in_norm_md, in_norm_ad, in_norm_rd, in_b_spline_transform, in_affine_matrix, ): """Rename different outputs of the pipelines into CAPS format. Returns: The different outputs with CAPS naming convention """ from nipype.interfaces.utility import Rename from clinica.pipelines.dwi_dti.dwi_dti_utils import ( extract_bids_identifier_from_caps_filename, ) bids_identifier = extract_bids_identifier_from_caps_filename(in_caps_dwi) # CAPS normalized FA rename_fa = Rename() rename_fa.inputs.in_file = in_norm_fa rename_fa.inputs.format_string = ( f"{bids_identifier}_space-MNI152Lin_res-1x1x1_FA.nii.gz") out_caps_fa = rename_fa.run() # CAPS normalized MD rename_md = Rename() rename_md.inputs.in_file = in_norm_md rename_md.inputs.format_string = ( f"{bids_identifier}_space-MNI152Lin_res-1x1x1_MD.nii.gz") out_caps_md = rename_md.run() # CAPS normalized AD rename_ad = Rename() rename_ad.inputs.in_file = in_norm_ad rename_ad.inputs.format_string = ( f"{bids_identifier}_space-MNI152Lin_res-1x1x1_AD.nii.gz") out_caps_ad = rename_ad.run() # CAPS normalized RD rename_rd = Rename() rename_rd.inputs.in_file = in_norm_rd rename_rd.inputs.format_string = ( f"{bids_identifier}_space-MNI152Lin_res-1x1x1_RD.nii.gz") out_caps_rd = rename_rd.run() # CAPS B-spline transform rename_b_spline = Rename() rename_b_spline.inputs.in_file = in_b_spline_transform rename_b_spline.inputs.format_string = ( f"{bids_identifier}_space-MNI152Lin_res-1x1x1_deformation.nii.gz") out_caps_b_spline_transform = rename_b_spline.run() # CAPS Affine matrix rename_affine = Rename() rename_affine.inputs.in_file = in_affine_matrix rename_affine.inputs.format_string = ( f"{bids_identifier}_space-MNI152Lin_res-1x1x1_affine.mat") out_caps_affine_matrix = rename_affine.run() return ( out_caps_fa.outputs.out_file, out_caps_md.outputs.out_file, out_caps_ad.outputs.out_file, out_caps_rd.outputs.out_file, out_caps_b_spline_transform.outputs.out_file, out_caps_affine_matrix.outputs.out_file, )
def rename_into_caps(in_caps_dwi, in_norm_fa, in_norm_md, in_norm_ad, in_norm_rd, in_b_spline_transform, in_affine_matrix): """ Rename the outputs of the pipelines into CAPS format namely: <source_file>_space-T1w_preproc[.nii.gz|bval|bvec] Args: Returns: The different outputs in CAPS format """ from nipype.utils.filemanip import split_filename from nipype.interfaces.utility import Rename import os from clinica.pipelines.dwi_processing_dti.dwi_processing_dti_utils import extract_bids_identifier_from_caps_filename bids_identifier = extract_bids_identifier_from_caps_filename(in_caps_dwi) # Extract base path from fname: base_dir_norm_fa, _, _ = split_filename(in_norm_fa) base_dir_norm_md, _, _ = split_filename(in_norm_md) base_dir_norm_ad, _, _ = split_filename(in_norm_ad) base_dir_norm_rd, _, _ = split_filename(in_norm_rd) base_dir_b_spline_transform, _, _ = split_filename(in_b_spline_transform) base_dir_affine_matrix, _, _ = split_filename(in_affine_matrix) # Rename into CAPS FA: rename_fa = Rename() rename_fa.inputs.in_file = in_norm_fa rename_fa.inputs.format_string = os.path.join( base_dir_norm_fa, bids_identifier + "_space-MNI152Lin_res-1x1x1_fa.nii.gz") out_caps_fa = rename_fa.run() # Rename into CAPS MD: rename_md = Rename() rename_md.inputs.in_file = in_norm_md rename_md.inputs.format_string = os.path.join( base_dir_norm_md, bids_identifier + "_space-MNI152Lin_res-1x1x1_md.nii.gz") out_caps_md = rename_md.run() # Rename into CAPS AD: rename_ad = Rename() rename_ad.inputs.in_file = in_norm_ad rename_ad.inputs.format_string = os.path.join( base_dir_norm_ad, bids_identifier + "_space-MNI152Lin_res-1x1x1_ad.nii.gz") out_caps_ad = rename_ad.run() # Rename into CAPS RD: rename_rd = Rename() rename_rd.inputs.in_file = in_norm_rd rename_rd.inputs.format_string = os.path.join( base_dir_norm_rd, bids_identifier + "_space-MNI152Lin_res-1x1x1_rd.nii.gz") out_caps_rd = rename_rd.run() # Rename into CAPS B-spline transform: rename_b_spline = Rename() rename_b_spline.inputs.in_file = in_b_spline_transform rename_b_spline.inputs.format_string = os.path.join( base_dir_b_spline_transform, bids_identifier + "_space-MNI152Lin_res-1x1x1_deformation.nii.gz") out_caps_b_spline_transform = rename_b_spline.run() # Rename into CAPS Affine Matrix: rename_affine = Rename() rename_affine.inputs.in_file = in_affine_matrix rename_affine.inputs.format_string = os.path.join( base_dir_affine_matrix, bids_identifier + "_space-MNI152Lin_res-1x1x1_affine.mat") out_caps_affine_matrix = rename_affine.run() from clinica.utils.stream import cprint cprint("Renamed files:") cprint(out_caps_fa.outputs.out_file) cprint(out_caps_md.outputs.out_file) cprint(out_caps_ad.outputs.out_file) cprint(out_caps_rd.outputs.out_file) cprint(out_caps_b_spline_transform.outputs.out_file) cprint(out_caps_affine_matrix.outputs.out_file) return out_caps_fa.outputs.out_file, out_caps_md.outputs.out_file,\ out_caps_ad.outputs.out_file, out_caps_rd.outputs.out_file, \ out_caps_b_spline_transform.outputs.out_file, \ out_caps_affine_matrix.outputs.out_file