/** Returns an image reader on the given filename */ public static DicomImageReader createImageReader(ImageInputStream is) { assertNotNull(is); DicomImageReaderSpi spi = new DicomImageReaderSpi(); DicomImageReader reader = (DicomImageReader) spi.createReaderInstance(null); reader.setInput(is, true); return reader; }
public static BufferedImage readRawBufferedImage(DicomImageReader reader, int frameNumber) throws IOException { int imageIndexFromZero = frameNumber - 1; WritableRaster raster = (WritableRaster) reader.readRaster(imageIndexFromZero, null); DicomObject ds = ((DicomStreamMetaData) reader.getStreamMetadata()).getDicomObject(); ColorModel cm = ColorModelFactory.createColorModel(ds); return new BufferedImage(cm, raster, false, null); }
private DicomStreamMetaData copyMeta(DicomImageReader reader, String tsuid) throws IOException { DicomStreamMetaData oldMeta = (DicomStreamMetaData) reader.getStreamMetadata(); DicomStreamMetaData ret = new DicomStreamMetaData(); DicomObject ds = oldMeta.getDicomObject(); DicomObject newDs = new BasicDicomObject(); ds.copyTo(newDs); newDs.putString(Tag.TransferSyntaxUID, VR.UI, tsuid); ret.setDicomObject(newDs); return ret; }