public DicomElement putSequence(int tag, int capacity) { return addInternal(new SequenceDicomElement(tag, VR.SQ, false, new ArrayList<Object>(capacity), this)); }
public DicomElement putFragments(int tag, VR vr, boolean bigEndian, int capacity) { if (vr == null) vr = vrOf(tag); if (!(vr instanceof VR.Fragment)) throw new UnsupportedOperationException(); return addInternal(new SequenceDicomElement(tag, vr, bigEndian, new ArrayList<Object>(capacity), this)); }
public DicomElement putNull(int tag, VR vr) { if (vr == null) vr = vrOf(tag); DicomElement e = vr == VR.SQ ? (DicomElement) new SequenceDicomElement( tag, vr, false, new ArrayList<Object>(0), this) : (DicomElement) new SimpleDicomElement(tag, vr, false, null, null); return addInternal(e); }
public DicomElement putBytes(int tag, VR vr, byte[] val, boolean bigEndian) { if (vr == null) vr = vrOf(tag); return addInternal(new SimpleDicomElement(tag, vr, bigEndian, val, null)); }
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException { s.defaultReadObject(); attrs = new BasicDicomObject(); attrs.setItemOffset(s.readLong()); DicomElement attr = (DicomElement) s.readObject(); while (attr.tag() != Tag.ItemDelimitationItem) { if (attr instanceof SequenceDicomElement) { ((SequenceDicomElement) attr).setParentDicomObject(attrs); } ((BasicDicomObject) attrs).addInternal(attr); attr = (DicomElement) s.readObject(); } } }
public DicomElement putDouble(int tag, VR vr, double val) { final boolean be = bigEndian(); if (vr == null) vr = vrOf(tag); return addInternal(new SimpleDicomElement(tag, vr, be, vr.toBytes(val, be), cachePut ? new Double(val) : null)); }
public DicomElement putFloat(int tag, VR vr, float val) { final boolean be = bigEndian(); if (vr == null) vr = vrOf(tag); return addInternal(new SimpleDicomElement(tag, vr, be, vr.toBytes(val, be), cachePut ? new Float(val) : null)); }
public DicomElement putInt(int tag, VR vr, int val) { final boolean be = bigEndian(); if (vr == null) vr = vrOf(tag); return addInternal(new SimpleDicomElement(tag, vr, be, vr.toBytes(val, be), cachePut ? Integer.valueOf(val) : null)); }
private void addPrivateCreator(String privateCreator, int idTag) { addInternal(new SimpleDicomElement(idTag, VR.LO, false, VR.LO.toBytes( privateCreator, false, getSpecificCharacterSet()), privateCreator)); }
public DicomElement putDates(int tag, VR vr, Date[] val) { // no cache of given Date objects, to avoid problems // with non-zero values for unsignifcant fields if (vr == null) vr = vrOf(tag); return addInternal(new SimpleDicomElement(tag, vr, false, vr .toBytes(val), null)); }
public DicomElement putDateRange(int tag, VR vr, DateRange val) { // no cache of given DateRange object, to avoid problems // with non-zero values for unsignifcant fields if (vr == null) vr = vrOf(tag); return addInternal(new SimpleDicomElement(tag, vr, false, vr .toBytes(val), null)); }
public DicomElement putDate(int tag, VR vr, Date val) { // no cache of given Date object, to avoid problems // with non-zero values for unsignifcant fields if (vr == null) vr = vrOf(tag); return addInternal(new SimpleDicomElement(tag, vr, false, vr .toBytes(val), null)); }
public DicomElement putInts(int tag, VR vr, int[] val) { final boolean be = bigEndian(); if (vr == null) vr = vrOf(tag); return addInternal(new SimpleDicomElement(tag, vr, be, vr.toBytes(val, be), cachePut ? val : null)); }
public DicomElement putShorts(int tag, VR vr, short[] val) { final boolean be = bigEndian(); if (vr == null) vr = vrOf(tag); return addInternal(new SimpleDicomElement(tag, vr, be, vr.toBytes(val, be), cachePut ? val : null)); }
public DicomElement putFloats(int tag, VR vr, float[] val) { final boolean be = bigEndian(); if (vr == null) vr = vrOf(tag); return addInternal(new SimpleDicomElement(tag, vr, be, vr.toBytes(val, be), cachePut ? val : null)); }
public DicomElement putDoubles(int tag, VR vr, double[] val) { final boolean be = bigEndian(); if (vr == null) vr = vrOf(tag); return addInternal(new SimpleDicomElement(tag, vr, be, vr.toBytes(val, be), cachePut ? val : null)); }
public DicomElement putString(int tag, VR vr, String val) { final boolean be = bigEndian(); if (vr == null) vr = vrOf(tag); return addInternal(new SimpleDicomElement(tag, vr, be, vr.toBytes(val, be, getSpecificCharacterSet()), cachePut && vr.isSingleValue(val) ? val : null)); }
public DicomElement putStrings(int tag, VR vr, String[] val) { final boolean be = bigEndian(); if (vr == null) vr = vrOf(tag); return addInternal(new SimpleDicomElement(tag, vr, be, vr.toBytes(val, be, getSpecificCharacterSet()), cachePut && vr.containsSingleValues(val) ? val : null)); }
public void add(DicomElement a) { if (a.hasItems()) { final int n = a.countItems(); DicomElement t; if (a.vr() == VR.SQ) { t = putSequence(a.tag(), n); for (int i = 0; i < n; i++) { DicomObject srcItem = a.getDicomObject(i); BasicDicomObject item = new BasicDicomObject(srcItem.size()); item.setParent(this); srcItem.copyTo(item); t.addDicomObject(item); } } else { t = putFragments(a.tag(), a.vr(), a.bigEndian(), n); for (int i = 0; i < n; i++) { t.addFragment(a.getFragment(i)); } } a = t; } addInternal(a); }