diff --git a/src/schema/rules/checks/func.yaml b/src/schema/rules/checks/func.yaml index cce740a1ec..a908bfa345 100644 --- a/src/schema/rules/checks/func.yaml +++ b/src/schema/rules/checks/func.yaml @@ -127,3 +127,14 @@ SliceTimingAcquisitionDurationMutex: checks: - type(sidecar.AcquisitionDuration) == "null" - type(sidecar.DelayTime) == "null" + +VolumeTimingMissingAcquisitionDuration: + issue: + code: VOLUME_TIMING_MISSING_ACQUISITION_DURATION + message: | + The field 'VolumeTiming' requires 'AcquisitionDuration' or 'SliceTiming' to be defined. + level: error + selectors: + - type(sidecar.VolumeTiming) != "null" + checks: + - '"SliceTiming" in sidecar || "AcquisitionDuration" in sidecar' diff --git a/src/schema/rules/sidecars/func.yaml b/src/schema/rules/sidecars/func.yaml index dbb4d714e0..7192886407 100644 --- a/src/schema/rules/sidecars/func.yaml +++ b/src/schema/rules/sidecars/func.yaml @@ -57,10 +57,6 @@ MRIFuncTimingParameters: required for sequences that are described with the `VolumeTiming` field and that do not have the `SliceTiming` field set to allow for accurate calculation of "acquisition time" - issue: - code: VOLUME_TIMING_MISSING_ACQUISITION_DURATION - message: | - The field 'VolumeTiming' requires 'AcquisitionDuration' or 'SliceTiming' to be defined. DelayAfterTrigger: recommended # fMRI task information