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