Skip to content

Commit 579bd9e

Browse files
authored
Merge branch 'develop' into fix/gather_echo_times
2 parents 7764fba + d1879e9 commit 579bd9e

File tree

1 file changed

+45
-8
lines changed

1 file changed

+45
-8
lines changed

CPAC/registration/registration.py

Lines changed: 45 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2906,6 +2906,8 @@ def register_ANTs_EPI_to_template(wf, cfg, strat_pool, pipe_num, opt=None):
29062906
["desc-preproc_T1w", "desc-reorient_T1w", "T1w"],
29072907
"space-T1w_desc-brain_mask",
29082908
"T1w-template",
2909+
"T1w-brain-template",
2910+
"T1w-brain-template-mask",
29092911
"from-T1w_to-template_mode-image_xfm",
29102912
"from-template_to-T1w_mode-image_xfm",
29112913
"space-template_desc-brain_T1w",
@@ -3063,23 +3065,38 @@ def overwrite_transform_anat_to_template(wf, cfg, strat_pool, pipe_num, opt=None
30633065

30643066
wf.connect(merge_inv_xfms_to_list, "out", merge_inv_xfms, "in_files")
30653067

3068+
# Match FOVs using flirt -in infile -ref MNI152_T1_1mm_resample.nii.gz -out my_T1w_resampled.nii.gz -applyxfm -usesqform
3069+
match_fovs_T1w = pe.Node(
3070+
interface=fsl.FLIRT(), name=f"match_fovs_T1w_{pipe_num}"
3071+
)
3072+
match_fovs_T1w.inputs.apply_xfm = True
3073+
match_fovs_T1w.inputs.uses_qform = True
3074+
30663075
# applywarp --rel --interp=spline -i ${T1wRestore} -r ${Reference} -w ${OutputTransform} -o ${OutputT1wImageRestore}
30673076
fsl_apply_warp_t1_to_template = pe.Node(
30683077
interface=fsl.ApplyWarp(), name=f"FSL-ABCD_T1_to_template_{pipe_num}"
30693078
)
30703079
fsl_apply_warp_t1_to_template.inputs.relwarp = True
30713080
fsl_apply_warp_t1_to_template.inputs.interp = "spline"
30723081

3073-
node, out = strat_pool.get_data(["desc-restore_T1w", "desc-preproc_T1w"])
3074-
wf.connect(node, out, fsl_apply_warp_t1_to_template, "in_file")
3075-
30763082
node, out = strat_pool.get_data("T1w-template")
3083+
wf.connect(node, out, match_fovs_T1w, "reference")
30773084
wf.connect(node, out, fsl_apply_warp_t1_to_template, "ref_file")
30783085

3086+
node, out = strat_pool.get_data(["desc-restore_T1w", "desc-preproc_T1w"])
3087+
wf.connect(node, out, match_fovs_T1w, "in_file")
3088+
wf.connect(match_fovs_T1w, "out_file", fsl_apply_warp_t1_to_template, "in_file")
3089+
30793090
wf.connect(
30803091
merge_xfms, "merged_file", fsl_apply_warp_t1_to_template, "field_file"
30813092
)
30823093

3094+
match_fovs_T1w_brain = pe.Node(
3095+
interface=fsl.FLIRT(), name=f"match_fovs_T1w_brain_{pipe_num}"
3096+
)
3097+
match_fovs_T1w_brain.inputs.apply_xfm = True
3098+
match_fovs_T1w_brain.inputs.uses_qform = True
3099+
30833100
# applywarp --rel --interp=nn -i ${T1wRestoreBrain} -r ${Reference} -w ${OutputTransform} -o ${OutputT1wImageRestoreBrain}
30843101
fsl_apply_warp_t1_brain_to_template = pe.Node(
30853102
interface=fsl.ApplyWarp(), name=f"FSL-ABCD_T1_brain_to_template_{pipe_num}"
@@ -3088,16 +3105,29 @@ def overwrite_transform_anat_to_template(wf, cfg, strat_pool, pipe_num, opt=None
30883105
fsl_apply_warp_t1_brain_to_template.inputs.interp = "nn"
30893106

30903107
# TODO connect T1wRestoreBrain, check T1wRestoreBrain quality
3091-
node, out = strat_pool.get_data("desc-preproc_T1w")
3092-
wf.connect(node, out, fsl_apply_warp_t1_brain_to_template, "in_file")
3108+
node, out = strat_pool.get_data(["desc-restore-brain_T1w", "desc-preproc_T1w"])
3109+
wf.connect(node, out, match_fovs_T1w_brain, "in_file")
3110+
wf.connect(
3111+
match_fovs_T1w_brain,
3112+
"out_file",
3113+
fsl_apply_warp_t1_brain_to_template,
3114+
"in_file",
3115+
)
30933116

3094-
node, out = strat_pool.get_data("T1w-template")
3117+
node, out = strat_pool.get_data("T1w-brain-template")
3118+
wf.connect(node, out, match_fovs_T1w_brain, "reference")
30953119
wf.connect(node, out, fsl_apply_warp_t1_brain_to_template, "ref_file")
30963120

30973121
wf.connect(
30983122
merge_xfms, "merged_file", fsl_apply_warp_t1_brain_to_template, "field_file"
30993123
)
31003124

3125+
match_fovs_T1w_brain_mask = pe.Node(
3126+
interface=fsl.FLIRT(), name=f"match_fovs_T1w_brain_mask_{pipe_num}"
3127+
)
3128+
match_fovs_T1w_brain_mask.inputs.apply_xfm = True
3129+
match_fovs_T1w_brain_mask.inputs.uses_qform = True
3130+
31013131
fsl_apply_warp_t1_brain_mask_to_template = pe.Node(
31023132
interface=fsl.ApplyWarp(),
31033133
name=f"FSL-ABCD_T1_brain_mask_to_template_{pipe_num}",
@@ -3106,9 +3136,16 @@ def overwrite_transform_anat_to_template(wf, cfg, strat_pool, pipe_num, opt=None
31063136
fsl_apply_warp_t1_brain_mask_to_template.inputs.interp = "nn"
31073137

31083138
node, out = strat_pool.get_data("space-T1w_desc-brain_mask")
3109-
wf.connect(node, out, fsl_apply_warp_t1_brain_mask_to_template, "in_file")
3139+
wf.connect(node, out, match_fovs_T1w_brain_mask, "in_file")
3140+
wf.connect(
3141+
match_fovs_T1w_brain_mask,
3142+
"out_file",
3143+
fsl_apply_warp_t1_brain_mask_to_template,
3144+
"in_file",
3145+
)
31103146

3111-
node, out = strat_pool.get_data("T1w-template")
3147+
node, out = strat_pool.get_data("T1w-brain-template-mask")
3148+
wf.connect(node, out, match_fovs_T1w_brain_mask, "reference")
31123149
wf.connect(node, out, fsl_apply_warp_t1_brain_mask_to_template, "ref_file")
31133150

31143151
wf.connect(

0 commit comments

Comments
 (0)