private void appendHeader(DicomInputStream dis, StringBuilder line) { line.append(TagUtils.toString(dis.tag())).append(' '); VR vr = dis.vr(); if (vr != null) line.append(vr).append(' '); line.append('#').append(dis.length()); }
private void appendHeader(DicomInputStream dis, StringBuilder line) { line.append(TagUtils.toString(dis.tag())).append(' '); VR vr = dis.vr(); if (vr != null) line.append(vr).append(' '); line.append('#').append(dis.length()); }
@Override public void readValue(DicomInputStream dis, Fragments frags) throws IOException { if (dos == null) { dis.readValue(dis, frags); } else { int length = dis.length(); dos.writeHeader(Tag.Item, null, length); StreamUtils.copy(dis, dos, length, buffer()); } }
public EncapsulatedPixelDataImageInputStream(DicomInputStream dis, ImageDescriptor imageDescriptor) throws IOException { super(dis); this.dis = dis; this.imageDescriptor = imageDescriptor; dis.readItemHeader(); byte[] b = new byte[dis.length()]; dis.readFully(b); basicOffsetTable = b; readItemHeader(); frameStartWord = fragmStartWord; }
@Override public void readValue(DicomInputStream dis, Sequence seq) throws IOException { StringBuilder line = new StringBuilder(width); appendPrefix(dis, line); appendHeader(dis, line); appendKeyword(dis, line); appendNumber(seq.size() + 1, line); System.out.println(line); boolean undeflen = dis.length() == -1; dis.readValue(dis, seq); if (undeflen) { line.setLength(0); appendPrefix(dis, line); appendHeader(dis, line); appendKeyword(dis, line); System.out.println(line); } }
private boolean readItemHeader() throws IOException { if (!dis.readItemHeader()) { endOfStream = true; return false; } fragmEndPos = streamPos + dis.length(); mark(); fragmStartWord = (super.read() << 8) | super.read(); reset(); return true; }
@Override public void readValue(DicomInputStream dis, Sequence seq) throws IOException { StringBuilder line = new StringBuilder(width); appendPrefix(dis, line); appendHeader(dis, line); appendKeyword(dis, line); appendNumber(seq.size() + 1, line); System.out.println(line); boolean undeflen = dis.length() == -1; dis.readValue(dis, seq); if (undeflen) { line.setLength(0); appendPrefix(dis, line); appendHeader(dis, line); appendKeyword(dis, line); System.out.println(line); } }
appendHeader(dis, line); VR vr = dis.vr(); int vallen = dis.length(); boolean undeflen = vallen == -1; if (vr == VR.SQ || undeflen) {
/** Initializes the pixel data reading from an image input stream */ private void initPixelDataIIS(DicomInputStream dis) throws IOException { if( pixelDataLength==0 ) return; if( pixelDataLength>0 ) { pixelData = new BulkData("pixeldata://", dis.getPosition(), dis.length(),dis.bigEndian()); metadata.getAttributes().setValue(Tag.PixelData, pixelDataVR, pixelData); return; } dis.readItemHeader(); byte[] b = new byte[dis.length()]; dis.readFully(b); long start = dis.getPosition(); pixelDataFragments = new Fragments(pixelDataVR, dis.bigEndian(), frames); pixelDataFragments.add(b); generateOffsetLengths(pixelDataFragments, frames,b, start); }
appendHeader(dis, line); VR vr = dis.vr(); int vallen = dis.length(); boolean undeflen = vallen == -1; if (vr == VR.SQ || undeflen) {
@Override public void readValue(DicomInputStream dis, Fragments frags) throws IOException { int len = dis.length(); if (dis.isExcludeBulkData()) { dis.skipFully(len); return; } if (!hasItems.getLast()) { gen.writeStartArray("DataFragment"); hasItems.removeLast(); hasItems.add(true); } if (len == 0) gen.writeNull(); else { gen.writeStartObject(); if (dis.isIncludeBulkDataURI()) { writeBulkData(dis.createBulkData(dis)); } else { writeInlineBinary(frags.vr(), dis.readValue(), dis.bigEndian(), false); } gen.writeEnd(); } }
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(); }
@Override public void readValue(DicomInputStream dis, Fragments frags) throws IOException { int len = dis.length(); if (dis.isExcludeBulkData()) { dis.skipFully(len); } else try { frags.add(ByteUtils.EMPTY_BYTES); // increment size if (len > 0) { startElement("DataFragment", "number", frags.size()); if (dis.isIncludeBulkDataURI()) { writeBulkData(dis.createBulkData(dis)); } else { byte[] b = dis.readValue(); if (dis.bigEndian()) frags.vr().toggleEndian(b, false); writeInlineBinary(b); } endElement("DataFragment"); } } catch (SAXException e) { throw new IOException(e); } }
private void copyPixelData() throws IOException { int length = dis.length(); writeDataset(); dos.writeHeader(Tag.PixelData, dis.vr(), length); if (length == -1) { dis.readValue(dis, dataset); dos.writeHeader(Tag.SequenceDelimitationItem, null, 0); } else { if (dis.bigEndian() == dos.isBigEndian()) StreamUtils.copy(dis, dos, length, buffer()); else StreamUtils.copy(dis, dos, length, dis.vr().numEndianBytes(), buffer()); } }
imageDescriptor = new ImageDescriptor(ds); pixelDataVR = dis.vr(); pixelDataLength = dis.length(); if (pixelDataLength == -1) epdiis = new EncapsulatedPixelDataImageInputStream(dis, imageDescriptor); imageDescriptor = new ImageDescriptor(ds); pixelDataVR = dis.vr(); pixelDataLength = dis.length(); } else { try {
int tag = dis.tag(); VR vr = dis.vr(); int len = dis.length(); if (TagUtils.isGroupLength(tag)) { dis.readValue(dis, attrs);
private void compressPixelData() throws IOException { int padding = dis.length() - imageDescriptor.getLength(); for (int i = 0; i < imageDescriptor.getFrames(); i++) { if (decompressor == null) readFrame(); else bi = decompressFrame(i); if (i == 0) { extractEmbeddedOverlays(); adjustDataset(); writeDataset(); dos.writeHeader(Tag.PixelData, VR.OB, -1); dos.writeHeader(Tag.Item, null, 0); } nullifyUnusedBits(); compressFrame(i); } dis.skipFully(padding); dos.writeHeader(Tag.SequenceDelimitationItem, null, 0); }
int tag = dis.tag(); VR vr = dis.vr(); int len = dis.length(); if (TagUtils.isGroupLength(tag) || TagUtils.isPrivateCreator(tag)) { dis.readValue(dis, attrs);