@@ -38,8 +38,8 @@ MRIHardware:
38
38
ReceiveCoilName : recommended
39
39
ReceiveCoilActiveElements : recommended
40
40
NumberReceiveCoilActiveElements : optional
41
- GradientSetType : recommended
42
- MRTransmitCoilSequence : recommended
41
+ GradientSetType : optional
42
+ MRTransmitCoilSequence : optional
43
43
MatrixCoilMode : recommended
44
44
CoilCombinationMethod : recommended
45
45
NumberTransmitCoilActiveElements : optional
@@ -96,19 +96,27 @@ MRISequenceSpecifics:
96
96
description_addendum : |
97
97
Corresponds to [DICOM Tag 0018, 0020](https://dicomlookup.com/dicomtags/(0018,0020)) `Scanning Sequence`.
98
98
SequenceVariant : recommended
99
- ScanOptions : recommended
99
+ ScanOptions : optional
100
100
SequenceName : recommended
101
101
PulseSequenceDetails : recommended
102
- NonlinearGradientCorrection : |
103
- recommended, but required if [PET](./positron-emission-tomography.md) data are present
104
- MRAcquisitionType : recommended, but required for Arterial Spin Labeling
105
- MTState : recommended
102
+ NonlinearGradientCorrection :
103
+ level : recommended
104
+ level_addendum : required if [PET](./positron-emission-tomography.md) data are present
105
+ MRAcquisitionType :
106
+ level : recommended
107
+ level_addendum : required for Arterial Spin Labeling
108
+ MTState :
109
+ level : optional
110
+ level_addendum : required if the `mt` entity is present
106
111
MTOffsetFrequency : optional
107
112
MTPulseBandwidth : optional
108
113
MTNumberOfPulses : optional
109
114
MTPulseShape : optional
110
115
MTPulseDuration : optional
111
- SpoilingState : recommended
116
+ NumberShots :
117
+ level : optional
118
+ level_addendum : required for some qMRI sequences
119
+ SpoilingState : optional
112
120
SpoilingType : optional
113
121
SpoilingRFPhaseIncrement : optional
114
122
SpoilingGradientMoment : optional
@@ -168,22 +176,54 @@ MRISpatialEncoding:
168
176
- modality == "mri"
169
177
- match(extension, "^\.nii(\.gz)?$")
170
178
fields :
171
- NumberShots : recommended
172
- ParallelReductionFactorInPlane : recommended
173
- ParallelReductionFactorOutOfPlane : recommended
174
- ParallelAcquisitionTechnique : recommended
175
- PartialFourier : recommended
176
- PartialFourierDirection : recommended
179
+ ParallelReductionFactorInPlane :
180
+ level : optional
181
+ level_addendum : recommended if `ParallelAcquisitionTechnique` is defined
182
+ ParallelReductionFactorOutOfPlane :
183
+ level : optional
184
+ level_addendum : recommended if `ParallelAcquisitionTechnique` is defined
185
+ ParallelAcquisitionTechnique : optional
186
+ PartialFourier : optional
187
+ PartialFourierDirection :
188
+ level : optional
189
+ level_addendum : recommended if PartialFourier is defined
177
190
EffectiveEchoSpacing :
178
- level : recommended
179
- level_addendum : required if corresponding fieldmap data present
191
+ level : optional
192
+ level_addendum : recommended if corresponding fieldmap data present
180
193
description_addendum : <sup>2</sup>
181
- MixingTime : recommended
194
+ MixingTime :
195
+ level : optional
196
+ level_addendum : required for some qMRI sequences
197
+
198
+ MRIPartialFourier :
199
+ selectors :
200
+ - modality == "mri"
201
+ - match(extension, "^\.nii(\.gz)?$")
202
+ - type(sidecar.PartialFourier) != "null"
203
+ fields :
204
+ PartialFourierDirection : recommended
205
+
206
+ MRIParallelReductionFactorInPlane :
207
+ selectors :
208
+ - modality == "mri"
209
+ - match(extension, "^\.nii(\.gz)?$")
210
+ - type(sidecar.ParallelAcquisitionTechnique) == "string"
211
+ fields :
212
+ ParallelReductionFactorInPlane : recommended
213
+
214
+ MRIParallelReductionFactorOutOfPlane :
215
+ selectors :
216
+ - modality == "mri"
217
+ - match(extension, "^\.nii(\.gz)?$")
218
+ - type(sidecar.ParallelAcquisitionTechnique) == "string"
219
+ - sidecar.MRAcquisitionType == "3D"
220
+ fields :
221
+ ParallelReductionFactorOutOfPlane : recommended
182
222
183
223
PhaseEncodingDirectionRec :
184
224
selectors :
185
225
- modality == "mri"
186
- - suffix != "epi"
226
+ - intersects( suffix, ["bold", "sbref", "dwi", "asl"])
187
227
- match(extension, "^\.nii(\.gz)?$")
188
228
fields :
189
229
PhaseEncodingDirection :
@@ -194,32 +234,13 @@ PhaseEncodingDirectionRec:
194
234
(which can be later used for field inhomogeneity correction).
195
235
TotalReadoutTime :
196
236
level : recommended
237
+ description_addendum : <sup>3</sup>
197
238
level_addendum : |
198
239
required if corresponding 'field/distortion' maps
199
240
acquired with opposing phase encoding directions are present
200
241
(see [Case 4: Multiple phase encoded
201
242
directions](#case-4-multiple-phase-encoded-directions-pepolar))
202
243
203
- PhaseEncodingDirectionReq :
204
- selectors :
205
- - datatype == "fmap"
206
- - suffix == "epi"
207
- - match(extension, "^\.nii(\.gz)?$")
208
- fields :
209
- PhaseEncodingDirection :
210
- level : required
211
- issue :
212
- code : PHASE_ENCODING_DIRECTION_MUST_DEFINE
213
- message : |
214
- You have to define 'PhaseEncodingDirection' for this file.
215
- TotalReadoutTime :
216
- level : required
217
- description_addendum : <sup>3</sup>
218
- issue :
219
- code : TOTAL_READOUT_TIME_MUST_DEFINE
220
- message : |
221
- You have to define 'TotalReadoutTime' for this file.
222
-
223
244
MRITimingParameters :
224
245
selectors :
225
246
- modality == "mri"
@@ -237,7 +258,9 @@ MRITimingParameters:
237
258
[ASL](SPEC_ROOT/modality-specific-files/magnetic-resonance-imaging-data.md#\
238
259
arterial-spin-labeling-perfusion-data)
239
260
or variable echo time fMRI sequences.
240
- InversionTime : recommended
261
+ InversionTime :
262
+ level : optional
263
+ level_addendum : required if `inv` entity is present
241
264
DwellTime : recommended
242
265
243
266
EchoTimeRequiredASL :
@@ -259,7 +282,7 @@ SliceTimingMRI:
259
282
level_addendum : |
260
283
required for sparse sequences that do not have the `DelayTime` field set,
261
284
and Arterial Spin Labeling with `MRAcquisitionType` set on `2D`.
262
- SliceEncodingDirection : recommended
285
+ SliceEncodingDirection : optional
263
286
264
287
SliceTimingASL :
265
288
selectors :
@@ -346,7 +369,7 @@ MRISliceAcceleration:
346
369
- modality == "mri"
347
370
- match(extension, "^\.nii(\.gz)?$")
348
371
fields :
349
- MultibandAccelerationFactor : recommended
372
+ MultibandAccelerationFactor : optional
350
373
351
374
MRIAnatomicalLandmarks :
352
375
selectors :
@@ -356,20 +379,23 @@ MRIAnatomicalLandmarks:
356
379
fields :
357
380
AnatomicalLandmarkCoordinates__mri : recommended
358
381
359
- MRIB0FieldIdentifier :
360
- selectors :
361
- - datatype == 'fmap'
362
- - match(extension, '\.nii(\.gz)?$')
363
- fields :
364
- B0FieldIdentifier : recommended
365
-
366
382
MRIEchoPlanarImagingAndB0FieldSource :
367
383
selectors :
368
384
- intersects(datatype, ['dwi', 'func', 'perf'])
369
385
- intersects(dataset.datatypes, ['fmap'])
370
386
- match(extension, "^\.nii(\.gz)?$")
371
387
fields :
372
- B0FieldSource : recommended
388
+ B0FieldSource :
389
+ level : recommended
390
+ issue :
391
+ code : B0_FIELD_SOURCE_RECOMMENDED
392
+ message : |
393
+ File is missing B0FieldSource metadata, so it may not be possible to
394
+ perform susceptibility distortion correction on it.
395
+ B0FieldIdentifier metadata permits the flexible selection of images
396
+ for estimating B0 inhomogeneity fields, and B0FieldSource permits EPI
397
+ images to indicate the identifier of the estimated field to use.
398
+ If associations are fully specified with `IntendedFor`, there is no need to change this.
373
399
374
400
MRIInstitutionInformation :
375
401
selectors :
0 commit comments