From 466e212626b3a8a7f068b39ba53639bd2fca387a Mon Sep 17 00:00:00 2001 From: Taylor Salo Date: Fri, 22 Sep 2023 12:44:26 -0400 Subject: [PATCH] Recommend SliceTiming if MRAcquisitionType is "2D" (#1594) * Recommend SliceTiming if MRAcquisitionType is "2D" * SliceEncodingDirection is rec only if 2D. --- .../magnetic-resonance-imaging-data.md | 2 +- src/schema/rules/sidecars/mri.yaml | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/modality-specific-files/magnetic-resonance-imaging-data.md b/src/modality-specific-files/magnetic-resonance-imaging-data.md index 7099836c40..63effbfa1d 100644 --- a/src/modality-specific-files/magnetic-resonance-imaging-data.md +++ b/src/modality-specific-files/magnetic-resonance-imaging-data.md @@ -98,7 +98,7 @@ The definitions of the fields specified in these tables may be found in A guide for using macros can be found at https://github.com/bids-standard/bids-specification/blob/master/macros_doc.md --> -{{ MACROS___make_sidecar_table("mri.MRITimingParameters") }} +{{ MACROS___make_sidecar_table(["mri.MRITimingParameters", "mri.SliceTimingMRI"]) }} ### RF & Contrast diff --git a/src/schema/rules/sidecars/mri.yaml b/src/schema/rules/sidecars/mri.yaml index f93c856690..521a70c701 100644 --- a/src/schema/rules/sidecars/mri.yaml +++ b/src/schema/rules/sidecars/mri.yaml @@ -187,13 +187,19 @@ MRITimingParameters: should only be used when the volume timing is critical for interpretation of the data, such as in ASL or variable echo time fMRI sequences. InversionTime: recommended + DwellTime: recommended + +SliceTimingMRI: + selectors: + - modality == "mri" + - sidecar.MRAcquisitionType == "2D" + fields: SliceTiming: level: recommended level_addendum: | required for sparse sequences that do not have the `DelayTime` field set, and Arterial Spin Labeling with `MRAcquisitionType` set on `2D`. SliceEncodingDirection: recommended - DwellTime: recommended SliceTimingASL: selectors: @@ -207,7 +213,7 @@ SliceTimingASL: issue: code: SLICE_TIMING_NOT_DEFINED_2D_ASL message: | - You should define `SliceTiming` for this file, because `SequenceType` is sets + You should define `SliceTiming` for this file, because `SequenceType` is set to a 2D sequence. `SliceTiming` is the time at which each slice was acquired within each volume (frame) of the acquisition. Slice timing is not slice order -- rather, it is a list of times containing the