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

XA30 myomaps BEATs triggers conversion warnings, unusable nifti #845

Closed
bpinsard opened this issue Aug 5, 2024 · 6 comments
Closed

XA30 myomaps BEATs triggers conversion warnings, unusable nifti #845

bpinsard opened this issue Aug 5, 2024 · 6 comments

Comments

@bpinsard
Copy link

bpinsard commented Aug 5, 2024

Describe the bug

I got in my hands XA30, Myomaps, BEATS_map (bunch of various naming), tfi2d1_109 data, apparently used for T1 mapping with the STAGE protocol on Siemens. Supposed to be cardiac imaging but used on brain (waiting on more info from the site).

dicoms are 5 slices x 10 InversionTimes

It stores 1 slice per dicom despite the ICE dims specifying 5: it triggers #742
It also triggers:

The resulting nifti is non-usable: while resulting in a [218, 256, 5, 10] nifti,

  • the slices are not ordered correctly
  • the affine has a zero in the s-form at the position [3,3], so fails on a bunch of nifti loader (related to slices issue above)
  • the inversion times are not ordered (nor split in different files such as for echoes or complex, is that expected?).
  • it takes only a single (first) value for InversionTime in the sidecar.

If I take only 5 dicoms with the same InversionTime, it generates a usable volume.

These are likely non-conform enhanced dicoms (at least for the ICE dims info).

v1.0.20240202

@neurolabusc
Copy link
Collaborator

You might want to see if the latest commits to the development branch help out a bit, as I recently included modifications to aid XA30 data saved as classic DICOMs. Regardless, I would suggest you have the data re-exported as enhanced DICOM, as the XA30 enhanced DICOMs include useful meta data, in particular for complex sequences like this. If these tips do not reoslve your issue, the only other solution would be for you to send a sample dataset to my institutional email.

@bpinsard
Copy link
Author

bpinsard commented Aug 6, 2024

Thanks, I will build the latest and check if that helps.
Do classic dicoms still have some EnhancedMRImageStorage structures (with shared and per-frame sections) ? If so, how do one differentiate between classic and enhanced? The rest of the session series are enhanced dicoms, so I would be surprised that it was separately exported as classic, but I don't have access to the history of that pilot dataset.

@neurolabusc
Copy link
Collaborator

@bpinsard I do not have XA30, so I can not provide much feedback without seeing a dataset. As I recall, the XA30 does provide an option to use classic for some but not all images (as I recall, there is a n option for using enhanced just for the BOLD fMRI, but it does not generalize to other EPI sequences like DWI).

@bpinsard
Copy link
Author

bpinsard commented Aug 7, 2024

build of development branch reduces the number of errors/warnings.

Warning: Discrepancy between reported (0.45361s) and estimated (1.13333s) repetition time (issue 560).
Warning: Images sorted by instance number [0020,0013](21001..21050), but AcquisitionTime [0008,0032] suggests a different order (150744..150710)
::autoBids:Siemens CSAseqFname:'%SiemensSeq%\BEAT_map' pulseSeq:'*tfi2d1_109' seqName:''
Warning: Siemens MoCo? Bogus slice timing (range -1..33155, TR=1133.33 seconds)
Warning: Siemens XA exported as classic not enhanced DICOM (issue 236)

The resulting nifti is now usable and seems structured appropriately by InversionTime.
Thanks! ( closing the issue)

@bpinsard bpinsard closed this as completed Aug 7, 2024
@bpinsard
Copy link
Author

bpinsard commented Aug 7, 2024

One thing though: it only lists the first InversionTime in the sidecar.
Related question: is there a way to print debug which dicoms files goes at which position in the resulting 4d stack, just to ensure that their position makes sense?

@neurolabusc
Copy link
Collaborator

@bpinsard I can not really comment more without seeing sample images. You can observe a lot by running dcm2niix with logorrheic vebosity (-v 2) or use dcmdump or gdcmdump to view the headers (the latter has the -csa flag which is useful for Siemens). I do encourage you to reach out to the Siemens Research Collaboration Manager affiliated with your center, as it is their role to help with these issues.

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

No branches or pull requests

2 participants