public static TagW get(int tagID) { return get(tagID, null); }
public void readDisplayArea(DicomImageElement img) { if (dcmobj != null) { TagW[] tagList = TagD.getTagFromIDs(Tag.PresentationPixelSpacing, Tag.PresentationPixelAspectRatio, Tag.PixelOriginInterpretation, Tag.PresentationSizeMode, Tag.DisplayedAreaTopLeftHandCorner, Tag.DisplayedAreaBottomRightHandCorner, Tag.PresentationPixelMagnificationRatio); TagSeq.MacroSeqData data = new TagSeq.MacroSeqData(dcmobj, tagList, isSequenceApplicable(img)); TagD.get(Tag.DisplayedAreaSelectionSequence).readValue(data, this); } }
public void setSeries(SeriesGroup seriesGroup) { this.seriesGroup = seriesGroup; if (seriesGroup != null) { image.setTag(TagD.get(Tag.SeriesInstanceUID), seriesGroup.getUID()); String seriesDescription = TagD.getTagValue(seriesGroup, Tag.SeriesDescription, String.class); if (!StringUtil.hasText(seriesDescription) && seriesGroup.getType() != SeriesGroup.Type.NONE) { seriesGroup.setTag(TagD.get(Tag.SeriesDescription), seriesGroup.getDisplayName()); } } }
public static TagW getUID(Level level) { if (level != null) { switch (level) { case PATIENT: return TagW.PatientPseudoUID; case STUDY: return TagD.get(Tag.StudyInstanceUID); case SERIES: return TagW.SubseriesInstanceUID; case INSTANCE: case FRAME: return TagD.get(Tag.SOPInstanceUID); default: break; } } return TagW.UnknownTag; }
public void addTag(int tagID, Level level) { addTag(TagD.get(tagID), level); }
private DefaultTagable convert(Document xml) { DefaultTagable def = new DefaultTagable(); Optional.ofNullable(xml).map(Document::getDocumentElement).ifPresent(element -> { NodeList nodeList = element.getChildNodes(); if (nodeList != null) { for (int i = 0; i < nodeList.getLength(); i++) { Node node = nodeList.item(i); if (node != null) { Optional.ofNullable(TagD.get(node.getNodeName())).ifPresent(t -> readXmlTag(t, node, def)); } } } }); return def; }
public static TagW[] getTags(String property, String defaultValues) { String values = BundleTools.SYSTEM_PREFERENCES.getProperty(property, defaultValues); if (values == null) { return new TagW[0]; } String[] val = values.split(","); //$NON-NLS-1$ List<TagW> list = new ArrayList<>(val.length); for (String s : val) { TagW tag = TagD.get(s.trim()); if (tag != null) { list.add(tag); } else if (StringUtil.hasText(s)) { LOGGER.warn("Cannot find the tag named {}", s.trim()); //$NON-NLS-1$ } } return list.toArray(new TagW[list.size()]); } }
public void init(Tagable tagable) { clear(); tags.put(TagD.get(Tag.StudyInstanceUID), UIDUtils.createUID()); if (tagable != null) { tagable.getTagEntrySetIterator().forEachRemaining(i -> { TagW tag = i.getKey(); if (tag != null) { tags.put(tag, i.getValue()); } }); } allowFullEdition = getTagValue(TagD.get(Tag.PatientID)) == null || getTagValue(TagD.get(Tag.PatientName)) == null; }
private String getDisplayValue(MediaSeriesGroupNode node, int tagID) { TagW tag = TagD.get(tagID); if (tag != null) { Object value = node.getTagValue(tag); if (value != null) { return tag.getFormattedTagValue(value, null); } } return StringUtil.EMPTY_STRING; }
@Override public String getToolTips() { StringBuilder toolTips = new StringBuilder("<html>"); //$NON-NLS-1$ addToolTipsElement(toolTips, Messages.getString("DicomSeries.pat"), TagD.get(Tag.PatientName)); //$NON-NLS-1$ addToolTipsElement(toolTips, Messages.getString("DicomSeries.mod"), TagD.get(Tag.Modality)); //$NON-NLS-1$ addToolTipsElement(toolTips, Messages.getString("DicomSeries.series_nb"), TagD.get(Tag.SeriesNumber)); //$NON-NLS-1$ addToolTipsElement(toolTips, Messages.getString("DicomSeries.study"), TagD.get(Tag.StudyDescription)); //$NON-NLS-1$ addToolTipsElement(toolTips, Messages.getString("DicomSeries.series"), TagD.get(Tag.SeriesDescription)); //$NON-NLS-1$ addToolTipsElement(toolTips, Messages.getString("DicomSeries.date"), TagD.get(Tag.SeriesDate)); //$NON-NLS-1$ toolTips.append("</html>"); //$NON-NLS-1$ return toolTips.toString(); }
@Override public String toString() { TagW name = TagD.get(Tag.PatientName); return name.getFormattedTagValue(getTagValue(name), null); }
public static void setShutterColor(Tagable tagable, Attributes attributes) { Integer psVal = (Integer) TagD.get(Tag.ShutterPresentationValue).getValue(attributes); tagable.setTagNoNull(TagW.ShutterPSValue, TagD.get(Tag.ShutterPresentationValue).getValue(attributes)); float[] rgb = CIELab.convertToFloatLab((int[]) TagD.get(Tag.ShutterPresentationColorCIELabValue).getValue(attributes)); Color color = rgb == null ? null : PresentationStateReader.getRGBColor(psVal == null ? 0 : psVal, rgb, (int[]) null); tagable.setTagNoNull(TagW.ShutterRGBColor, color); }
@Override protected void done() { super.done(); // Change to a new exman after publishing (avoid to reuse the same exam) AcquireManager.GLOBAL.setTag(TagD.get(Tag.StudyInstanceUID), UIDUtils.createUID()); }
public PatientComparator(XMLStreamReader xmler) { setPatientId(TagUtil.getTagAttribute(xmler, TagD.get(Tag.PatientID).getKeyword(), null)); setIssuerOfPatientID(TagUtil.getTagAttribute(xmler, TagD.get(Tag.IssuerOfPatientID).getKeyword(), null)); setName(TagUtil.getTagAttribute(xmler, TagD.get(Tag.PatientName).getKeyword(), null)); setSex(TagUtil.getTagAttribute(xmler, TagD.get(Tag.PatientSex).getKeyword(), null)); setBirthdate(TagUtil.getTagAttribute(xmler, TagD.get(Tag.PatientBirthDate).getKeyword(), null)); }
@Override public void writeMetaData(MediaSeriesGroup group) { if (group == null) { return; } // Get the dicom header Attributes header = getDicomObject(); DicomMediaUtils.writeMetaData(group, header); // Series Group if (TagW.SubseriesInstanceUID.equals(group.getTagID())) { // Information for series ToolTips group.setTagNoNull(TagD.get(Tag.PatientName), getTagValue(TagD.get(Tag.PatientName))); group.setTagNoNull(TagD.get(Tag.StudyDescription), header.getString(Tag.StudyDescription)); } }
@Override public void writeMetaData(MediaSeriesGroup group) { if (group == null) { return; } // Get the dicom header Attributes header = getDicomObject(); DicomMediaUtils.writeMetaData(group, header); // Series Group if (TagW.SubseriesInstanceUID.equals(group.getTagID())) { // Information for series ToolTips group.setTagNoNull(TagD.get(Tag.PatientName), getTagValue(TagD.get(Tag.PatientName))); group.setTagNoNull(TagD.get(Tag.StudyDescription), header.getString(Tag.StudyDescription)); } }
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); } }
private static void readImages(SeriesAndInstanceReference rfSeries, XMLStreamReader xmler, ReaderParams params) throws XMLStreamException { List<SOPInstanceReferenceAndMAC> instances = new ArrayList<>(); BiConsumerWithException<XMLStreamReader, ReaderParams, XMLStreamException> method = (x, r) -> { String sopUID = TagUtil.getTagAttribute(xmler, TagD.get(Tag.ReferencedSOPInstanceUID).getKeyword(), null); String sopClassUID = TagUtil.getTagAttribute(xmler, TagD.get(Tag.ReferencedSOPClassUID).getKeyword(), null); int[] seqFrame = (int[]) TagD.get(Tag.ReferencedFrameNumber).getValue(xmler); SOPInstanceReferenceAndMAC referencedSOP = new SOPInstanceReferenceAndMAC(); referencedSOP.setReferencedSOPInstanceUID(sopUID); referencedSOP.setReferencedSOPClassUID(sopClassUID); referencedSOP.setReferencedFrameNumber(seqFrame); instances.add(referencedSOP); }; readElement(xmler, Xml.Level.INSTANCE.getTagName(), Xml.Level.SERIES.getTagName(), method, params); rfSeries.setReferencedSOPInstances(instances); }