@Override protected boolean filter(int tag) { return !TagUtils.isPrivateDataElement(tag); }
public String getPrivateCreator(int tag) { if (!TagUtils.isPrivateDataElement(tag) || TagUtils.isPrivateCreatorDataElement(tag)) throw new IllegalArgumentException(TagUtils.toString(tag)); int creatorIDtag = (tag & 0xffff0000) | ((tag >> 8) & 0xff); return getAndCacheString(creatorIDtag); }
public int resolveTag(int tag, String creator, boolean reserve) { if (creator == null || !TagUtils.isPrivateDataElement(tag)) return tag; int gggg0000 = tag & 0xffff0000; int idTag = gggg0000 | 0x10; int maxIdTag = gggg0000 | 0xff; String id; while (!creator.equals(id = getAndCacheString(idTag))) { if (id == null) { if (!reserve) return -1; addPrivateCreator(creator, idTag); break; } if (++idTag > maxIdTag) throw new IllegalStateException( "No free block to reserve in group " + TagUtils.toString(gggg0000)); } return (tag & 0xffff00ff) | ((idTag & 0xff) << 8); }
/** * Return true if this tag should be skipped/replaced with an alternate tag. * @param in * @return */ public boolean isSkip(DicomInputStream in) { if( TagUtils.isPrivateDataElement(in.tag() )) { return in.valueLength() >= privateSkipSize; } return in.valueLength() >= publicSkipSize; }
/** * Resolve the tag to use against the second internal DicomObject. */ private int resolveTagForDS2(int tag) { if(TagUtils.isPrivateDataElement(tag) && !TagUtils.isPrivateCreatorDataElement(tag)) { String creatorName = ds1.getPrivateCreator(tag); tag = ds2.resolveTag(tag, creatorName, false); } return tag; }
public boolean visit(DicomElement attr) { int tag = attr.tag(); VR vr = attr.vr(); if (!TagUtils.isPrivateDataElement(tag) || (!resolveDestinationPrivateTags && TagUtils.isPrivateCreatorDataElement(tag))) dest.add(attr); else if (!TagUtils.isPrivateCreatorDataElement(tag)) {