Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ENH] Add generic metadata from BEP22 to MRI #1396

Merged
merged 9 commits into from
Apr 11, 2024
12 changes: 12 additions & 0 deletions src/modality-specific-files/magnetic-resonance-imaging-data.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,18 @@ A guide for using macros can be found at
-->
{{ MACROS___make_sidecar_table("mri.MRIEchoPlanarImagingAndB0Mapping") }}

#### Tissue description

<!-- This block generates a metadata table.
These tables are defined in
src/schema/rules/sidecars
The definitions of the fields specified in these tables may be found in
src/schema/objects/metadata.yaml
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.MRISample") }}

## Anatomy imaging data

Anatomy MRI sequences measure static, structural features of the brain.
Expand Down
12 changes: 12 additions & 0 deletions src/modality-specific-files/positron-emission-tomography.md
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,18 @@ A guide for using macros can be found at

{{ MACROS___make_sidecar_table("pet.PETInstitutionInformation") }}

#### Tissue description

<!-- This block generates a metadata table.
These tables are defined in
src/schema/rules/sidecars
The definitions of the fields specified in these tables may be found in
src/schema/objects/metadata.yaml
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("pet.PETSample") }}

#### Task

If the OPTIONAL [`task-<label>`](../appendices/entities.md#task) is used,
Expand Down
36 changes: 36 additions & 0 deletions src/schema/objects/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,18 @@ B0FieldSource:
- type: array
items:
type: string
B0ShimmingTechnique:
name: B0ShimmingTechnique
display_name: B0 Shimming Technique
description: |
The technique used to shim the *B<sub>0</sub>* field (for example, `"Dynamic shim updating"` or `"FASTMAP"`).
markmikkelsen marked this conversation as resolved.
Show resolved Hide resolved
type: string
B1ShimmingTechnique:
name: B1ShimmingTechnique
display_name: B1 Shimming Technique
description: |
The technique used to shim the *B<sub>1</sub>* field (for example, `"Simple phase align"`).
markmikkelsen marked this conversation as resolved.
Show resolved Hide resolved
type: string
BIDSVersion:
name: BIDSVersion
display_name: BIDS Version
Expand Down Expand Up @@ -2197,6 +2209,12 @@ NumberOfVolumesDiscardedByUser:
`"NumberOfVolumesDiscardedByUser"` field.
type: integer
minimum: 0
NumberReceiveCoilActiveElements:
name: NumberReceiveCoilActiveElements
display_name: Number of Receive Coil Active Elements
description: |
The number of active RF elements used by the receive coil.
type: integer
NumberShots:
name: NumberShots
display_name: Number Shots
Expand All @@ -2216,6 +2234,12 @@ NumberShots:
- type: array
items:
type: number
NumberTransmitCoilActiveElements:
name: NumberTransmitCoilActiveElements
display_name: Number of Transmit Coil Active Elements
description: |
The number of active RF elements used by the transmit coil.
type: integer
NumericalAperture:
name: NumericalAperture
display_name: Numerical Aperture
Expand Down Expand Up @@ -3578,6 +3602,18 @@ VolumeTiming:
items:
type: number
unit: s
WaterSuppression:
name: WaterSuppression
display_name: Water Suppression
description: |
Boolean indicating whether water suppression was used prior to acquisition.
type: boolean
WaterSuppressionTechnique:
name: WaterSuppressionTechnique
display_name: Water Suppression Technique
description: |
The name of the pulse sequence used for water suppression (for example, `"CHESS"`, `"VAPOR"`).
type: string
WholeBloodAvail:
name: WholeBloodAvail
display_name: Whole Blood Avail
Expand Down
6 changes: 6 additions & 0 deletions src/schema/rules/sidecars/mri.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,12 @@ MRIHardware:
level: recommended, but required for Arterial Spin Labeling
ReceiveCoilName: recommended
ReceiveCoilActiveElements: recommended
NumberReceiveCoilActiveElements: optional
GradientSetType: recommended
MRTransmitCoilSequence: recommended
MatrixCoilMode: recommended
CoilCombinationMethod: recommended
NumberTransmitCoilActiveElements: optional

MRIScannerHardwareASL:
selectors:
Expand Down Expand Up @@ -67,6 +69,10 @@ MRISequenceSpecifics:
SpoilingRFPhaseIncrement: optional
SpoilingGradientMoment: optional
SpoilingGradientDuration: optional
WaterSuppression: optional
WaterSuppressionTechnique: optional
Comment on lines +82 to +83
Copy link
Contributor

@markmikkelsen markmikkelsen Feb 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@effigies DICOM tag (0018,9025) fits these, but the value is not boolean as is proposed in #1377. The DICOM tag also covers OuterVolumeSuppression that the MRS BEP includes (which would be the FAT value in DICOM).

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So do we want to add something like the following to WaterSuppression:

Corresponds to DICOM Tag 0018, 9025 SpectrallySelectedSuppression.
If present and not NONE, then this value SHOULD be True, otherwise False.

And the following to WaterSuppressionTechnique?

Corresponds to DICOM Tag 0018, 9025 SpectrallySelectedSuppression.
May be omitted if the value is NONE.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me! And the same would be the case for OuterVolumeSuppression.

B0ShimmingTechnique: optional
B1ShimmingTechnique: optional

PETMRISequenceSpecifics:
selectors:
Expand Down