Skip to content

Commit e151e67

Browse files
authored
Merge pull request #255 from mgxd/dep/bump-nipreps
ENH: Add morphometric outputs
2 parents 83056b0 + e674204 commit e151e67

File tree

11 files changed

+45
-16
lines changed

11 files changed

+45
-16
lines changed

.circleci/bcp_anat_outputs.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,20 @@ sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_from-fsnative_to-T1w_mode-image_xfm.t
2222
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_from-MNIInfant+1_to-T1w_mode-image_xfm.h5
2323
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_from-T1w_to-fsnative_mode-image_xfm.txt
2424
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_from-T1w_to-MNIInfant+1_mode-image_xfm.h5
25+
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-L_curv.shape.gii
2526
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-L_inflated.surf.gii
2627
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-L_midthickness.surf.gii
2728
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-L_pial.surf.gii
2829
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-L_smoothwm.surf.gii
30+
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-L_sulc.shape.gii
31+
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-L_thickness.shape.gii
32+
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-R_curv.shape.gii
2933
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-R_inflated.surf.gii
3034
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-R_midthickness.surf.gii
3135
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-R_pial.surf.gii
3236
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-R_smoothwm.surf.gii
37+
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-R_sulc.shape.gii
38+
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-R_thickness.shape.gii
3339
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_label-CSF_probseg.nii.gz
3440
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_label-GM_probseg.nii.gz
3541
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_label-WM_probseg.nii.gz

.circleci/bcp_full_outputs.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,20 @@ sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_from-fsnative_to-T1w_mode-image_xfm.t
2222
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_from-MNIInfant+1_to-T1w_mode-image_xfm.h5
2323
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_from-T1w_to-fsnative_mode-image_xfm.txt
2424
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_from-T1w_to-MNIInfant+1_mode-image_xfm.h5
25+
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-L_curv.shape.gii
2526
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-L_inflated.surf.gii
2627
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-L_midthickness.surf.gii
2728
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-L_pial.surf.gii
2829
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-L_smoothwm.surf.gii
30+
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-L_sulc.shape.gii
31+
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-L_thickness.shape.gii
32+
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-R_curv.shape.gii
2933
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-R_inflated.surf.gii
3034
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-R_midthickness.surf.gii
3135
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-R_pial.surf.gii
3236
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-R_smoothwm.surf.gii
37+
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-R_sulc.shape.gii
38+
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_hemi-R_thickness.shape.gii
3339
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_label-CSF_probseg.nii.gz
3440
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_label-GM_probseg.nii.gz
3541
sub-01/ses-1mo/anat/sub-01_ses-1mo_run-001_label-WM_probseg.nii.gz

.circleci/config.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,6 @@ jobs:
379379
mkdir -p /tmp/${DATASET}/test
380380
CHECK_OUTPUTS_FILE="${DATASET}_full_outputs.txt"
381381
cd /tmp/${DATASET}/derivatives/nibabies && tree -I 'figures|log' -lifa --noreport | sed s+^\./++ | sed '1d' | sort > /tmp/${DATASET}/test/outputs.out
382-
cat /tmp/${DATASET}/test/outputs.out
383382
diff /tmp/src/nibabies/.circleci/${CHECK_OUTPUTS_FILE} /tmp/${DATASET}/test/outputs.out
384383
rm -rf /tmp/${DATASET}/test
385384
exit $?

.github/workflows/pytest.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414
strategy:
1515
matrix:
16-
python-version: [3.7, 3.8, 3.9]
16+
python-version: ['3.8', '3.9', '3.10']
1717

1818
steps:
1919
- name: Set up Python ${{ matrix.python-version }}

.readthedocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
version: 2
22

33
python:
4-
version: 3.7
4+
version: 3.8
55
install:
66
- requirements: docs/requirements.txt
77
- method: pip

nibabies/cli/parser.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -450,12 +450,6 @@ def _slice_time_ref(value, parser):
450450
default=True,
451451
help="do not remove median (within mask) from fieldmap",
452452
)
453-
g_fmap.add_argument(
454-
"--topup-max-vols",
455-
default=5,
456-
type=int,
457-
help="maximum number of volumes to use with TOPUP, per-series (EPI or BOLD)",
458-
)
459453

460454
# SyN-unwarp options
461455
g_syn = parser.add_argument_group("Specific options for SyN distortion correction")

nibabies/workflows/anatomical/base.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ def init_infant_anat_wf(
141141
"t1w2fsnative_xfm",
142142
"fsnative2t1w_xfm",
143143
"surfaces",
144+
"morphometrics",
144145
"anat_aseg",
145146
"anat_aparc",
146147
"template",
@@ -401,6 +402,7 @@ def init_infant_anat_wf(
401402
("outputnode.t1w2fsnative_xfm", "t1w2fsnative_xfm"),
402403
("outputnode.fsnative2t1w_xfm", "fsnative2t1w_xfm"),
403404
("outputnode.surfaces", "surfaces"),
405+
("outputnode.morphometrics", "morphometrics"),
404406
("outputnode.out_aparc", "anat_aparc"),
405407
("outputnode.out_aseg", "anat_aseg"),
406408
]),
@@ -414,6 +416,7 @@ def init_infant_anat_wf(
414416
("outputnode.t1w2fsnative_xfm", "inputnode.t1w2fsnative_xfm"),
415417
("outputnode.fsnative2t1w_xfm", "inputnode.fsnative2t1w_xfm"),
416418
("outputnode.surfaces", "inputnode.surfaces"),
419+
("outputnode.morphometrics", "inputnode.morphometrics"),
417420
]),
418421
])
419422
# fmt: on

nibabies/workflows/anatomical/outputs.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,8 @@ def init_anat_reports_wf(*, freesurfer, output_dir, sloppy, name="anat_reports_w
138138
"std_mask",
139139
"subject_id",
140140
"subjects_dir",
141+
"surfaces",
142+
"morphometrics",
141143
]
142144
inputnode = pe.Node(niu.IdentityInterface(fields=inputfields), name="inputnode")
143145

@@ -336,6 +338,7 @@ def init_anat_derivatives_wf(
336338
"t1w2fsnative_xfm",
337339
"fsnative2t1w_xfm",
338340
"surfaces",
341+
"morphometrics",
339342
"t1w_fs_aseg",
340343
"t1w_fs_aparc",
341344
]
@@ -636,6 +639,19 @@ def init_anat_derivatives_wf(
636639
name="ds_surfs",
637640
run_without_submitting=True,
638641
)
642+
# Morphometrics
643+
name_morphs = pe.MapNode(
644+
Path2BIDS(),
645+
iterfield="in_file",
646+
name="name_morphs",
647+
run_without_submitting=True,
648+
)
649+
ds_morphs = pe.MapNode(
650+
DerivativesDataSink(base_directory=output_dir, extension=".shape.gii"),
651+
iterfield=["in_file", "hemi", "suffix"],
652+
name="ds_morphs",
653+
run_without_submitting=True,
654+
)
639655
# Parcellations
640656
ds_t1w_fsaseg = pe.Node(
641657
DerivativesDataSink(base_directory=output_dir, desc="aseg", suffix="dseg", compress=True),
@@ -663,6 +679,11 @@ def init_anat_derivatives_wf(
663679
('source_files', 'source_file')]),
664680
(name_surfs, ds_surfs, [('hemi', 'hemi'),
665681
('suffix', 'suffix')]),
682+
(inputnode, name_morphs, [('morphometrics', 'in_file')]),
683+
(inputnode, ds_morphs, [('morphometrics', 'in_file'),
684+
('source_files', 'source_file')]),
685+
(name_morphs, ds_morphs, [('hemi', 'hemi'),
686+
('suffix', 'suffix')]),
666687
(inputnode, ds_t1w_fsaseg, [('t1w_fs_aseg', 'in_file'),
667688
('source_files', 'source_file')]),
668689
(inputnode, ds_t1w_fsparc, [('t1w_fs_aparc', 'in_file'),

nibabies/workflows/anatomical/surfaces.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ def init_infant_surface_recon_wf(*, age_months, use_aseg=False, name="infant_sur
4040
"t1w2fsnative_xfm",
4141
"fsnative2t1w_xfm",
4242
"surfaces",
43+
"morphometrics",
4344
"out_aseg",
4445
"out_aparc",
4546
]
@@ -129,6 +130,7 @@ def init_infant_surface_recon_wf(*, age_months, use_aseg=False, name="infant_sur
129130
('out_reg_file', 'inputnode.fsnative2t1w_xfm')]),
130131
(gifti_surface_wf, outputnode, [
131132
('outputnode.surfaces', 'surfaces'),
133+
('outputnode.morphometrics', 'morphometrics'),
132134
]),
133135
])
134136
# fmt: on

nibabies/workflows/base.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -548,9 +548,6 @@ def init_single_subject_wf(subject_id, session_id=None):
548548
fmap_wf_inputs = getattr(fmap_wf.inputs, f"in_{estimator.bids_id}")
549549
fmap_wf_inputs.in_data = [str(s.path) for s in estimator.sources]
550550
fmap_wf_inputs.metadata = [s.metadata for s in estimator.sources]
551-
552-
flatten = fmap_wf.get_node(f"wf_{estimator.bids_id}.flatten")
553-
flatten.inputs.max_trs = config.workflow.topup_max_vols
554551
else:
555552
raise NotImplementedError(
556553
"Sophisticated PEPOLAR schemes (e.g., using DWI+EPI) are unsupported."

0 commit comments

Comments
 (0)