@@ -796,7 +796,9 @@ def tissue_seg_freesurfer(wf, cfg, strat_pool, pipe_num, opt=None):
796796 "switch": ["run"],
797797 "option_key": ["tissue_segmentation", "using"],
798798 "option_val": "FreeSurfer",
799- "inputs": ["freesurfer-subject-dir"],
799+ "inputs": ["freesurfer-subject-dir",
800+ "pipeline-fs_raw-average",
801+ "pipeline-fs_subcortical-seg"],
800802 "outputs": ["pipeline-fs_hemi-L_desc-surface_curv",
801803 "pipeline-fs_hemi-R_desc-surface_curv",
802804 "pipeline-fs_hemi-L_desc-surfaceMesh_pial",
@@ -818,12 +820,30 @@ def tissue_seg_freesurfer(wf, cfg, strat_pool, pipe_num, opt=None):
818820 "label-WM_mask"]}
819821 '''
820822
823+ node , out = strat_pool .get_data ('freesurfer-subject-dir' )
824+
825+ fs_aseg_to_native = pe .Node (interface = freesurfer .ApplyVolTransform (),
826+ name = f'fs_aseg_to_native_{ pipe_num } ' )
827+ fs_aseg_to_native .inputs .reg_header = True
828+ fs_aseg_to_native .inputs .interp = 'nearest'
829+
830+ wf .connect (node , out , fs_aseg_to_native , 'subjects_dir' )
831+
832+ node , out = strat_pool .get_data ('pipeline-fs_subcortical-seg' )
833+ wf .connect (node , out , fs_aseg_to_native , 'source_file' )
834+
835+ node , out = strat_pool .get_data ('pipeline-fs_raw-average' )
836+ wf .connect (node , out , fs_aseg_to_native , 'target_file' )
837+
821838 fs_aseg_to_nifti = pe .Node (util .Function (input_names = ['in_file' ],
822839 output_names = ['out_file' ],
823840 function = mri_convert ),
824841 name = f'fs_aseg_to_nifti_{ pipe_num } ' )
825842 fs_aseg_to_nifti .inputs .args = '-rt nearest'
826843
844+ wf .connect (fs_aseg_to_native , 'transformed_file' ,
845+ fs_aseg_to_nifti , 'in_file' )
846+
827847 pick_tissue = pe .Node (pick_tissue_from_labels_file_interface (),
828848 name = f'select_fs_tissue_{ pipe_num } ' )
829849
0 commit comments