@Override public void writeTo(PDVOutputStream out, String tsuid) throws IOException { DicomOutputStream dos = new DicomOutputStream(out, tsuid); dos.writeDataset(null, data); }
public void writeTo(OutputStream out) throws IOException { if (nofmi) fmi = null; else if (fmi == null ? withfmi : tsuid != null && !tsuid.equals( fmi.getString(Tag.TransferSyntaxUID, null))) { fmi = dataset.createFileMetaInformation(tsuid); } DicomOutputStream dos = new DicomOutputStream( new BufferedOutputStream(out), fmi != null ? UID.ExplicitVRLittleEndian : tsuid != null ? tsuid : UID.ImplicitVRLittleEndian); dos.setEncodingOptions(encOpts); dos.writeDataset(fmi, dataset); dos.finish(); dos.flush(); }
public void writeKOS() throws IOException { DicomOutputStream dos = new DicomOutputStream( new BufferedOutputStream(fname != null ? new FileOutputStream(fname) : new FileOutputStream(FileDescriptor.out)), nofmi ? UID.ImplicitVRLittleEndian : UID.ExplicitVRLittleEndian); dos.setEncodingOptions(encOpts); try { dos.writeDataset( nofmi ? null : kos.createFileMetaInformation(tsuid), kos); } finally { dos.close(); } }
private void writeObject(ObjectOutputStream out) throws IOException { out.defaultWriteObject(); out.writeInt(size); @SuppressWarnings("resource") DicomOutputStream dout = new DicomOutputStream(out, bigEndian ? UID.ExplicitVRBigEndianRetired : UID.ExplicitVRLittleEndian); dout.writeDataset(null, this); dout.writeHeader(Tag.ItemDelimitationItem, null, 0); }
public static void createEmptyDirectory(File file, Attributes fmi, String id, File descFile, String charset) throws IOException { Attributes fsInfo = createFileSetInformation(file, id, descFile, charset); DicomOutputStream out = new DicomOutputStream(file); try { out.writeDataset(fmi, fsInfo); } finally { out.close(); } }
public void transcode(File src, File dest) throws IOException { Attributes fmi; Attributes dataset; try (DicomInputStream dis = new DicomInputStream(src)) { dis.setIncludeBulkData(IncludeBulkData.URI); fmi = dis.readFileMetaInformation(); dataset = dis.readDataset(-1, -1); } deidentifier.deidentify(dataset); if (fmi != null) fmi = dataset.createFileMetaInformation(fmi.getString(Tag.TransferSyntaxUID)); try (DicomOutputStream dos = new DicomOutputStream(dest)) { dos.setEncodingOptions(encOpts); dos.writeDataset(fmi, dataset); } }
try (DicomOutputStream dos = new DicomOutputStream(outfile)) { dos.writeDataset(metadata.createFileMetaInformation(inFileType.getTransferSyntaxUID()), metadata); dos.writeHeader(Tag.PixelData, VR.OB, -1); dos.writeHeader(Tag.Item, null, 0); if (jpegHeader != null && noAPPn) { int offset = jpegHeader.offsetAfterAPP(); itemLen -= offset - 3; dos.writeHeader(Tag.Item, null, (itemLen + 1) & ~1); dos.write((byte) -1); dos.write((byte) JPEG.SOI); dos.write((byte) -1); dos.write(buffer, offset, headerLength - offset); } else { dos.writeHeader(Tag.Item, null, (itemLen + 1) & ~1); dos.write(buffer, 0, headerLength); dos.write(0); dos.writeHeader(Tag.SequenceDelimitationItem, null, 0);
private void storeTo(Association as, Attributes fmi, PDVInputStream data, File file) throws IOException { LOG.info("{}: M-WRITE {}", as, file); file.getParentFile().mkdirs(); DicomOutputStream out = new DicomOutputStream(file); try { out.writeFileMetaInformation(fmi); data.copyTo(out); } finally { SafeClose.close(out); } }
private void convert(File infile, File outfile) throws IOException { long fileLength = infile.length(); if (fileLength > MAX_FILE_SIZE) throw new IllegalArgumentException(MessageFormat.format(rb.getString("file-too-large"), infile)); try (DicomOutputStream dos = new DicomOutputStream(outfile)) { dos.writeDataset(metadata.createFileMetaInformation(UID.ExplicitVRLittleEndian), metadata); dos.writeAttribute(Tag.EncapsulatedDocument, VR.OB, Files.readAllBytes(infile.toPath())); } System.out.println(MessageFormat.format(rb.getString("converted"), infile, outfile)); }
FileOutputStream fos = new FileOutputStream(dcmFile); BufferedOutputStream bos = new BufferedOutputStream(fos); DicomOutputStream dos = new DicomOutputStream(bos); try { dos.writeDicomFile(attrs); dos.writeHeader(Tag.PixelData, VR.OB, -1); dos.writeHeader(Tag.Item, null, 0); dos.writeHeader(Tag.Item, null, (jpgLen+1)&~1); dos.write(buffer, 0, jpgHeaderLen); int r; while ((r = jpgInput.read(buffer)) > 0) { dos.write(buffer, 0, r); dos.write(0); dos.writeHeader(Tag.SequenceDelimitationItem, null, 0); } finally { dos.close();
BufferedImage jpg = ImageIO.read(new File("myjpg.jpg")); //Convert the image to a byte array DataBufferUShort buff = (DataBufferUShort) jpg.getData().getDataBuffer(); short[] data = buff.getData(); ByteBuffer byteBuf = ByteBuffer.allocate(2*data.length); int i = 0; while (data.length > i) { byteBuf.putShort(data[i]); i++; } //Copy a header DicomInputStream dis = new DicomInputStream(new File("fileToCopyheaderFrom.dcm")); Attributes meta = dis.readFileMetaInformation(); Attributes attribs = dis.readDataset(-1, Tag.PixelData); dis.close(); //Change the rows and columns attribs.setInt(Tag.Rows, VR.US, jpg.getHeight()); attribs.setInt(Tag.Columns, VR.US, jpg.getWidth()); System.out.println(byteBuf.array().length); //Attributes attribs = new Attributes(); //Write the file attribs.setBytes(Tag.PixelData, VR.OW, byteBuf.array()); DicomOutputStream dcmo = new DicomOutputStream(new File("myDicom.dcm")); dcmo.writeFileMetaInformation(meta); attribs.writeTo(dcmo); dcmo.close();
pdvcmd = PDVType.COMMAND; DicomOutputStream cmdout = new DicomOutputStream(this, UID.ImplicitVRLittleEndian); cmdout.writeCommand(cmd); cmdout.close(); if (dataWriter != null) { if (!as.isPackPDV()) {
private void initDicomOutputStream() throws IOException { dos = new DicomOutputStream(handler.newOutputStream(this, dataset), includeFileMetaInformation ? UID.ExplicitVRLittleEndian : destTransferSyntax); dos.setEncodingOptions(encOpts); }
DicomOutputStream dos = new DicomOutputStream(bos); try { dos.writeDicomFile(dObj); } catch (IOException e) { e.printStackTrace(); } finally { try { dos.close(); } catch (IOException ignore) {
public void transcode(Handler handler) throws IOException { this.handler = handler; dis.readAttributes(dataset, -1, -1); if (dos == null) { initDicomOutputStream(); writeDataset(); } else if (postPixelData != null) dos.writeDataset(null, postPixelData); }
private DicomDirWriter(File file) throws IOException { super(file, "rw"); out = new DicomOutputStream(new RAFOutputStreamAdapter(raf), super.getTransferSyntaxUID()); int seqLen = in.length(); boolean undefSeqLen = seqLen <= 0; setEncodingOptions( new DicomEncodingOptions(false, undefSeqLen, false, undefSeqLen, false)); this.nextRecordPos = this.firstRecordPos = (int) in.getPosition(); if (!isEmpty()) { if (seqLen > 0) this.nextRecordPos += seqLen; else this.nextRecordPos = (int) (raf.length() - 12); } updateDirInfoHeader(); }
public void setEncodingOptions(DicomEncodingOptions encOpts) { out.setEncodingOptions(encOpts); }
@Override public void close() throws IOException { if (decompressor != null) decompressor.dispose(); if (compressor != null) compressor.dispose(); if (verifier != null) verifier.dispose(); if (closeInputStream) SafeClose.close(dis); if (deleteBulkDataFiles) for (File tmpFile : dis.getBulkDataFiles()) tmpFile.delete(); if (closeOutputStream && dos != null) dos.close(); }
public void writeDataset(Attributes fmi, Attributes dataset) throws IOException { if (fmi != null) writeFileMetaInformation(fmi); if (dataset.bigEndian() != bigEndian || encOpts.groupLength || !encOpts.undefSequenceLength || !encOpts.undefItemLength) dataset = new Attributes(dataset, bigEndian); if (encOpts.groupLength) dataset.calcLength(encOpts, explicitVR); dataset.writeTo(this); }
public void close() throws IOException { try { finish(); } catch (IOException ignored) { } super.close(); } }