Skip to content

Commit

Permalink
SCHEMA: Encode first two MR metadata tables as "sidecars.yml" (#1016)
Browse files Browse the repository at this point in the history
Co-authored-by: Christopher J. Markiewicz <[email protected]>
  • Loading branch information
tsalo and effigies authored Feb 24, 2022
1 parent 9201b20 commit c5f89c6
Showing 1 changed file with 103 additions and 0 deletions.
103 changes: 103 additions & 0 deletions src/schema/rules/sidecars.yml
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit c5f89c6

Please sign in to comment.