Skip to content

Commit d139112

Browse files
committed
use SDCFlows brain extraction workflow for T2w when T1w has precomputed mask
1 parent a48d601 commit d139112

File tree

2 files changed

+26
-14
lines changed

2 files changed

+26
-14
lines changed

nibabies/workflows/anatomical/base.py

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ def init_infant_anat_wf(
7878
from nipype.interfaces.ants.base import Info as ANTsInfo
7979
from niworkflows.engine.workflows import LiterateWorkflow as Workflow
8080

81+
from sdcflows.workflows.ancillary import init_brainextraction_wf as init_sdc_brain_extraction_wf
82+
8183
from ...utils.misc import fix_multi_source_name
8284
from .brain_extraction import (
8385
init_infant_brain_extraction_wf,
@@ -214,8 +216,9 @@ def init_infant_anat_wf(
214216
if precomp_mask:
215217
precomp_mask_wf = init_precomputed_mask_wf(omp_nthreads=omp_nthreads)
216218
precomp_mask_wf.inputs.inputnode.t1w_mask = precomp_mask
217-
218-
# else: brain_extraction_wf = ...
219+
sdc_brain_extraction_wf = init_sdc_brain_extraction_wf(
220+
name="sdc_brain_extraction_wf",
221+
)
219222
brain_extraction_wf = init_infant_brain_extraction_wf(
220223
age_months=age_months,
221224
ants_affine_init=ants_affine_init,
@@ -307,22 +310,31 @@ def init_infant_anat_wf(
307310
(t1w_template_wf, precomp_mask_wf, [
308311
("outputnode.out_file", "inputnode.t1w"),
309312
]),
313+
(t2w_template_wf, sdc_brain_extraction_wf, [
314+
("outputnode.out_file", "inputnode.in_file"),
315+
]),
316+
(sdc_brain_extraction_wf, coregistration_wf, [
317+
("outputnode.out_file", "inputnode.in_t2w_preproc"),
318+
("outputnode.out_mask", "inputnode.in_mask"),
319+
("outputnode.out_probseg", "inputnode.in_probmap"),
320+
]),
321+
])
322+
else:
323+
wf.connect([
324+
(t2w_template_wf, brain_extraction_wf, [
325+
("outputnode.out_file", "inputnode.in_t2w"),
326+
]),
327+
(brain_extraction_wf, coregistration_wf, [
328+
("outputnode.t2w_preproc", "inputnode.in_t2w_preproc"),
329+
("outputnode.out_mask", "inputnode.in_mask"),
330+
("outputnode.out_probmap", "inputnode.in_probmap"),
331+
]),
310332
])
311-
312-
wf.connect([
313-
(t2w_template_wf, brain_extraction_wf, [
314-
("outputnode.out_file", "inputnode.in_t2w"),
315-
]),
316-
])
317333
wf.connect([
318334
(t1w_template_wf, coregistration_wf, [
319335
("outputnode.out_file", "inputnode.in_t1w"),
320336
]),
321-
(brain_extraction_wf, coregistration_wf, [
322-
("outputnode.t2w_preproc", "inputnode.in_t2w_preproc"),
323-
("outputnode.out_mask", "inputnode.in_mask"),
324-
("outputnode.out_probmap", "inputnode.in_probmap"),
325-
]),
337+
326338
(inputnode, coreg_report_wf, [
327339
("t1w", "inputnode.source_file"),
328340
]),

nibabies/workflows/anatomical/outputs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ def init_anat_derivatives_wf(
376376
)
377377

378378
ds_t2w_preproc = pe.Node(
379-
DerivativesDataSink(base_directory=output_dir, space="T1w", desc="preproc", compress=True),
379+
DerivativesDataSink(data_dtype="i2", base_directory=output_dir, space="T1w", desc="preproc", compress=True),
380380
name="ds_t2w_preproc",
381381
run_without_submitting=True,
382382
)

0 commit comments

Comments
 (0)