@@ -414,116 +414,6 @@ def create_seg_preproc_antsJointLabel_method(
414414 return preproc
415415
416416
417- # def create_seg_preproc_freesurfer(config=None,
418- # wf_name='seg_preproc_freesurfer',
419- # pipe_num=0):
420- # """
421- # Generate the subject's segmentations based on freesurfer.
422-
423- # Parameters
424- # ----------
425- # config : CPAC.utils.configuration.Configuration
426-
427- # wf_name : string
428- # name of the workflow
429-
430- # pipe_num : int
431-
432- # Returns
433- # -------
434- # seg_preproc_freesurfer : workflow
435- # workflow object for segmentation workflow
436-
437- # hemisphere_outputs : dict
438- # hemisphere-specific FreeSurfer outputs
439-
440- # Notes
441- # -----
442-
443- # Workflow Inputs: ::
444-
445- # inputspec.subject_dir : string (existing nifti file)
446- # FreeSurfer autorecon1 dir
447-
448- # Workflow Outputs: ::
449-
450- # outputspec.wm_mask : string (nifti file)
451- # outputs White Matter mask
452- # """
453- # preproc = pe.Workflow(name=wf_name)
454-
455- # inputnode = pe.Node(util.IdentityInterface(fields=['subject_dir']),
456- # name='inputspec')
457-
458- # outputnode = pe.Node(util.IdentityInterface(fields=['wm_mask',
459- # 'gm_mask',
460- # 'csf_mask',
461- # 'subject_id']),
462- # name='outputspec')
463-
464- # reconall2 = pe.Node(interface=freesurfer.ReconAll(),
465- # name='anat_autorecon2')
466-
467- # reconall2.inputs.directive = 'autorecon2'
468- # reconall2.inputs.openmp = config.pipeline_setup['system_config'][
469- # 'num_omp_threads']
470-
471- # preproc.connect(inputnode, 'subject_dir',
472- # reconall2, 'subjects_dir')
473-
474- # preproc.connect(reconall2, 'subject_id',
475- # outputnode, 'subject_id')
476-
477- # # register FS segmentations (aseg.mgz) to native space
478- # fs_aseg_to_native = pe.Node(interface=freesurfer.ApplyVolTransform(),
479- # name='fs_aseg_to_native')
480-
481- # fs_aseg_to_native.inputs.reg_header = True
482- # fs_aseg_to_native.inputs.interp = 'nearest'
483-
484- # preproc.connect(reconall2, 'aseg',
485- # fs_aseg_to_native, 'source_file')
486-
487- # preproc.connect(reconall2, 'rawavg',
488- # fs_aseg_to_native, 'target_file')
489-
490- # preproc.connect(inputnode, 'subject_dir',
491- # fs_aseg_to_native, 'subjects_dir')
492-
493- # # convert registered FS segmentations from .mgz to .nii.gz
494- # fs_aseg_to_nifti = pe.Node(util.Function(input_names=['in_file'],
495- # output_names=['out_file'],
496- # function=mri_convert),
497- # name='fs_aseg_to_nifti')
498-
499- # fs_aseg_to_nifti.inputs.args = '-rt nearest'
500-
501- # preproc.connect(fs_aseg_to_native, 'transformed_file',
502- # fs_aseg_to_nifti, 'in_file')
503-
504- # pick_tissue = pe.Node(
505- # pick_tissue_from_labels_file_interface(
506- # input_names=['multiatlas_Labels']),
507- # name=f'{wf_name}_tissue_mask')
508-
509- # preproc.connect(fs_aseg_to_nifti, 'out_file',
510- # pick_tissue, 'multiatlas_Labels')
511-
512- # preproc.connect(pick_tissue, 'wm_mask',
513- # outputnode, 'wm_mask')
514-
515- # preproc.connect(pick_tissue, 'gm_mask',
516- # outputnode, 'gm_mask')
517-
518- # preproc.connect(pick_tissue, 'csf_mask',
519- # outputnode, 'csf_mask')
520-
521- # preproc, hemisphere_outputs = freesurfer_hemispheres(preproc, reconall2,
522- # pipe_num)
523-
524- # return preproc, hemisphere_outputs
525-
526-
527417def tissue_seg_fsl_fast (wf , cfg , strat_pool , pipe_num , opt = None ):
528418 '''
529419 {"name": "tissue_seg_fsl_fast",
@@ -934,9 +824,6 @@ def tissue_seg_freesurfer(wf, cfg, strat_pool, pipe_num, opt=None):
934824 name = f'fs_aseg_to_nifti_{ pipe_num } ' )
935825 fs_aseg_to_nifti .inputs .args = '-rt nearest'
936826
937- wf .connect (fs_aseg_to_native , 'transformed_file' ,
938- fs_aseg_to_nifti , 'in_file' )
939-
940827 pick_tissue = pe .Node (pick_tissue_from_labels_file_interface (),
941828 name = f'select_fs_tissue_{ pipe_num } ' )
942829
@@ -962,27 +849,17 @@ def tissue_seg_freesurfer(wf, cfg, strat_pool, pipe_num, opt=None):
962849 'in_file' )
963850
964851 if erode_tissues :
965- outputs ['label-CSF_mask' ] = (erode_tissues ['csf' ], 'binary_file' )
966- outputs ['label-WM_mask' ] = (erode_tissues ['wm' ], 'binary_file' )
967- outputs ['label-GM_mask' ] = (erode_tissues ['gm' ], 'binary_file' )
852+ outputs = {
853+ 'label-CSF_mask' : (erode_tissues ['csf' ], 'binary_file' ),
854+ 'label-WM_mask' : (erode_tissues ['wm' ], 'binary_file' ),
855+ 'label-GM_mask' : (erode_tissues ['gm' ], 'binary_file' )
856+ }
968857
969858 else :
970- outputs ['label-CSF_mask' ] = (pick_tissue , 'csf_mask' )
971- outputs ['label-WM_mask' ] = (pick_tissue , 'wm_mask' )
972- outputs ['label-GM_mask' ] = (pick_tissue , 'gm_mask' )
973-
974- fs_seg , hemisphere_outputs = create_seg_preproc_freesurfer (
975- config = cfg , wf_name = f'seg_preproc_freesurfer_{ pipe_num } ' ,
976- pipe_num = pipe_num )
977-
978- node , out = strat_pool .get_data ('freesurfer-subject-dir' )
979- wf .connect (node , out , fs_seg , 'inputspec.subject_dir' )
980-
981- outputs = {
982- 'label-CSF_mask' : (fs_seg , 'outputspec.csf_mask' ),
983- 'label-GM_mask' : (fs_seg , 'outputspec.gm_mask' ),
984- 'label-WM_mask' : (fs_seg , 'outputspec.wm_mask' ),
985- ** hemisphere_outputs
986- }
859+ outputs = {
860+ 'label-CSF_mask' : (pick_tissue , 'csf_mask' ),
861+ 'label-WM_mask' : (pick_tissue , 'wm_mask' ),
862+ 'label-GM_mask' : (pick_tissue , 'gm_mask' )
863+ }
987864
988865 return (wf , outputs )
0 commit comments