@Override public void readValue(DicomInputStream dis, Fragments frags) throws IOException { StringBuilder line = new StringBuilder(width + 20); appendPrefix(dis, line); appendHeader(dis, line); appendFragment(line, dis, frags.vr()); System.out.println(line); }
@Override public void readValue(DicomInputStream dis, Fragments frags) throws IOException { StringBuilder line = new StringBuilder(width + 20); appendPrefix(dis, line); appendHeader(dis, line); appendFragment(line, dis, frags.vr()); System.out.println(line); }
private void set(String privateCreator, int tag, Fragments src) { boolean toogleEndian = src.bigEndian() != bigEndian; VR vr = src.vr(); Fragments dst = newFragments(privateCreator, tag, vr, src.size()); for (Object frag : src) dst.add(toggleEndian(vr, frag, toogleEndian)); }
@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, 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); } }
@Override public void readValue(DicomInputStream dis, Fragments frags) throws IOException { checkIsThis(dis); if (excludeBulkData) { skipFully(length); } else if (length == 0) { frags.add(ByteUtils.EMPTY_BYTES); } else if (length == BulkData.MAGIC_LEN && super.in instanceof ObjectInputStream) { frags.add(BulkData.deserializeFrom((ObjectInputStream) super.in)); } else if (includeBulkDataURI) { frags.add(bulkDataCreator.createBulkData(this)); } else { byte[] b = readValue(); if (bigEndian != frags.bigEndian()) frags.vr().toggleEndian(b, false); frags.add(b); } }
byte[] b = (byte[]) frag; if (bigEndian) frags.vr().toggleEndian(b, true); writeInlineBinary(b);
private void writeValue(Value value, boolean bigEndian) { if (value.isEmpty()) return; if (value instanceof Sequence) { gen.writeStartArray("Value"); for (Attributes item : (Sequence) value) { write(item); } gen.writeEnd(); } else if (value instanceof Fragments) { gen.writeStartArray("DataFragment"); Fragments frags = (Fragments) value; for (Object frag : frags) { if (frag instanceof Value && ((Value) frag).isEmpty()) gen.writeNull(); else { gen.writeStartObject(); if (frag instanceof BulkData) writeBulkData((BulkData) frag); else { writeInlineBinary(frags.vr(), (byte[]) frag, bigEndian, true); } gen.writeEnd(); } } gen.writeEnd(); } else if (value instanceof BulkData) { writeBulkData((BulkData) value); } }