/** Returns an input stream containing the written data */ private ImageInputStream writeImageFrames( DicomStreamMetaData newMeta, List<BufferedImage> bis, String name) throws IOException { File f = new File(name + ".dcm"); if (f.exists()) f.delete(); ImageOutputStream imageOutput = new FileImageOutputStream(f); DicomImageWriter writer = (DicomImageWriter) new DicomImageWriterSpi().createWriterInstance(); writer.setOutput(imageOutput); writer.prepareWriteSequence(newMeta); for (BufferedImage bi : bis) { IIOImage iioimage = new IIOImage(bi, null, null); writer.setOutput(imageOutput); writer.writeToSequence(iioimage, null); } imageOutput.close(); return new FileImageInputStream(f); }