In this post, I will be showing you how to read DICOM image files in Java.
ImageIO does not support DICOM file types by default so you will need to use an ImageIO plugin or an external library. I will demonstrate using an Open source ImageIO plugin called TwelveMonkeys (which extends ImageIO to provide DICOM reading support), and using the JDeli Image Library.
How to read a DICOM image in Java with ImageIO
- Download dcm4che plugin and install it.
- Create a File handle, InputStream or URL pointing to the raw DICOM image.
- ImageIO will now be able to read a DICOM file into a BufferedImage. This syntax is like so:
BufferedImage image = ImageIO.read(dicomFileOrInputStreamOrURL)
How to read a DICOM image in Java with JDeli
- Add JDeli to your class or module path. (download the trial jar).
- Create a File handle, InputStream pointing to the raw DICOM image. You can also use a byte containing the image data.
- Read the DICOM image into a BufferedImage
BufferedImage image = JDeli.read(dicomFile);
Start reading and writing images with one line of code
BufferedImage image = JDeli.read(streamOrFile);
JDeli.write(myBufferedImage, OutputFormat.HEIC, outputStreamOrFile)