[Insight-users] GDCM crashes when reading some dicom images
Jesús Spínola
jspinola at gmail.com
Thu Apr 24 16:10:11 EDT 2008
Hello,
I'm using itk 2.8.1 and I have a problem reading some DICOM images with
itkGDCMImageIO. For most of images I opened since now, it works ok, but I
have images from several studies that is not able to open because it crashes
with a SIGFPE (floating point exception). When debugging, this is the
message after crashing
Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread -1223084336 (LWP 6551)]
0xb7de14e6 in gdcm::PixelReadConvert::ConvertReArrangeBits () from
/usr/lib/InsightToolkit/libitkgdcm.so.2.8
and the backtrace is the following:
#0 0xb7de14e6 in gdcm::PixelReadConvert::ConvertReArrangeBits () from
/usr/lib/InsightToolkit/libitkgdcm.so.2.8
#1 0xb7de9c31 in gdcm::PixelReadConvert::ReadAndDecompressPixelData () from
/usr/lib/InsightToolkit/libitkgdcm.so.2.8
#2 0xb7dbd69c in gdcm::FileHelper::GetRaw () from
/usr/lib/InsightToolkit/libitkgdcm.so.2.8
#3 0xb7dbebf2 in gdcm::FileHelper::GetImageData () from
/usr/lib/InsightToolkit/libitkgdcm.so.2.8
#4 0xb7ee1892 in itk::GDCMImageIO::Read () from
/usr/lib/InsightToolkit/libITKIO.so.2.8
#5 0x08061964 in itk::ImageFileReader<itk::Image<int, 3u>,
itk::DefaultConvertPixelTraits<int> >::GenerateData ()
#6 0xb7a62380 in itk::ProcessObject::UpdateOutputData () from
/usr/lib/InsightToolkit/libITKCommon.so.2.8
#7 0xb7a1f969 in itk::DataObject::UpdateOutputData () from
/usr/lib/InsightToolkit/libITKCommon.so.2.8
#8 0xb7a1f770 in itk::DataObject::Update () from
/usr/lib/InsightToolkit/libITKCommon.so.2.8
#9 0xb7a5ffca in itk::ProcessObject::UpdateLargestPossibleRegion () from
/usr/lib/InsightToolkit/libITKCommon.so.2.8
#10 0x0805d6c0 in itk::ImageSeriesReader<itk::Image<int, 3u> >::GenerateData
()
#11 0xb7a62380 in itk::ProcessObject::UpdateOutputData () from
/usr/lib/InsightToolkit/libITKCommon.so.2.8
#12 0xb7a1f969 in itk::DataObject::UpdateOutputData () from
/usr/lib/InsightToolkit/libITKCommon.so.2.8
#13 0xb7a1f770 in itk::DataObject::Update () from
/usr/lib/InsightToolkit/libITKCommon.so.2.8
#14 0xb7a60062 in itk::ProcessObject::Update () from
/usr/lib/InsightToolkit/libITKCommon.so.2.8
#15 0x0804e0f4 in main ()
To test this problem I've writen a little program I've attached
(gdcmBug.cpp) reproducing the problem. You can use the following anonymized
study ( http://hades.udg.edu/~chus/study1.tar.gz<http://hades.udg.edu/%7Echus/study1.tar.gz>)
with some series to test this bug. It crashes with any of the images
of
the study.
I also tried to read the same images with other libraries such as vtk or
dcmtk and they're able to open the same images successfully.
Assuming ITKINCLUDEDIR is /usr/include/InsightToolkit and ITKLIBDIR is
/usr/lib/InsightToolkit, the compile command for g++ is the following
* g++ -o gdcmBug gdcmBug.o -I. -I/usr/include/InsightToolkit
-I/usr/include/InsightToolkit/IO -I/usr/include/InsightToolkit/gdcm/src
-L/usr/lib/InsightToolkit -lITKIO -litkgdcm*
To run this test you have to pass by argument the files you want to read.
For example, if you want to read 3 images (im1, im2, im3) from the same
series:
$>gdcmBug im1 im2 im3
If you want to test with only one single image
$>gdcmbug im1
and so on...
I tested this under Linux Mandriva 2008.0 and Kubuntu Feisty 7.04.
Maybe this bug is resolved in a more recent version of itk, but I don't know
it. If so, let me know which version has solved this problem.
I hope this test and the images I provided can help to find the problem. I
have more images to reproduce the problem, if necessary.
Thanks in advance!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20080424/a9c8940d/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gdcmBug.cpp
Type: application/octet-stream
Size: 2497 bytes
Desc: not available
URL: <http://www.itk.org/pipermail/insight-users/attachments/20080424/a9c8940d/attachment.obj>
More information about the Insight-users
mailing list