Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

package dicomtojpeg; import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Iterator; import javax.imageio.ImageIO; import javax.imageio.ImageReader; import javax.imageio.stream.ImageInputStream; import org.dcm4che2.imageio.plugins.dcm.DicomImageReadParam; import

package dicomtojpeg; import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Iterator; import javax.imageio.ImageIO; import javax.imageio.ImageReader; import javax.imageio.stream.ImageInputStream; import org.dcm4che2.imageio.plugins.dcm.DicomImageReadParam; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class DicomToJpeg {

static BufferedImage myJpegImage = null;

public static void main(String[] args) { File file = new File("test_US_1"); //System.out.println(file); Iterator iterator = ImageIO.getImageReadersByFormatName("DICOM"); //System.out.println(iterator); while (iterator.hasNext()) { ImageReader imageReader = (ImageReader) iterator.next(); DicomImageReadParam dicomImageReadParam = (DicomImageReadParam) imageReader.getDefaultReadParam(); try { ImageInputStream iis = ImageIO.createImageInputStream(file); imageReader.setInput(iis,false); myJpegImage = imageReader.read(0, dicomImageReadParam); iis.close(); if(myJpegImage == null){ System.out.println("Could not read image"); } } catch (IOException e) { e.printStackTrace(); } File file2 = new File("test.jpg"); try { OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(file2)); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(outputStream); encoder.encode(myJpegImage); outputStream.close(); } catch (IOException e) { e.printStackTrace(); } System.out.println("Completed"); }

} }

This is my code for taking dicom images as input and changes them into jpeg files. When I run the code I get these errors:

Exception in thread "main" java.lang.IllegalStateException: Input not set!

at org.dcm4che2.imageioimpl.plugins.dcm.DicomImageReader.readMetaData(DicomImageReader.java:284)

at org.dcm4che2.imageioimpl.plugins.dcm.DicomImageReader.initImageReader(DicomImageReader.java:392)

at org.dcm4che2.imageioimpl.plugins.dcm.DicomImageReader.read(DicomImageReader.java:636)

at dicomtojpeg.DicomToJpeg.main(DicomToJpeg.java:31)

C:\Users\Stephen\AppData\Local\NetBeans\Cache\8.2\executor-snippets un.xml:53: Java returned: 1

BUILD FAILED (total time: 0 seconds)

Does anyone know how I can fix these errors or what they are really alluding to?

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Development For Dummies

Authors: Allen G. Taylor

1st Edition

978-0764507526

More Books

Students also viewed these Databases questions