private void appendFragment(StringBuilder line, DicomInputStream dis, VR vr) throws IOException { byte[] b = dis.readValue(); line.append(" ["); if (vr.prompt(b, dis.bigEndian(), null, width - line.length() - 1, line)) { line.append(']'); appendKeyword(dis, line); } }
private void appendFragment(StringBuilder line, DicomInputStream dis, VR vr) throws IOException { byte[] b = dis.readValue(); line.append(" ["); if (vr.prompt(b, dis.bigEndian(), null, width - line.length() - 1, line)) { line.append(']'); appendKeyword(dis, line); } }
private void readFully(short[] s) throws IOException { int off = 0; int len = s.length; byte[] b = buffer(); while (len > 0) { int nelts = Math.min(len, b.length/2); dis.readFully(b, 0, nelts * 2); toShorts(b, s, off, nelts, dis.bigEndian()); off += nelts; len -= nelts; } }
private void readFully(byte[][] bb) throws IOException { for (byte[] b : bb) { dis.readFully(b); } if (dis.bigEndian() && dis.vr() == VR.OW) ByteUtils.swapShorts(bb); }
public Transcoder(DicomInputStream dis) throws IOException { this.dis = dis; dis.readFileMetaInformation(); dis.setDicomInputHandler(dicomInputHandler); dataset = new Attributes(dis.bigEndian(), 64); srcTransferSyntax = dis.getTransferSyntax(); srcTransferSyntaxType = TransferSyntaxType.forUID(srcTransferSyntax); destTransferSyntax = srcTransferSyntax; destTransferSyntaxType = srcTransferSyntaxType; }
byte[] b = dis.readValue(); line.append(" ["); if (vr.prompt(b, dis.bigEndian(), attrs.getSpecificCharacterSet(), width - line.length() - 1, line)) {
/** 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); }
byte[] b = dis.readValue(); line.append(" ["); if (vr.prompt(b, dis.bigEndian(), attrs.getSpecificCharacterSet(), width - line.length() - 1, line)) {
@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(); } }
@Override public void readValue(DicomInputStream dis, Attributes attrs) throws IOException { int tag = dis.tag(); if (dis.level() == 0 && tag == Tag.PixelData) { imageDescriptor = new ImageDescriptor(attrs); initDicomOutputStream(); processPixelData(); postPixelData = new Attributes(dis.bigEndian()); } else { dis.readValue(dis, attrs); if (postPixelData != null && dis.level() == 0) postPixelData.addSelected(attrs, attrs.getPrivateCreator(tag), tag); } }
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()); } }
@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); } }
|| tag == Tag.SpecificCharacterSet) attrs.setBytes(tag, vr, b); writeValue(vr, b, dis.bigEndian(), attrs.getSpecificCharacterSet(vr), false);