icometrix / dicom2nifti

MIT License
341 stars 79 forks source link

MP-RAGE conversion for GE wrongly assumes multiframe and fails #128

Closed IlonaLipp closed 1 year ago

IlonaLipp commented 1 year ago

Hi,

I tried converting an MP-RAGE from a GE scanner (part of the ADNI dataset), and using your package as it is, I get "AttributeError: module 'dicom2nifti' has no attribute 'settings'", the conversion failing.

I managed to trouble-shoot the error and what I found was that the culprit is the function "is_multiframe_dicom(dicom_input)" in common.py. It wrongly concludes that my data are 4D, as the header file (of my 3D anatomical image) possesses the field "PerFrameFunctionalGroupsSequence", even though it is empty.

When I comment out the following two lines from common.py, the conversion works:

if "PerFrameFunctionalGroupsSequence" in header: return True

Not sure that this is the best solution to deal with it, I now do get warnings "Removing duplicate slice from series".

I hope you find a way to prevent this issue in the future, thanks very much for the package,

Ilona

abrys commented 1 year ago

Dear Ilona,

We do have quite some experience with data from adni however never encountered any such issue. What you are describing sounds like the data was at some point wrongly converted to multiframe and back or something like that.

To my knowledge GE does not export any multiframe dicoms and the "PerFrameFunctionalGroupsSequence" should only be present in multiframe dicoms.

As we use dicom2nifti in our clinical applications / medical device software we probably will not fix such conversion issues as typically we would want to avoid running on data that has been tampered with.

Could you perhaps point me to which specific case you are encountering the issues with? Dataset/Patient/Study I will see if I can implement a fix without breaking any other conversions.

Kind regards, Arne

abrys commented 1 year ago

Found some of the impacted data. Small update should support this type of data.

abrys commented 1 year ago

Fix included in 2.4.8 release