Skip to content

Commit 88a51c8

Browse files
Merge tag '1.3.0rc3' into halfpipe
1.3.0rc3 First release in the 1.3.x series. This release includes enhancements and bug-fixes towards the release of the first LTS version of fMRIPrep. PyBIDS has been revised to use more recent versions, a series of ANTs' interfaces have been deemed ready to upstream into Nipype, and several improvements regarding multi-echo EPI are included. With thanks to Basile Pinsard for contributions. * FIX: Patch ``ApplyTransforms`` spec to permit identity in a chain (nipreps#554) * FIX: Add dots to extensions in PyBIDS' config file (nipreps#548) * FIX: Segmentation plots aligned with cardinal axes (nipreps#544) * FIX: Skip T1w file existence check if ``anat_derivatives`` are provided (nipreps#545) * FIX: Avoid diverting CIFTI dtype from original BOLD (nipreps#532) * ENH: Add ``smooth`` input to ``RegridToZooms`` (nipreps#549) * ENH: Enable ``DerivativesDataSink`` to take multiple source files to derive entities (nipreps#547) * ENH: Allow ``bold_reference_wf`` to accept multiple EPIs/SBRefs (nipreps#408) * ENH: Numerical stability of EPI brain-masks using probabilistic prior (nipreps#485) * ENH: Add a pure-Python interface to resample to specific resolutions (nipreps#511) * MAINT: Finalize upstreaming of ANTs' interfaces to Nipype (nipreps#550) * MAINT: Update to Python +3.6 (nipreps#541)
2 parents d2403fa + 1449807 commit 88a51c8

File tree

26 files changed

+737
-910
lines changed

26 files changed

+737
-910
lines changed

.circleci/config.yml

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,8 @@ jobs:
151151
steps:
152152
- restore_cache:
153153
keys:
154-
- regression-v2-{{ .Revision }}
155-
- regression-v2-
154+
- regression-v5-{{ .Revision }}
155+
- regression-v5-
156156
- run:
157157
name: Get truncated BOLD series
158158
command: |
@@ -175,7 +175,7 @@ jobs:
175175
echo "Pre-computed masks were cached"
176176
fi
177177
- save_cache:
178-
key: regression-v2-{{ .Revision }}-{{ epoch }}
178+
key: regression-v5-{{ .Revision }}-{{ epoch }}
179179
paths:
180180
- /tmp/data
181181

@@ -284,13 +284,13 @@ jobs:
284284
285285
- restore_cache:
286286
keys:
287-
- regression-v2-{{ .Revision }}
287+
- regression-v5-{{ .Revision }}
288288
- restore_cache:
289289
keys:
290-
- masks-workdir-v1-{{ .Branch }}-{{epoch}}
291-
- masks-workdir-v1-{{ .Branch }}-
292-
- masks-workdir-v1-master-
293-
- masks-workdir-v1-
290+
- masks-workdir-v3-{{ .Branch }}-{{epoch}}
291+
- masks-workdir-v3-{{ .Branch }}-
292+
- masks-workdir-v3-master-
293+
- masks-workdir-v3-
294294
- run:
295295
name: Run regression tests on EPI masks
296296
no_output_timeout: 2h
@@ -307,14 +307,22 @@ jobs:
307307
coverage run -p --rcfile=setup.cfg \
308308
-m pytest --junit-xml=/tmp/masks/reports/regression.xml \
309309
niworkflows/func/tests/
310-
- save_cache:
311-
key: masks-workdir-v1-{{ .Branch }}-{{ epoch }}
312-
paths:
313-
- /tmp/masks/workdir
310+
- run:
311+
name: Clear reports folder & delete plot generator cache
312+
command: |
313+
pushd reports/
314+
tar cvfz fmriprep_bold_mask.tar.gz fmriprep_bold_mask/*/*.nii.gz
315+
rm -rf /tmp/masks/reports/fmriprep_bold_mask/
316+
popd
317+
find workdir/ -name "mask_diff_plot" -exec rm -rf {} +
314318
- store_artifacts:
315319
path: /tmp/masks/reports
316320
- store_test_results:
317321
path: /tmp/masks/reports
322+
- save_cache:
323+
key: masks-workdir-v3-{{ .Branch }}-{{ epoch }}
324+
paths:
325+
- /tmp/masks/workdir
318326

319327
- run:
320328
name: Coverage preparation
@@ -339,15 +347,6 @@ jobs:
339347
cp /tmp/masks/reports/coverage.xml .
340348
sed -i "s+/src/niworkflows+/tmp/src/niworkflows+g" coverage.xml
341349
python -m codecov --file coverage.xml --flags masks -e CIRCLE_JOB
342-
- run:
343-
name: Package new masks
344-
when: always
345-
no_output_timeout: 10m
346-
working_directory: /tmp/data
347-
command: |
348-
tar cfz /tmp/masks/fmriprep_bold_mask.tar.gz fmriprep_bold_mask/*/*.nii.gz
349-
- store_artifacts:
350-
path: /tmp/masks/fmriprep_bold_mask.tar.gz
351350
352351
test_package:
353352
machine:

CHANGES.rst

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,38 @@
1+
1.3.0 (TBD)
2+
===========
3+
First release in the 1.3.x series. This release includes enhancements and bug-fixes
4+
towards the release of the first LTS version of fMRIPrep.
5+
PyBIDS has been revised to use more recent versions, a series of ANTs' interfaces
6+
have been deemed ready to upstream into Nipype, and several improvements regarding
7+
multi-echo EPI are included.
8+
With thanks to Basile Pinsard for contributions.
9+
10+
* FIX: Patch ``ApplyTransforms`` spec to permit identity in a chain (#554)
11+
* FIX: Add dots to extensions in PyBIDS' config file (#548)
12+
* FIX: Segmentation plots aligned with cardinal axes (#544)
13+
* FIX: Skip T1w file existence check if ``anat_derivatives`` are provided (#545)
14+
* FIX: Avoid diverting CIFTI dtype from original BOLD (#532)
15+
* ENH: Add ``smooth`` input to ``RegridToZooms`` (#549)
16+
* ENH: Enable ``DerivativesDataSink`` to take multiple source files to derive entities (#547)
17+
* ENH: Allow ``bold_reference_wf`` to accept multiple EPIs/SBRefs (#408)
18+
* ENH: Numerical stability of EPI brain-masks using probabilistic prior (#485)
19+
* ENH: Add a pure-Python interface to resample to specific resolutions (#511)
20+
* MAINT: Finalize upstreaming of ANTs' interfaces to Nipype (#550)
21+
* MAINT: Update to Python +3.6 (#541)
22+
23+
1.2.8 (September 03, 2020)
24+
==========================
25+
Bug-fix release in the 1.2.x series with a minor improvement of the correlations plot.
26+
27+
* FIX: Improved control over correlations plot (#561)
28+
29+
1.2.7 (August 12, 2020)
30+
=======================
31+
Bug-fix release in the 1.2.x series with a very minor improvement of the reportlets.
32+
33+
* FIX: Pin PyBIDS < 0.11 (and TemplateFlow < 0.6.3) only on the 1.2.x series. (#552)
34+
* FIX: Use ``numpy.linspace`` to calculate mosaic plots' cutting planes (#543)
35+
136
1.2.6 (June 09, 2020)
237
=====================
338
Bug-fix release in the 1.2.x series addressing minor bugs encountered mostly

docs/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
git+https://github.com/AleksandarPetrov/napoleon.git@0dc3f28a309ad602be5f44a9049785a1026451b3#egg=sphinxcontrib-napoleon
22
git+https://github.com/rwblair/sphinxcontrib-versioning.git@39b40b0b84bf872fc398feff05344051bbce0f63#egg=sphinxcontrib-versioning
33
nbsphinx
4-
nipype>=1.3.1
4+
git+https://github.com/nipy/nipype.git@master#egg=nipype
55
nitransforms >= 20.0.0rc3,<20.2
66
packaging
77
pydot>=1.2.3

niworkflows/anat/ants.py

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,20 @@
1313
from nipype.pipeline import engine as pe
1414
from nipype.interfaces import utility as niu
1515
from nipype.interfaces.fsl.maths import ApplyMask
16-
from nipype.interfaces.ants import N4BiasFieldCorrection, Atropos, MultiplyImages
17-
18-
from ..utils.misc import get_template_specs
19-
20-
# niworkflows
21-
from ..interfaces.ants import (
16+
from nipype.interfaces.ants import (
17+
AI,
18+
Atropos,
2219
ImageMath,
20+
MultiplyImages,
21+
N4BiasFieldCorrection,
2322
ResampleImageBySpacing,
24-
AI,
2523
ThresholdImage,
2624
)
25+
26+
from ..utils.misc import get_template_specs
27+
from ..utils.connections import pop_file as _pop
28+
29+
# niworkflows
2730
from ..interfaces.fixes import (
2831
FixHeaderRegistration as Registration,
2932
FixHeaderApplyTransforms as ApplyTransforms,
@@ -897,12 +900,6 @@ def init_n4_only_wf(
897900
return wf
898901

899902

900-
def _pop(in_files):
901-
if isinstance(in_files, (list, tuple)):
902-
return in_files[0]
903-
return in_files
904-
905-
906903
def _select_labels(in_segm, labels):
907904
from os import getcwd
908905
import numpy as np

niworkflows/data/nipreps.json

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
},
7676
{
7777
"name": "extension",
78-
"pattern": "[._]*[a-zA-Z0-9]*?\\.([^/\\\\]+)$"
78+
"pattern": "[._]*[a-zA-Z0-9]*?(\\.[^/\\\\]+)$"
7979
},
8080
{
8181
"name": "atlas",
@@ -132,25 +132,25 @@
132132
}
133133
],
134134
"default_path_patterns": [
135-
"sub-{subject}[/ses-{session}]/{datatype<anat>|anat}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_res-{resolution}][_desc-{desc}]_{suffix<T1w|T2w|T1rho|T1map|T2map|T2starmap|FLAIR|FLASH|PDmap|PD|PDT2|dseg|inplaneT[12]|angio>}.{extension<nii|nii.gz|json>|nii.gz}",
136-
"sub-{subject}[/ses-{session}]/{datatype<anat>|anat}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}]_from-{from}_to-{to}_mode-{mode<image|points>|image}_{suffix<xfm>|xfm}.{extension<txt|h5>}",
137-
"sub-{subject}[/ses-{session}]/{datatype<anat>|anat}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_den-{density}]_hemi-{hemi<L|R>}_{suffix<wm|smoothwm|pial|midthickness|inflated|vinflated|sphere|flat>}.{extension<surf.gii>}",
138-
"sub-{subject}[/ses-{session}]/{datatype<anat>|anat}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_res-{resolution}]_desc-{desc}_{suffix<mask>|mask}.{extension<nii|nii.gz|json>|nii.gz}",
139-
"sub-{subject}[/ses-{session}]/{datatype<anat>|anat}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_res-{resolution}]_label-{label}[_desc-{desc}]_{suffix<probseg>|probseg}.{extension<nii|nii.gz|json>|nii.gz}",
140-
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_res-{resolution}][_desc-{desc}]_{suffix<bold|cbv|phase|sbref|boldref|dseg>}.{extension<nii|nii.gz|json>|nii.gz}",
141-
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}]_from-{from}_to-{to}_mode-{mode<image|points>|image}_{suffix<xfm>|xfm}.{extension<txt|h5>}",
142-
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_res-{resolution}]_desc-{desc}_{suffix<mask>|mask}.{extension<nii|nii.gz|json>|nii.gz}",
143-
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_desc-{desc}]_{suffix<AROMAnoiseICs>|AROMAnoiseICs}.{extension<csv|tsv>|csv}",
144-
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_desc-{desc}]_{suffix<regressors>|regressors}.{extension<json|tsv>|tsv}",
145-
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_desc-{desc}]_{suffix<components|mixing>|components}.{extension<json|tsv|nii|nii.gz>|tsv}",
146-
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_desc-{desc}]_{suffix<decomposition>|decomposition}.{extension<json>|json}",
147-
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_den-{density}][_hemi-{hemi<L|R>}][_desc-{desc}]_{suffix<bold>}.{extension<dtseries.nii|dtseries.json|func.gii|func.json>}",
148-
"sub-{subject}[/ses-{session}]/{datatype<dwi>|dwi}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_res-{resolution}][_desc-{desc}]_{suffix<dwi|epiref|lowb|dseg>}.{extension<json|nii.gz|nii>|nii.gz}",
149-
"sub-{subject}[/ses-{session}]/{datatype<dwi>|dwi}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_res-{resolution}]_desc-{desc}_{suffix<mask>}.{extension<json|nii.gz|nii>|nii.gz}",
150-
"sub-{subject}[/ses-{session}]/{datatype<dwi>|dwi}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_res-{resolution}][_desc-{desc}]_{suffix<dwi>}.{extension<tsv|bval|bvec>|tsv}",
151-
"sub-{subject}[/ses-{session}]/{datatype<fmap>|fmap}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_dir-{direction}][_run-{run}][_space-{space}][_cohort-{cohort}][_res-{resolution}][_desc-{desc}]_{suffix<fieldmap>}.{extension<nii|nii.gz|json>|nii.gz}",
152-
"sub-{subject}/{datatype<figures>}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_desc-{desc}]_{suffix<T1w|T2w|T1rho|T1map|T2map|T2star|FLAIR|FLASH|PDmap|PD|PDT2|inplaneT[12]|angio|dseg|mask|dwi|epiref|fieldmap>}.{extension<html|svg>}",
153-
"sub-{subject}/{datatype<figures>}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_desc-{desc}]_{suffix<dseg|mask|dwi|epiref|fieldmap>}.{extension<html|svg>}",
154-
"sub-{subject}/{datatype<figures>}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_desc-{desc}]_{suffix<bold>}.{extension<html|svg>}"
135+
"sub-{subject}[/ses-{session}]/{datatype<anat>|anat}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_res-{resolution}][_desc-{desc}]_{suffix<T1w|T2w|T1rho|T1map|T2map|T2starmap|FLAIR|FLASH|PDmap|PD|PDT2|dseg|inplaneT[12]|angio>}{extension<.nii|.nii.gz|.json>|.nii.gz}",
136+
"sub-{subject}[/ses-{session}]/{datatype<anat>|anat}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}]_from-{from}_to-{to}_mode-{mode<image|points>|image}_{suffix<xfm>|xfm}{extension<.txt|.h5>}",
137+
"sub-{subject}[/ses-{session}]/{datatype<anat>|anat}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_den-{density}]_hemi-{hemi<L|R>}_{suffix<wm|smoothwm|pial|midthickness|inflated|vinflated|sphere|flat>}{extension<.surf.gii>}",
138+
"sub-{subject}[/ses-{session}]/{datatype<anat>|anat}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_res-{resolution}]_desc-{desc}_{suffix<mask>|mask}{extension<.nii|.nii.gz|.json>|.nii.gz}",
139+
"sub-{subject}[/ses-{session}]/{datatype<anat>|anat}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_res-{resolution}]_label-{label}[_desc-{desc}]_{suffix<probseg>|probseg}{extension<.nii|.nii.gz|.json>|.nii.gz}",
140+
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_res-{resolution}][_desc-{desc}]_{suffix<bold|cbv|phase|sbref|boldref|dseg>}{extension<.nii|.nii.gz|.json>|.nii.gz}",
141+
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}]_from-{from}_to-{to}_mode-{mode<image|points>|image}_{suffix<xfm>|xfm}{extension<.txt|.h5>}",
142+
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_res-{resolution}]_desc-{desc}_{suffix<mask>|mask}{extension<.nii|.nii.gz|.json>|.nii.gz}",
143+
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_desc-{desc}]_{suffix<AROMAnoiseICs>|AROMAnoiseICs}{extension<.csv|.tsv>|.csv}",
144+
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_desc-{desc}]_{suffix<timeseries|regressors>|timeseries}{extension<.json|.tsv>|.tsv}",
145+
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_desc-{desc}]_{suffix<components|mixing>|components}{extension<.json|.tsv|.nii|.nii.gz>|.tsv}",
146+
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_desc-{desc}]_{suffix<decomposition>|decomposition}{extension<.json>|.json}",
147+
"sub-{subject}[/ses-{session}]/{datatype<func>|func}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_den-{density}][_hemi-{hemi<L|R>}][_desc-{desc}]_{suffix<bold>}{extension<.dtseries.nii|.dtseries.json|.func.gii|.func.json>}",
148+
"sub-{subject}[/ses-{session}]/{datatype<dwi>|dwi}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_res-{resolution}][_desc-{desc}]_{suffix<dwi|epiref|lowb|dseg>}{extension<.json|.nii.gz|.nii>|.nii.gz}",
149+
"sub-{subject}[/ses-{session}]/{datatype<dwi>|dwi}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_res-{resolution}]_desc-{desc}_{suffix<mask>}{extension<.json|.nii.gz|.nii>|.nii.gz}",
150+
"sub-{subject}[/ses-{session}]/{datatype<dwi>|dwi}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_res-{resolution}][_desc-{desc}]_{suffix<dwi>}{extension<.tsv|.bval|.bvec>|.tsv}",
151+
"sub-{subject}[/ses-{session}]/{datatype<fmap>|fmap}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_dir-{direction}][_run-{run}][_space-{space}][_cohort-{cohort}][_res-{resolution}][_desc-{desc}]_{suffix<fieldmap>}{extension<.nii|.nii.gz|.json>|.nii.gz}",
152+
"sub-{subject}/{datatype<figures>}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_desc-{desc}]_{suffix<T1w|T2w|T1rho|T1map|T2map|T2star|FLAIR|FLASH|PDmap|PD|PDT2|inplaneT[12]|angio|dseg|mask|dwi|epiref|fieldmap>}{extension<.html|.svg>}",
153+
"sub-{subject}/{datatype<figures>}/sub-{subject}[_ses-{session}][_acq-{acquisition}][_ce-{ceagent}][_rec-{reconstruction}][_run-{run}][_space-{space}][_cohort-{cohort}][_desc-{desc}]_{suffix<dseg|mask|dwi|epiref|fieldmap>}{extension<.html|.svg>}",
154+
"sub-{subject}/{datatype<figures>}/sub-{subject}[_ses-{session}]_task-{task}[_acq-{acquisition}][_ce-{ceagent}][_dir-{direction}][_rec-{reconstruction}][_run-{run}][_echo-{echo}][_space-{space}][_cohort-{cohort}][_desc-{desc}]_{suffix<bold>}{extension<.html|.svg>}"
155155
]
156156
}

0 commit comments

Comments
 (0)