[ITK] Reading old Philips DICOM

Pölönen Harri Harri.Polonen at vtt.fi
Thu Mar 20 04:58:22 EDT 2014


Hi,

thanks for the reply Bradley. In debug mode I can locate the error into "itkGDCMImageIO.cxx", line 356:
itkAssertInDebugAndIgnoreInReleaseMacro(pixeltype <= outputpt);
The debug stack still goes deeper into "msvcr100d.dll" module, but I guess that's just some system file. The actual Visual Studio error code does not seem to be useful: "Debug Error. R6010 - Abort() has been cancelled".

The variable "outputpt" on that line has a value "UINT8", which is correct because the DICOM data actually is 8-bit (but this is not the source of the problem, because the crash occurs also with 16-bit data from Philips Panorama scanner).
The struct variable "pixeltype" has values:
   SamplesPerPixel:1
   BitsAllocated: 16
   BitsStored: 8
   HighBit: 7
   PixelRepresentation: 0
which seem correct to me as well.

Turning Module_ITKIOPhilipsREC on didn't help - the module is probably intended for reading Philips Par/Rec -files and not related to DICOM.

So, I guess I'll be reporting this as a bug and meanwhile try to build a workaround for this (make the software throw a "Data not supported" message to the user).

By the way, is there a list of tested MRI scanners and models for ITK/GDCM DICOM reader somewhere? It would be handy if my program could avoid crashing by detecting incompatible DICOM data.

/Harri, Finland



From: Bradley Lowekamp [mailto:blowekamp at mail.nih.gov]
Sent: 19. Marchta 2014 14:52
To: Pölönen Harri
Cc: community at itk.org
Subject: Re: [ITK] Reading old Philips DICOM

Hello,

Are you able to get a stack trace to determine where the issue is? Perhaps compiled in debug mode.

Also there is the ITK Module IOPhilipsREC which may need to be turn on for this type of file. This module is not on by default. During your cmake configuration you need to turn on Module_ITKIOPhilipsREC.

If turning on this module solves your problem, then there is still a bug in ITK/GDCM that is causing this segmentation fault.

Brad

On Mar 19, 2014, at 8:31 AM, Pölönen Harri <Harri.Polonen at vtt.fi<mailto:Harri.Polonen at vtt.fi>> wrote:


Hi all,

I came across some pretty old DICOM data from Philips Panorama 0.6 T magnetic resonance scanner. The DICOM files can be loaded on ITK 3.20 with GDCM 1.2.4 without any problems. However, the most recent ITK 4.5.1 with GDCM 2.0.17 crashes while trying to read any of those DICOM files. My best guess is that the output from the old Panorama scanner violates modern DICOM standards, and GDCM crashes because it tries to follow the current standard.

Any suggestions on how to read that old DICOM data into ITK 4.5.1?

Going back to using GDCM 1.2x is not an option, because I need the support for the modern DICOM data as well. Should I report this as a bug to GDCM developers?

The crash occurs even with the simple "DicomSeriesReadImageWrite" example while running "reader->update()" line, i.e. probably inside some GDCM function. The error cannot be caught into itk::ExceptionObject.

Thanks!

/Harri Pölönen
Finland
_______________________________________________
Community mailing list
Community at itk.org<mailto:Community at itk.org>
http://public.kitware.com/cgi-bin/mailman/listinfo/community

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20140320/e8d96932/attachment-0002.html>


More information about the Community mailing list