private static boolean isNotEmptySequence(Object val) { return val instanceof Sequence && !((Sequence) val).isEmpty(); } }
private static boolean isNotEmptySequence(Object val) { return val instanceof Sequence && !((Sequence) val).isEmpty(); } }
@Override public int getEncodedLength(DicomEncodingOptions encOpts, boolean explicitVR, VR vr) { if (isEmpty()) return encOpts.undefEmptySequenceLength ? -1 : 0; if (encOpts.undefSequenceLength) return -1; if (length == -1) calcLength(encOpts, explicitVR, vr); return length; }
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<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 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<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; }
@Override public int calcLength(DicomEncodingOptions encOpts, boolean explicitVR, VR vr) { int len = 0; for (Attributes item : this) { len += 8 + item.calcLength(encOpts, explicitVR); if (item.isEmpty() ? encOpts.undefEmptyItemLength : encOpts.undefItemLength) len += 8; } if (isEmpty() ? encOpts.undefEmptySequenceLength : encOpts.undefSequenceLength) len += 8; length = len; return len; }
private void writeVerifyingObservers(StringBuilder html) { if (html != null && dcmItems != null) { Sequence seq = dcmItems.getSequence(Tag.VerifyingObserverSequence); if (seq != null && !seq.isEmpty()) { html.append("<B>"); //$NON-NLS-1$ html.append(Messages.getString("SRReader.ver_observer")); //$NON-NLS-1$
private Attributes selectVOILUT(Attributes psAttrs, String iuid, int frame) { Sequence voiLUTs = psAttrs.getSequence(Tag.SoftcopyVOILUTSequence); if (voiLUTs != null) for (Attributes voiLUT : voiLUTs) { Sequence refImgs = voiLUT.getSequence(Tag.ReferencedImageSequence); if (refImgs == null || refImgs.isEmpty()) return voiLUT; for (Attributes refImg : refImgs) { if (iuid.equals(refImg.getString(Tag.ReferencedSOPInstanceUID))) { int[] refFrames = refImg.getInts(Tag.ReferencedFrameNumber); if (refFrames == null || refFrames.length == 0) return voiLUT; for (int refFrame : refFrames) if (refFrame == frame) return voiLUT; } } } return null; }
if (seriesUID.equals(item.getString(Tag.SeriesInstanceUID))) { Sequence refImgs = item.getSequence(Tag.ReferencedImageSequence); if (refImgs == null || refImgs.isEmpty()) { return true;
@Override public void readValue(Object data, Tagable tagabale) { if (data instanceof MacroSeqData) { MacroSeqData macro = (MacroSeqData) data; Object val = getValue(macro.getAttributes()); if (val instanceof Sequence) { Sequence seq = (Sequence) val; if (!seq.isEmpty()) { val = seq.get(0); } } if (val instanceof Attributes) { Attributes dataset = (Attributes) val; Predicate<? super Attributes> predicate = macro.getApplicable(); if (predicate == null || predicate.test(dataset)) { for (TagW tag : macro.getTags()) { if (tag != null) { tag.readValue(dataset, tagabale); } } } } } }
private void readSequence(int len, Attributes attrs, int sqtag) throws IOException { if (len == 0) { attrs.setNull(sqtag, VR.SQ); return; } Sequence seq = attrs.newSequence(sqtag, 10); String privateCreator = attrs.getPrivateCreator(sqtag); boolean undefLen = len == -1; long endPos = pos + (len & 0xffffffffL); boolean explicitVR0 = explicitVR; boolean bigEndian0 = bigEndian; if (encodedVR == 0x554e // UN && !probeExplicitVR()) { explicitVR = false; bigEndian = false; } for (int i = 0; (undefLen || pos < endPos) && readItemHeader(); ++i) { addItemPointer(sqtag, privateCreator, i); handler.readValue(this, seq); removeItemPointer(); } explicitVR = explicitVR0; bigEndian = bigEndian0; if (seq.isEmpty()) attrs.setNull(sqtag, VR.SQ); else seq.trimToSize(); }
public static void addAttributes(Attributes attrs, int[] tags, String... ss) { Attributes item = attrs; for (int i = 0; i < tags.length-1; i++) { int tag = tags[i]; Sequence sq = item.getSequence(tag); if (sq == null) sq = item.newSequence(tag, 1); if (sq.isEmpty()) sq.add(new Attributes()); item = sq.get(0); } int tag = tags[tags.length-1]; VR vr = ElementDictionary.vrOf(tag, item.getPrivateCreator(tag)); if (ss.length == 0) if (vr == VR.SQ) item.newSequence(tag, 1).add(new Attributes(0)); else item.setNull(tag, vr); else item.setString(tag, vr, ss); }
public static void addAttributes(Attributes attrs, int[] tags, String... ss) { Attributes item = attrs; for (int i = 0; i < tags.length-1; i++) { int tag = tags[i]; Sequence sq = item.getSequence(tag); if (sq == null) sq = item.newSequence(tag, 1); if (sq.isEmpty()) sq.add(new Attributes()); item = sq.get(0); } int tag = tags[tags.length-1]; VR vr = ElementDictionary.vrOf(tag, item.getPrivateCreator(tag)); if (ss.length == 0) if (vr == VR.SQ) item.newSequence(tag, 1).add(new Attributes(0)); else item.setNull(tag, vr); else item.setString(tag, vr, ss); }