Skip to content

Conversation

@kekeke21
Copy link
Contributor

@kekeke21 kekeke21 commented Dec 11, 2025

Hi ISMRMRD/MRD community, we would like to hear your inputs about adding an ImageType to describe variations of reconstructed images used in MRI. Mentioning members who have been at the meeting but open to others @hansenms @naegelejd @johnstairs @rajramasawmy @ahsanjav 

Currently, the MRD format has ImageType field specified as below to serve as the reconstructed image description. However, it is also crucial to save the reconstruction process intermediate values in the image field to associate with reconstructed images #45

ImageType: !enum
  base: uint64
  values:
    magnitude: 1
    phase: 2
    real: 3
    imag: 4
    complex: 5

This suggestion is to add RGBA, bitmaps, and other maps listed below to represent interpretation maps derived from reconstructed images. We would like to hear thoughts and ideas on what to add as a choice of ImageType for each use cases, such as g-factor map for accelerated imaging.

Our current idea is below where RGB was originally in ISMRMRD format and this adds an alpha value to the channel dimension for overlay purpose, or there might be a reason to remove when transitioning from ISMRMRD to MRD?

    rgbamap: 6          # a uint32 image in which MSB = R, G, B, LSB = alpha
    spinDensityMap: 7   # in mol/m^3
    t1Map: 8            # in s
    t2Map: 9            # in s
    t2starMap: 10       # in s
    adcMap: 11          # in s/m^2
    b0Map: 12           # in Hz (offset from Image.head.measurementFreq[0])
    b1Map: 13           # in rad/s/V, channel dimension is xmit channels
    sensitivityMap: 14  # in Vm^3/mol, channel dimension is rcv channels
    userMap: 15         # custom image type with description at ImageMeta

We also considered other options to achieve the similar goal.

  1. Add image type as string values in ImageMeta field. This can add ambiguity and inconsistent notation, hence we chose enumerator to make an explicit labeling.
  2. Add another enumerator field separated from the current ImageType to separate data types (e.g. real, complex) and interpretation (T1 maps, etc.). However, the generic type of ImageData<T> already specifies the data type. We could also refine the existing list to only describe the semantic meaning of the images.

@kekeke21 kekeke21 marked this pull request as draft December 12, 2025 20:40
@kekeke21 kekeke21 force-pushed the feature/add-image-types branch from 2c5dc78 to 444f816 Compare December 15, 2025 17:38
@kekeke21 kekeke21 marked this pull request as ready for review December 15, 2025 17:47
@kekeke21
Copy link
Contributor Author

kekeke21 commented Dec 15, 2025

@naegelejd and @ahsanjav as the user of this type

I will move the maps to the generic NDarray field in mrd_intermediate.yml and how about we keep the rgb-a image type as 6th ImageType from ISMRMRD?

https://ismrmrd.readthedocs.io/en/latest/mrd_image_data.html#image-types

Also, any comments on ArrayTypes to include, aside from the maps above, will be appreciated

@kekeke21 kekeke21 marked this pull request as draft December 16, 2025 14:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant