@Override public String toString() { return "" + size() + " Items"; }
public static Collection<SeriesAndInstanceReference> toSeriesAndInstanceReferenceMacros(Sequence seq) { if (seq == null || seq.isEmpty()) { return null; } ArrayList<SeriesAndInstanceReference> list = new ArrayList<>(seq.size()); for (Attributes attr : seq) { list.add(new SeriesAndInstanceReference(attr)); } return list; }
public static Collection<SOPInstanceReferenceAndMAC> toSOPInstanceReferenceAndMacMacros(Sequence seq) { if (seq == null || seq.isEmpty()) { return null; } ArrayList<SOPInstanceReferenceAndMAC> list = new ArrayList<>(seq.size()); for (Attributes attr : seq) { list.add(new SOPInstanceReferenceAndMAC(attr)); } return list; }
public static Collection<SOPInstanceReference> toSOPInstanceReferenceMacros(Sequence seq) { if (seq == null || seq.isEmpty()) { return null; } ArrayList<SOPInstanceReference> list = new ArrayList<>(seq.size()); for (Attributes attr : seq) { list.add(new SOPInstanceReference(attr)); } return list; }
public static Collection<ReferencedRequest> toReferencedRequestMacros(Sequence seq) { if (seq == null || seq.isEmpty()) { return null; } ArrayList<ReferencedRequest> list = new ArrayList<>(seq.size()); for (Attributes attr : seq) { list.add(new ReferencedRequest(attr)); } return list; }
public static Collection<SOPInstanceReferenceAndPurpose> toSOPInstanceReferenceAndPurposesMacros(Sequence seq) { if (seq == null || seq.isEmpty()) { return null; } ArrayList<SOPInstanceReferenceAndPurpose> list = new ArrayList<>(seq.size()); for (Attributes attr : seq) { list.add(new SOPInstanceReferenceAndPurpose(attr)); } return list; }
public static Collection<MACParameters> toMACParametersMacros(Sequence seq) { if (seq == null || seq.isEmpty()) { return null; } ArrayList<MACParameters> list = new ArrayList<>(seq.size()); for (Attributes attr : seq) { list.add(new MACParameters(attr)); } return list; }
public static Collection<HierachicalSOPInstanceReference> toHierachicalSOPInstanceReferenceMacros(Sequence seq) { if (seq == null || seq.isEmpty()) { return null; } ArrayList<HierachicalSOPInstanceReference> list = new ArrayList<>(seq.size()); for (Attributes attr : seq) { list.add(new HierachicalSOPInstanceReference(attr)); } return list; }
public static Collection<Code> toCodeMacros(Sequence seq) { if (seq == null || seq.isEmpty()) { return null; } ArrayList<Code> list = new ArrayList<>(seq.size()); for (Attributes attr : seq) { list.add(new Code(attr)); } return list; }
public static Collection<DigitalSignatures> toDigitalSignaturesMacros(Sequence seq) { if (seq == null || seq.isEmpty()) { return null; } ArrayList<DigitalSignatures> list = new ArrayList<>(seq.size()); for (Attributes attr : seq) { list.add(new DigitalSignatures(attr)); } return list; }
public Attributes getNestedDataset(String privateCreator, int sequenceTag, int itemIndex) { Object value = getValue(privateCreator, sequenceTag); if (!(value instanceof Sequence)) return null; Sequence sq = (Sequence) value; if (itemIndex >= sq.size()) return null; return sq.get(itemIndex); }
public Attributes getNestedDataset(List<ItemPointer> itemPointers) { Attributes item = this; for (ItemPointer ip : itemPointers) { Object value = item.getValue(ip.privateCreator, ip.sequenceTag); if (!(value instanceof Sequence)) return null; Sequence sq = (Sequence) value; if (ip.itemIndex >= sq.size()) return null; item = sq.get(ip.itemIndex); } return item; }
@Override public void readValue(DicomInputStream dis, Sequence seq) throws IOException { try { startElement("Item", "number", seq.size() + 1); dis.readValue(dis, seq); endElement("Item"); } catch (SAXException e) { throw new IOException(e); } }
private void startItem(int number) { Sequence seq = seqs.getLast(); while (seq.size() < number-1) seq.add(new Attributes(0)); Attributes item = new Attributes(); seq.add(item); items.add(item); }
public static void setTag(Map<TagW, Object> tags, TagW tag, Object value) { if (tag != null) { if (value instanceof Sequence) { Sequence seq = (Sequence) value; Attributes[] list = new Attributes[seq.size()]; for (int i = 0; i < list.length; i++) { Attributes attributes = seq.get(i); list[i] = attributes.getParent() == null ? attributes : new Attributes(attributes); } tags.put(tag, list); } else { tags.put(tag, value); } } }
public static void buildSeriesReferences(Tagable tagable, Attributes attributes) { Sequence seq = attributes.getSequence(Tag.ReferencedSeriesSequence); if (Objects.nonNull(seq)) { Attributes[] ref = new Attributes[seq.size()]; for (int i = 0; i < ref.length; i++) { ref[i] = new Attributes(seq.get(i)); } tagable.setTagNoNull(TagD.get(Tag.ReferencedSeriesSequence), ref); } }
@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); } }
@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 void set(String privateCreator, int tag, Sequence src, Attributes selection) { Sequence dst = newSequence(privateCreator, tag, src.size()); for (Attributes item : src) dst.add(selection != null && !selection.isEmpty() ? new Attributes(item, bigEndian, selection) : new Attributes(item, bigEndian)); }
private boolean matches(String privateCreator, int tag, boolean ignorePNCase, boolean matchNoValue, Sequence keySeq) { int n = keySeq.size(); if (n > 1) throw new IllegalArgumentException("Keys contain Sequence " + TagUtils.toString(tag) + " with " + n + " Items"); Attributes keys = keySeq.get(0); if (keys.isEmpty()) return true; Object value = getValue(privateCreator, tag); if (value == null || isEmpty(value)) return matchNoValue; if (value instanceof Sequence) { Sequence sq = (Sequence) value; for (Attributes item : sq) if (item.matches(keys, ignorePNCase, matchNoValue)) return true; } return false; }