Skip to content

Commit 1ef102b

Browse files
authored
FIX: Add MRS events files, restrict sidecar metadata checks to data files (#1875)
* FIX: Add MRS events files, restrict sidecar metadata checks to data files * FIX: Do not limit suffixes for filename template
1 parent b0bea61 commit 1ef102b

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

src/modality-specific-files/magnetic-resonance-spectroscopy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ The inputs for this macro can be found in the directory
2121
and a guide for using macros can be found at
2222
https://github.com/bids-standard/bids-specification/blob/master/macros_doc.md
2323
-->
24-
{{ MACROS___make_filename_template("raw", datatypes=["mrs"], suffixes=["svs", "mrsi", "unloc", "mrsref"]) }}
24+
{{ MACROS___make_filename_template("raw", datatypes=["mrs"]) }}
2525

2626
MRS is a spectroscopic technique based on the phenomenon of nuclear magnetic resonance
2727
that allows for the noninvasive detection and quantification of molecules in biochemical samples, such as brain tissue.

src/schema/rules/files/raw/task.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,16 @@ events__pet:
9191
reconstruction: optional
9292
run: optional
9393

94+
events__mrs:
95+
$ref: rules.files.raw.task.events
96+
datatypes:
97+
- mrs
98+
entities:
99+
$ref: rules.files.raw.task.events.entities
100+
reconstruction: optional
101+
nucleus: optional
102+
volume: optional
103+
94104
timeseries__func:
95105
$ref: rules.files.raw.task.timeseries
96106
datatypes:

src/schema/rules/sidecars/mrs.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
MRSScannerHardware:
1010
selectors:
1111
- modality == "mrs"
12+
- match(extension, "^\.nii(\.gz)?$")
1213
fields:
1314
InstitutionName: recommended
1415
InstitutionAddress: recommended
@@ -27,6 +28,7 @@ MRSScannerHardware:
2728
MRSSample:
2829
selectors:
2930
- modality == "mrs"
31+
- match(extension, "^\.nii(\.gz)?$")
3032
fields:
3133
BodyPart:
3234
level: optional
@@ -40,6 +42,7 @@ MRSSample:
4042
MRSSampleVOI:
4143
selectors:
4244
- modality == "mrs"
45+
- match(extension, "^\.nii(\.gz)?$")
4346
- '"volume" in entities'
4447
fields:
4548
BodyPart: required
@@ -48,6 +51,7 @@ MRSSampleVOI:
4851
MRSSequenceSpecifics:
4952
selectors:
5053
- modality == "mrs"
54+
- match(extension, "^\.nii(\.gz)?$")
5155
fields:
5256
PulseSequenceType:
5357
level: recommended
@@ -65,6 +69,7 @@ MRSSequenceSpecifics:
6569
MRSRequiredFields:
6670
selectors:
6771
- modality == "mrs"
72+
- match(extension, "^\.nii(\.gz)?$")
6873
fields:
6974
ResonantNucleus: required
7075
SpectrometerFrequency: required
@@ -74,6 +79,7 @@ MRSRequiredFields:
7479
MRSRecommendedFields:
7580
selectors:
7681
- modality == "mrs"
82+
- match(extension, "^\.nii(\.gz)?$")
7783
fields:
7884
NumberOfSpectralPoints: recommended
7985
MixingTime: recommended
@@ -84,6 +90,7 @@ MRSRecommendedFields:
8490
MRSRepetitionTime:
8591
selectors:
8692
- modality == "mrs"
93+
- match(extension, "^\.nii(\.gz)?$")
8794
- '!("VolumeTiming" in sidecar)'
8895
fields:
8996
RepetitionTime:
@@ -93,6 +100,7 @@ MRSRepetitionTime:
93100
MRSVolumeTiming:
94101
selectors:
95102
- modality == "mrs"
103+
- match(extension, "^\.nii(\.gz)?$")
96104
- '!("RepetitionTime" in sidecar)'
97105
fields:
98106
VolumeTiming:
@@ -102,6 +110,7 @@ MRSVolumeTiming:
102110
MRSConditionalInversionTime:
103111
selectors:
104112
- modality == "mrs"
113+
- match(extension, "^\.nii(\.gz)?$")
105114
- entities.inversion
106115
fields:
107116
InversionTime:
@@ -111,6 +120,7 @@ MRSConditionalInversionTime:
111120
MRSConditionalAnatomicalImage:
112121
selectors:
113122
- modality == "mrs"
123+
- match(extension, "^\.nii(\.gz)?$")
114124
- intersects(dataset.datatypes, ["anat"])
115125
fields:
116126
AnatomicalImage:
@@ -120,6 +130,7 @@ MRSConditionalAnatomicalImage:
120130
MRSConditionalNumTransients:
121131
selectors:
122132
- modality == "mrs"
133+
- match(extension, "^\.nii(\.gz)?$")
123134
- intersects([suffix], ["svs", "unloc"])
124135
fields:
125136
NumberOfTransients:
@@ -129,6 +140,7 @@ MRSConditionalNumTransients:
129140
MRSIRecommendedFields:
130141
selectors:
131142
- modality == "mrs"
143+
- match(extension, "^\.nii(\.gz)?$")
132144
- suffix == "mrsi"
133145
fields:
134146
MRAcquisitionType:
@@ -147,6 +159,7 @@ MRSIRecommendedFields:
147159
MRSOptionalFields:
148160
selectors:
149161
- modality == "mrs"
162+
- match(extension, "^\.nii(\.gz)?$")
150163
fields:
151164
ChemicalShiftOffset: optional
152165
ChemicalShiftReference: optional

0 commit comments

Comments
 (0)