In this post, I will be showing you how to read DICOM image files in Java using ImageJ or JDeli.
ImageIO and JAI do not have support for reading the Dicom file format. So we decided to add support for Dicom to our JDeli Image Library. JDeli can read and write a very wide range of image formats. Here is the full list on Image file conversions supported.
First an introduction to Dicom images…
DICOM stands for Digital Imaging and Communications in Medicine. DICOM is a standard for medical images. It sets out how to store, exchange and transmit them. You can read more about DICOMs in our previous article explaining the file format.
How to read DICOMs using ImageJ
As ImageIO and JAI do not have support form DICOMs, you will need a third party alternative. For example, ImageJ (download and Javadoc) provides a DICOM decoder and viewer. The application provides a user interface which can be used to decode and view DICOM files. Alternatively, by adding the JAR file (included in the download) to your Java project you can use the DICOM class to decode and open DICOM files:
DICOM dcm = new DICOM(); dcm.open("image.dicom"); if (dcm.getWidth()==0) IJ.log("Error opening image.dicom"); else dcm.show();
How to read DICOMs using JDeli
//Read Image (can also be OutputStream or byte array) File dicomFile = new File("dicomImage.dcm"); BufferedImage image = JDeli.read(dicomFile);
Or you can use the JDeli DicomDecoder directly:
DicomDecoder decoder = new DicomDecoder(); BufferedImage image = decoder.read(dicomByteData);
You can find more tutorials in our series on handling common image formats in Java, JDeli and other image libraries.