From c5f89c60abe4049b595810f52e187ac8d551c4a9 Mon Sep 17 00:00:00 2001 From: Taylor Salo Date: Thu, 24 Feb 2022 15:10:02 -0500 Subject: [PATCH] SCHEMA: Encode first two MR metadata tables as "sidecars.yml" (#1016) Co-authored-by: Christopher J. Markiewicz --- src/schema/rules/sidecars.yml | 103 ++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 src/schema/rules/sidecars.yml diff --git a/src/schema/rules/sidecars.yml b/src/schema/rules/sidecars.yml new file mode 100644 index 0000000000..5acd81d19f --- /dev/null +++ b/src/schema/rules/sidecars.yml @@ -0,0 +1,103 @@ +# +# Groups of related metadata fields +# +# Assumptions: never need disjunction of selectors +# Assumptions: top-to-bottom overrides is sufficient logic + + +--- +MRIScannerHardware: + selectors: + - modality == "MRI" + fields: + Manufacturer: + level: RECOMMENDED + addendum: Corresponds to DICOM Tag 0008, 0070 `Manufacturer`. + ManufacturersModelName: + level: RECOMMENDED + addendum: Corresponds to DICOM Tag 0008, 1090 `Manufacturers Model Name`. + DeviceSerialNumber: + level: RECOMMENDED + addendum: Corresponds to DICOM Tag 0018, 1000 `DeviceSerialNumber`. + StationName: + level: RECOMMENDED + addendum: Corresponds to DICOM Tag 0008, 1010 `Station Name`. + SoftwareVersions: + level: RECOMMENDED + addendum: Corresponds to DICOM Tag 0018, 1020 `Software Versions`. + HardcopyDeviceSoftwareVersion: DEPRECATED + MagneticFieldStrength: + level: RECOMMENDED, but REQUIRED for Arterial Spin Labeling + ReceiveCoilName: RECOMMENDED + ReceiveCoilActiveElements: RECOMMENDED + GradientSetType: RECOMMENDED + MRTransmitCoilSequence: RECOMMENDED + MatrixCoilMode: RECOMMENDED + CoilCombinationMethod: RECOMMENDED + +MRISequenceSpecifics: + selectors: + - modality == "MRI" + fields: + PulseSequenceType: RECOMMENDED + ScanningSequence: RECOMMENDED + SequenceVariant: RECOMMENDED + ScanOptions: RECOMMENDED + SequenceName: RECOMMENDED + PulseSequenceDetails: RECOMMENDED + NonlinearGradientCorrection: RECOMMENDED, but REQUIRED if [PET](./09-positron-emission-tomography.md) data are present + MRAcquisitionType: RECOMMENDED, but REQUIRED for Arterial Spin Labeling + MTState: RECOMMENDED + MTOffsetFrequency: OPTIONAL + MTPulseBandwidth: OPTIONAL + MTNumberOfPulses: OPTIONAL + MTPulseShape: OPTIONAL + MTPulseDuration: OPTIONAL + SpoilingState: RECOMMENDED + SpoilingType: OPTIONAL + SpoilingRFPhaseIncrement: OPTIONAL + SpoilingGradientMoment: OPTIONAL + SpoilingGradientDuration: OPTIONAL + +PETMRISequenceSpecifics: + selectors: + - modality == "MRI" + - "PET" in dataset.modalities + fields: + NonLinearGradientCorrection: REQUIRED + +ASLMRISequenceSpecifics: + selectors: + - modality == "MRI" + - datatype == "perf" + fields: + MRAcquisitionType: REQUIRED + +MTParameters: + selectors: + - sidecar.MTState == True + fields: + MTOffsetFrequency: RECOMMENDED + MTPulseBandwidth: RECOMMENDED + MTNumberOfPulses: RECOMMENDED + MTPulseShape: RECOMMENDED + MTPulseDuration: RECOMMENDED + +SpoilingType: + selectors: + - sidecar.SpoilingState == True + fields: + SpoilingType: RECOMMENDED + +SpoilingRF: + selectors: + - sidecar.SpoilingType in ["RF", "COMBINED"] + fields: + SpoilingRFPhaseIncrement: RECOMMENDED + +SpoilingGradient: + selectors: + - sidecar.SpoilingType in ["GRADIENT", "COMBINED"] + fields: + SpoilingGradientMoment: RECOMMENDED + SpoilingGradientDuration: RECOMMENDED