Can the field map IntendedFor be defined by shims and dimensions? #3

Open
opened 2025-05-06 18:50:00 +00:00 by msz · 1 comment
Member

For BIDS it is important that field maps get annotated (in sidecar json files) with IntendedFor to express their intent. For example, fMRIPrep would not apply field map correction if the information is missing.

Heudiconv can perform automatic matching based on several criteria. I am currently using the same set as in the example, i.e.:

  • 'ImagingVolume': both fmaps and images will need to have the same the imaging volume (the header affine transformation: position, orientation and voxel size, as well as number of voxels along each dimensions).
  • 'Shims': heudiconv will check the ShimSetting in the .json files and will only assign fmaps to images if the ShimSettings are identical for both.

AFAIK, the field map will be accurate only if the parameters match, so I think making the field dependent on shims and dimensions would be OK (it works well for the phantoms). If the IntendedFor does not get assigned, this will be easy to investigate when checking the correctness of the conversion. An alternative would be to match these explicitly (say the field map is always intended for the resting state fMRI -- looking at the acquisition parameters in the Aachen dataset I assume that was the intent) -- in that case we won't have IntendedFor information missing, but it will be harder to determine whether it is accurate.

Is it OK to keep using shims and dimensions?

For BIDS it is important that field maps get annotated (in sidecar json files) with `IntendedFor` to [express their intent](https://bids-specification.readthedocs.io/en/stable/modality-specific-files/magnetic-resonance-imaging-data.html#expressing-the-mr-protocol-intent-for-fieldmaps). For example, fMRIPrep would not apply field map correction if the information is missing. Heudiconv can perform automatic matching based on [several criteria](https://heudiconv.readthedocs.io/en/latest/heuristics.html#populate-intended-for-opts). I am currently using the same set as in the example, i.e.: - 'ImagingVolume': both fmaps and images will need to have the same the imaging volume (the header affine transformation: position, orientation and voxel size, as well as number of voxels along each dimensions). - 'Shims': heudiconv will check the ShimSetting in the .json files and will only assign fmaps to images if the ShimSettings are identical for both. AFAIK, the field map will be accurate only if the parameters match, so I think making the field dependent on shims and dimensions would be OK (it works well for the phantoms). If the IntendedFor does not get assigned, this will be easy to investigate when checking the correctness of the conversion. An alternative would be to match these explicitly (say the field map is always intended for the resting state fMRI -- looking at the acquisition parameters in the Aachen dataset I assume that was the intent) -- in that case we won't have IntendedFor information missing, but it will be harder to determine whether it is accurate. Is it OK to keep using shims and dimensions?
Owner

From my POV this is a workable approach. Let's see what the respective experts say.

From my POV this is a workable approach. Let's see what the respective experts say.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
q02/phantom-mri-bids#3
No description provided.