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 coil entity for uncombined MR data #425

Closed
wants to merge 21 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ and a guide for using macros can be found at
"RECOMMENDED",
"See an example below the table.",
),
"CoilString": "RECOMMENDED",
"GradientSetType": "RECOMMENDED",
"MRTransmitCoilSequence": "RECOMMENDED",
"MatrixCoilMode": "RECOMMENDED",
Expand Down Expand Up @@ -319,6 +320,12 @@ sequences using different contrast enhanced images. The label is the name of the
contrast agent. The key `ContrastBolusIngredient` MAY be also be added in the
JSON file, with the same label.

The OPTIONAL [`coil-<label>`](../99-appendices/09-entities.md#coil) key/value can be used to distinguish coil-specific data.
Typically it is used for sequences not employing coil combination (for example, SWI).
When the file contains data from a single coil, `coil-<label>` SHOULD be provided.
The key `CoilString` MAY also be added in the JSON file, with a corresponding
tsalo marked this conversation as resolved.
Show resolved Hide resolved
identifier for the coil.

Some meta information about the acquisition MAY be provided in an additional
JSON file. See [Common metadata fields](#common-metadata-fields) for a
list of terms and their definitions. There are also some OPTIONAL JSON
Expand Down Expand Up @@ -529,6 +536,11 @@ reconstruction algorithms (for example ones using motion correction).
See [`fmap` Case 4](01-magnetic-resonance-imaging-data.md#case-4-multiple-phase-encoded-directions-pepolar)
for more information on `dir` field specification.

Similarly the OPTIONAL [`coil-<label>`](../99-appendices/09-entities.md#coil) key/value can be used to distinguish
coil-specific data from sequences not employing coil combination.
The key `CoilString` MAY also be added in the JSON file, with a corresponding
coil identifier.

Multi-echo data MUST be split into one file per echo using the
[`echo-<index>`](../99-appendices/09-entities.md#echo) entity. For example:

Expand Down
17 changes: 17 additions & 0 deletions src/schema/metadata/CoilString.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: CoilString
description: |
Information describing the selected element of the receiver coil for channel-level data.
This doesn’t correspond to a tag in the DICOM ontology.
The vendor-defined identifier for individual channels can go in this field.
As an example, for Siemens, while coil channels are typically not activated/selected
individually, data from individual channels may be reconstructed separately.
The DICOM files containing the combined data will have a `CoilString` entry matching the
terminology of `ReceiveCoilActiveElements` (for example, `"HEA;HEP"` for the Siemens standard
32-channel coil when both the anterior and posterior groups are activated),
while the DICOM files containing channel-level data will have a `CoilString` entry with a
unique identifier for the channel (for example, `"H1-H32"` for the Siemens standard 32-channel
coil when both the anterior and posterior groups are activated).
This is a flexible field that can be used as most appropriate for a given vendor and coil to
define the reconstructed channel.
type: string
11 changes: 11 additions & 0 deletions src/schema/objects/entities.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,17 @@ chunk:
different fields of view acquired in the same imaging experiment.
type: string
format: index
coil:
name: coil
display_name: Coil
description: |
The `coil-<label>` key/value pair can be used to distinguish coil-specific data.
Typically it is used for sequences not employing coil combination (for example, SWI).
When the file contains data from a single coil, `coil-<label>` SHOULD be provided.
The key `"CoilString"` MAY also be added in the JSON file, with a
corresponding identifier for the coil.
type: string
format: label
density:
name: den
display_name: Density
Expand Down
1 change: 1 addition & 0 deletions src/schema/rules/datatypes/anat.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ nonparametric:
ceagent: optional
reconstruction: optional
part: optional
coil: optional

parametric:
suffixes:
Expand Down
1 change: 1 addition & 0 deletions src/schema/rules/datatypes/func.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ func:
run: optional
echo: optional
part: optional
coil: optional

phase:
suffixes:
Expand Down
1 change: 1 addition & 0 deletions src/schema/rules/entities.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
- inversion
- mtransfer
- part
- coil
- processing
- hemisphere
- space
Expand Down