def test_PickAtlas_outputs(): output_map = dict(mask_file=dict(), ) outputs = PickAtlas.output_spec() for key, metadata in output_map.items(): for metakey, value in metadata.items(): yield assert_equal, getattr(outputs.traits()[key], metakey), value
def test_PickAtlas_outputs(): output_map = dict(mask_file=dict()) outputs = PickAtlas.output_spec() for key, metadata in output_map.items(): for metakey, value in metadata.items(): yield assert_equal, getattr(outputs.traits()[key], metakey), value
def test_PickAtlas_inputs(): input_map = dict( atlas=dict(mandatory=True), dilation_size=dict(usedefault=True), hemi=dict(usedefault=True), ignore_exception=dict(nohash=True, usedefault=True), labels=dict(mandatory=True), output_file=dict(), ) inputs = PickAtlas.input_spec() for key, metadata in input_map.items(): for metakey, value in metadata.items(): yield assert_equal, getattr(inputs.traits()[key], metakey), value
def test_PickAtlas_inputs(): input_map = dict( atlas=dict(mandatory=True, ), dilation_size=dict(usedefault=True, ), hemi=dict(usedefault=True, ), ignore_exception=dict( nohash=True, usedefault=True, ), labels=dict(mandatory=True, ), output_file=dict(), ) inputs = PickAtlas.input_spec() for key, metadata in input_map.items(): for metakey, value in metadata.items(): yield assert_equal, getattr(inputs.traits()[key], metakey), value
def get_atlas_rois(atlas, roi_idx, hemisphere, res=None, path=None): """ Extract ROIs from a given atlas. Parameters ---------- atlas : str Atlas dataset to be downloaded through nilearn's dataset_fetch_atlas functionality. roi_idx: list List of int of the ROI(s) you want to extract from the atlas. If not sure, use get_atlas_info. hemisphere: list List of str, that is hemispheres of the ROI(s) you want to extract. Can be ['left'], ['right'] or ['left', 'right']. res: str Specific version of atlas to be downloaded. Only necessary for Harvard-Oxford and Talairach. Please check nilearns respective documentation at https://nilearn.github.io/modules/generated/nilearn.datasets.fetch_atlas_harvard_oxford.html or https://nilearn.github.io/modules/generated/nilearn.datasets.fetch_atlas_talairach.html path: str Path to where the extracted ROI(s) will be saved to. If None, ROI(s) will be saved in the current working directory. Returns ------- list_rois: list A list of the extracted ROIs. Examples -------- >>> get_atlas_rois('aal', [1, 2, 3], ['left', 'right'], path='/home/urial/Desktop') list_rois """ if atlas == 'aal': atl_ds = datasets.fetch_atlas_aal() elif atlas == 'harvard_oxford': if res is None: print( 'Please provide the specific version of the Harvard-Oxford atlas you would like to use.' ) else: atl_ds = datasets.fetch_atlas_harvard_oxford(res) elif atlas == 'destriuex': atl_ds = datasets.fetch_atlas_destrieux_2009() elif atlas == 'msdl': atl_ds = datasets.fetch_atlas_msdl() elif atlas == 'talairach': if res is None: print( 'Please provide the level of the Talairach atlas you would like to use.' ) else: atl_ds = datasets.fetch_atlas_talairach(level_name=res) elif atlas == 'pauli_2017': atl_ds = datasets.fetch_atlas_pauli_2017() if roi_idx is None: print('Please provide the indices of the ROIs you want to extract.') elif hemisphere is None: print( 'Please provide the hemisphere(s) from which you want to extract ROIs.' ) for label in roi_idx: for hemi in hemisphere: roi_ex = Node(PickAtlas(), name='roi_ex') roi_ex.inputs.atlas = atl_ds.maps roi_ex.inputs.labels = label roi_ex.inputs.hemi = hemi if path is None: roi_ex.inputs.output_file = '%s_%s_%s.nii.gz' % ( atlas, str(label), hemi) roi_ex.run() list_rois = glob('%s_*.nii.gz' % atlas) elif path: roi_ex.inputs.output_file = opj( path, '%s_%s_%s.nii.gz' % (atlas, str(label), hemi)) roi_ex.run() list_rois = glob(opj(path, '%s_*.nii.gz' % atlas)) print('The following ROIs were extracted: ') print('\n'.join(map(str, list_rois))) return list_rois