public boolean containsTag(TagW tag) { for (TagW tagW : this.tag) { if (tagW.equals(tag)) { return true; } } return false; }
private void writeItem(int tagID, StringBuilder html) { TagW tag = TagD.getNullable(tagID, null); if (tag != null && html != null && dcmItems != null) { html.append("<B>"); //$NON-NLS-1$ html.append(tag.getDisplayedName()); html.append("</B>"); //$NON-NLS-1$ html.append(StringUtil.COLON_AND_SPACE); html.append(tag.getFormattedTagValue(tag.getValue(dcmItems), null)); } }
private static TagW getTag(String tagKey) { TagW tag = TagW.get(tagKey); if (tag == null) { LOGGER.error("Cannot find a tag with the keyword {}", tagKey); //$NON-NLS-1$ } return tag; } }
public String getFormattedText(boolean anonymize, TagReadable... tagable) { for (TagW t : this.tag) { if (!anonymize || t.getAnonymizationType() != 1) { String str = t.getFormattedTagValue(TagUtil.getTagValue(t, tagable), format); if (StringUtil.hasText(str)) { return str; } } } return StringUtil.EMPTY_STRING; } }
public String getToolTipText() { TagReadable s = (TagReadable) getUserObject(); StringBuilder toolTips = new StringBuilder(); toolTips.append("<html>"); //$NON-NLS-1$ s.getTagEntrySetIterator().forEachRemaining(i -> { TagW tag = i.getKey(); toolTips.append("<b>"); //$NON-NLS-1$ toolTips.append(tag.getDisplayedName()); toolTips.append("</b>"); //$NON-NLS-1$ toolTips.append(StringUtil.COLON_AND_SPACE); toolTips.append(tag.getFormattedTagValue(i.getValue(), null)); toolTips.append("<br>"); //$NON-NLS-1$ }); toolTips.append("</html>"); //$NON-NLS-1$ return toolTips.toString(); } }
@Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component val = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); TableModel model = table.getModel(); Object tag = model.getValueAt(row, 0); if (tag instanceof TagW) { setValue(((TagW) tag).getFormattedTagValue(value, null)); } return val; } }
for (TagView t : dicomData.getInfos()) { for (TagW tag : t.getTag()) { if (!anonymize || tag.getAnonymizationType() != 1) { try { Object val = TagUtil.getTagValue(tag, group, currentMedia); if (val != null) { exist = true; doc.insertString(doc.getLength(), tag.getDisplayedName(), null); doc.insertString(doc.getLength(), StringUtil.COLON_AND_SPACE + tag.getFormattedTagValue(val, null) + "\n", //$NON-NLS-1$ doc.getStyle("bold")); //$NON-NLS-1$ break;
int[] pSeq = cols[j].getParentSeqTags(); if (pSeq == null || pSeq.length == 0) { row[j] = tags[j].getFormattedTagValue(tags[j].getValue(m), null); } else { Attributes parent = m; row[j] = tags[j].getFormattedTagValue(tags[j].getValue(parent), null); selectedItem = items.get(row); TagW name = TagD.get(Tag.PatientName); StringBuilder buf = new StringBuilder(name.getFormattedTagValue(name.getValue(selectedItem), null)); buf.append(" "); //$NON-NLS-1$ TagW date = TagD.get(Tag.PatientBirthDate); buf.append(date.getFormattedTagValue(date.getValue(selectedItem), null)); selection.setText(buf.toString());
private Object readValue(String value) { if (!StringUtil.hasText(value)) { return null; } return tag.getValue(value); }
String seriesUID = (String) seriesTag.getValue(xmler); Series dicomSeries = (Series) model.getHierarchyNode(study, seriesUID); TagD.getTagFromIDs(Tag.Modality, Tag.SeriesNumber, Tag.SeriesDescription, Tag.ReferringPhysicianName); for (TagW tag : tags) { tag.readValue(xmler, dicomSeries); TagUtil.getTagAttribute(xmler, TagW.WadoTransferSyntaxUID.getKeyword(), null)); dicomSeries.setTagNoNull(TagW.WadoCompressionRate, TagUtil.getIntegerTagAttribute(xmler, TagW.WadoCompressionRate.getKeyword(), null)); dicomSeries.setTagNoNull(TagW.DirectDownloadThumbnail, TagUtil.getTagAttribute(xmler, TagW.DirectDownloadThumbnail.getKeyword(), null)); sop = new SopInstance(sopInstanceUID, frame); sop.setDirectDownloadFile( TagUtil.getTagAttribute(xmler, TagW.DirectDownloadFile.getKeyword(), null)); seriesInstanceList.addSopInstance(sop);
private boolean applySelection() { if (selectedItem != null) { DefaultTagable tagable = new DefaultTagable(); TagW[] addTags = TagD.getTagFromIDs(Tag.AccessionNumber, Tag.IssuerOfAccessionNumberSequence, Tag.ReferringPhysicianName, Tag.PatientName, Tag.PatientID, Tag.IssuerOfPatientID, Tag.PatientBirthDate, Tag.PatientSex, Tag.PatientWeight, Tag.MedicalAlerts, Tag.Allergies, Tag.PregnancyStatus, Tag.StudyInstanceUID, Tag.RequestingPhysician, Tag.RequestingService, Tag.RequestedProcedureDescription, Tag.RequestedProcedureCodeSequence, Tag.AdmissionID, Tag.IssuerOfAdmissionIDSequence, Tag.SpecialNeeds, Tag.CurrentPatientLocation, Tag.PatientState); for (TagW t : addTags) { t.readValue(selectedItem, tagable); } Attributes seq = selectedItem.getNestedDataset(Tag.ScheduledProcedureStepSequence); tagable.setTagNoNull(TagD.get(Tag.StudyDescription), TagD.get(Tag.ScheduledProcedureStepDescription).getValue(seq)); TagW tModality = TagD.get(Tag.Modality); tagable.setTagNoNull(tModality, tModality.getValue(seq)); tagable.setTagNoNull(TagD.get(Tag.StationName), TagD.get(Tag.ScheduledStationName).getValue(seq)); AcquireManager.getInstance().applyToGlobal(tagable); selectedItem = null; selection.setText(""); //$NON-NLS-1$ jtable.getSelectionModel().clearSelection(); return true; } return false; }
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); }
@Override public TagW getTagElement(int id) { Iterator<TagW> enumVal = tags.keySet().iterator(); while (enumVal.hasNext()) { TagW e = enumVal.next(); if (e.getId() == id) { return e; } } return null; }
@Override public String toString() { return getDisplayedName(); }
private void readXmlTag(TagW tag, Node node, DefaultTagable def) { // TODO implement DICOM XML : http://dicom.nema.org/medical/dicom/current/output/chtml/part19/chapter_A.html if (tag instanceof TagSeq && node.hasChildNodes()) { NodeList nodeList = node.getChildNodes(); Attributes attributes = new Attributes(); // FIXME handle only one sequence element Attributes[] list = new Attributes[1]; for (int i = 0; i < nodeList.getLength(); i++) { Node n = nodeList.item(i); if (n != null) { Optional.ofNullable(TagD.get(n.getNodeName())).ifPresent(t -> attributes.setValue(t.getId(), ElementDictionary.vrOf(t.getId(), null), n.getTextContent())); } } list[0] = attributes.getParent() == null ? attributes : new Attributes(attributes); def.setTagNoNull(tag, list); } else { tag.readValue(node.getTextContent(), def); } }
public static void addTag(TagW tag) { if (tag != null) { tags.put(tag.getKeyword(), tag); } }
public static void fillAttributes(Attributes dataset, final TagW tag, final Object val, ElementDictionary dic) { if (dataset != null && tag != null) { TagType type = tag.getType(); int id = tag.getId(); String key = dic.keywordOf(id); if (val == null || !StringUtil.hasLength(key)) { if (tag.isStringFamilyType()) { if (val instanceof String[]) { dataset.setString(id, dic.vrOf(id), (String[]) val);
patient = new MediaSeriesGroupNode(TagD.getUID(Level.PATIENT), patientPseudoUID, DicomModel.patient.getTagView()); patient.setTag(idTag, TagUtil.getTagAttribute(xmler, idTag.getKeyword(), TagW.NO_VALUE)); patient.setTag(nameTag, TagUtil.getTagAttribute(xmler, nameTag.getKeyword(), TagW.NO_VALUE)); patient.setTagNoNull(issuerIdTag, TagUtil.getTagAttribute(xmler, issuerIdTag.getKeyword(), null)); tag.readValue(xmler, patient);
protected void addToolTipsElement(StringBuilder toolTips, String title, TagW tag) { toolTips.append(title); toolTips.append(StringUtil.COLON_AND_SPACE); if (tag != null) { toolTips.append(tag.getFormattedTagValue(getTagValue(tag), null)); } toolTips.append("<br>"); //$NON-NLS-1$ }