Reading images from Dicom

187 views
Skip to first unread message

Nikhil P Kookkiri

unread,
Dec 14, 2022, 7:51:38 AM12/14/22
to dcm4che
Hello all,

I am getting the following error while trying to read images from 'certain' DICOM files. Its not occurring with all DICOM objects. Here is the snippet of the error:

ERROR [stderr] (default task-17) java.lang.IllegalArgumentException: Width (0) and height (0) must be > 0

at java.awt.image.SampleModel.<init>(SampleModel.java:126)

at java.awt.image.ComponentSampleModel.<init>(ComponentSampleModel.java:140)

at java.awt.image.PixelInterleavedSampleModel.<init>(PixelInterleavedSampleModel.java:87)

at java.awt.image.Raster.createInterleavedRaster(Raster.java:642)

at java.awt.image.Raster.createInterleavedRaster(Raster.java:278)

at org.weasis.opencv.op.ImageConversion.toBufferedImage(ImageConversion.java:86)

at org.weasis.opencv.op.ImageConversion.toBufferedImage(ImageConversion.java:117)

at org.dcm4che3.opencv.NativeImageReader.read(NativeImageReader.java:252)

at org.dcm4che3.imageio.plugins.dcm.DicomImageReader.read(DicomImageReader.java:452)

at javax.imageio.ImageReader.readAll(ImageReader.java:1065)

----------------------

Here is my code:

DicomInputStream dis = new DicomInputStream(new ByteArrayInputStream(Files.readAllBytes(Paths.get(dicomFile.getPath()))));

ImageReader reader = ImageIO.getImageReadersByFormatName("DICOM").next();

reader.setInput(dis);

DicomImageReadParam   readParam =  (DicomImageReadParam) reader.getDefaultReadParam();

reader.set Input(dis);

IIOImage ioImg =reader.readAll(0, readParam);

Strange thing is, it is happening with certain DICOM files only and works well with most of them. I am kind of stuck on how to fix this. Any pointers will be really helpful.

Thanks,

Nikhil P Kookkiri

Nicolas Roduit

unread,
Jan 9, 2023, 3:44:16 PM1/9/23
to dcm4che
Without a sample, it is not possible to give you an answer. The log above only shows that the image has no pixels but not the root cause.
Reply all
Reply to author
Forward
0 new messages