From 6e2874cec52c48ae1b30fc8d32ba9ffa1fdad6d4 Mon Sep 17 00:00:00 2001 From: Chris Markiewicz Date: Thu, 24 Oct 2024 16:20:14 -0400 Subject: [PATCH] fix(checks): Enforce timing mutual exclusions on BOLD/ASL data only (#1969) --- src/schema/rules/checks/func.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/schema/rules/checks/func.yaml b/src/schema/rules/checks/func.yaml index 03570a058d..7966a6bf3a 100644 --- a/src/schema/rules/checks/func.yaml +++ b/src/schema/rules/checks/func.yaml @@ -88,6 +88,8 @@ VolumeTimingRepetitionTimeMutex: or 'VolumeTiming' when variable times are used. level: error selectors: + - type(nifti_header) != "null" + - intersects([suffix], ["asl", "bold"]) - type(sidecar.VolumeTiming) != "null" checks: - type(sidecar.RepetitionTime) == "null" @@ -101,6 +103,8 @@ RepetitionTimeAcquisitionDurationMutex: (RepetitionTime - AcquisitionDuration). level: error selectors: + - type(nifti_header) != "null" + - intersects([suffix], ["asl", "bold"]) - type(sidecar.AcquisitionDuration) != "null" checks: - type(sidecar.RepetitionTime) == "null" @@ -113,6 +117,8 @@ VolumeTimingDelayTimeMutex: To specify acquisition duration, use 'AcquisitionDuration' or 'SliceTiming'. level: error selectors: + - type(nifti_header) != "null" + - intersects([suffix], ["asl", "bold"]) - type(sidecar.VolumeTiming) != "null" checks: - type(sidecar.DelayTime) == "null" @@ -124,6 +130,8 @@ VolumeTimingMissingAcquisitionDuration: The field 'VolumeTiming' requires 'AcquisitionDuration' or 'SliceTiming' to be defined. level: error selectors: + - type(nifti_header) != "null" + - intersects([suffix], ["asl", "bold"]) - type(sidecar.VolumeTiming) != "null" checks: - '"SliceTiming" in sidecar || "AcquisitionDuration" in sidecar'