public void copyTags(TagW[] tagList, MediaElement media, boolean allowNullValue) { if (tagList != null && media != null) { for (TagW tag : tagList) { Object value = media.getTagValue(tag); if (allowNullValue || value != null) { tags.put(tag, value); } } } }
public boolean hasMediaContains(TagW tag, Object val) { if (val != null) { synchronized (this) { for (int i = 0; i < medias.size(); i++) { Object val2 = medias.get(i).getTagValue(tag); if (val.equals(val2)) { return true; } } } } return false; }
@Override public Object getTagValue(TagW tag) { MediaElement element = getSingleImage(); if (tag != null && element != null) { return element.getTagValue(tag); } return null; }
public boolean isTagValueMatching(MediaElement seriesMedia, MediaElement newMedia) { Object val1 = seriesMedia.getTagValue(tag); Object val2 = newMedia.getTagValue(tag); if (TagUtil.isEquals(val1, val2)) { return true; } if (condition != null) { // When all conditions match then the tag values not matching any more (media goes into a new // sub-series) return !condition.match(newMedia); } return false; }
public static String buildPath(MediaElement img, boolean keepNames, boolean writeDicomdir, boolean cdCompatible, DefaultMutableTreeNode node) { StringBuilder buffer = new StringBuilder(); // Cannot keep folders names with DICOMDIR (could be not valid) if (keepNames && !writeDicomdir) { TreeNode[] objects = node.getPath(); if (objects.length > 2) { for (int i = 1; i < objects.length - 1; i++) { buffer.append(buildFolderName(objects[i].toString(), 30)); buffer.append(File.separator); } } } else { if (cdCompatible) { buffer.append("DICOM"); //$NON-NLS-1$ buffer.append(File.separator); } buffer.append(makeFileIDs((String) img.getTagValue(TagW.PatientPseudoUID))); buffer.append(File.separator); buffer.append(makeFileIDs(TagD.getTagValue(img, Tag.StudyInstanceUID, String.class))); buffer.append(File.separator); buffer.append(makeFileIDs(TagD.getTagValue(img, Tag.SeriesInstanceUID, String.class))); } return buffer.toString(); }
public static String buildPath(MediaElement img, boolean keepNames, DefaultMutableTreeNode node) { StringBuilder buffer = new StringBuilder(); if (keepNames) { TreeNode[] objects = node.getPath(); if (objects.length > 3) { buffer.append(buildFolderName(objects[1].toString(), 30)); buffer.append(File.separator); buffer.append(buildFolderName(objects[2].toString(), 30)); buffer.append(File.separator); buffer.append(buildFolderName(objects[3].toString(), 25)); buffer.append('-'); // Hash of UID to guaranty the unique behavior of the name. buffer.append(makeFileIDs(TagD.getTagValue(img, Tag.SeriesInstanceUID, String.class))); } } else { buffer.append(makeFileIDs((String) img.getTagValue(TagW.PatientPseudoUID))); buffer.append(File.separator); buffer.append(makeFileIDs(TagD.getTagValue(img, Tag.StudyInstanceUID, String.class))); buffer.append(File.separator); buffer.append(makeFileIDs(TagD.getTagValue(img, Tag.SeriesInstanceUID, String.class))); } return buffer.toString(); }
@Override public Component getListCellRendererComponent(JList<? extends E> list, E value, int index, boolean isSelected, boolean cellHasFocus) { ThumbnailIcon icon = null; if (value instanceof ImageElement) { if (list instanceof AbstractThumbnailList) { icon = ((AbstractThumbnailList) list).getThumbCache().getThumbnailFor((ImageElement) value, (ThumbnailList<E>) list, index); } if (LangUtil.getNULLtoFalse((Boolean) value.getTagValue(TagW.Checked))) { iconCheckedLabel.setIcon(ICON_CHECKED); } else { iconCheckedLabel.setIcon(null); } } this.iconLabel.setIcon(icon == null ? JIUtility.getSystemIcon(value) : icon); this.descriptionLabel.setText(value.getName()); setBackground(isSelected ? list.getSelectionBackground() : back); return this; }
public static Attributes buildAndWritePR(MediaElement img, boolean keepNames, File destinationDir, DicomDirWriter writer, DefaultMutableTreeNode node, String seriesInstanceUID) { Attributes imgAttributes = img.getMediaReader() instanceof DcmMediaReader ? ((DcmMediaReader) img.getMediaReader()).getDicomObject() : null; if (imgAttributes != null) { GraphicModel grModel = (GraphicModel) img.getTagValue(TagW.PresentationModel); if (grModel != null && grModel.hasSerializableGraphics()) { String prUid = UIDUtils.createUID(); File outputFile = new File(destinationDir, keepNames ? prUid : makeFileIDs(prUid)); destinationDir.mkdirs(); Attributes prAttributes = DicomPrSerializer.writePresentation(grModel, imgAttributes, outputFile, seriesInstanceUID, prUid); if (prAttributes != null) { try { writeInDicomDir(writer, prAttributes, node, outputFile.getName(), outputFile); } catch (IOException e) { LOGGER.error("Writing DICOMDIR", e); //$NON-NLS-1$ } } } } return imgAttributes; }
String seriesInstanceUID = UIDUtils.createUID(); for (MediaElement dcm : series.getMedias(null, null)) { GraphicModel grModel = (GraphicModel) dcm.getTagValue(TagW.PresentationModel); if (grModel != null && grModel.hasSerializableGraphics()) { String path = LocalExport.buildPath(dcm, false, false, false, node);
@Override public boolean match(MediaElement media) { Object value = media.getTagValue(tag);
String seriesInstanceUID = UIDUtils.createUID(); for (MediaElement dcm : series.getMedias(null, null)) { GraphicModel grModel = (GraphicModel) dcm.getTagValue(TagW.PresentationModel); if (grModel != null && grModel.hasSerializableGraphics()) { String path = buildPath(dcm, keepNames, writeDicomdir, cdCompatible, node);
boolean noPath = file == null || !file.canRead(); if (noPath && media != null) { String path = (String) media.getTagValue(TagW.ThumbnailPath); if (path != null) { file = new File(path);
if (media.getTagValue(TagW.OverlayBurninDataPath) == null) {
public void buildInstance(MediaElement media, Series s) { if (media != null) { String sopUID = TagD.getTagValue(media, Tag.SOPInstanceUID, String.class); Integer frame = TagD.getTagValue(media, Tag.InstanceNumber, Integer.class); SopInstance sop = s.getSopInstance(sopUID, frame); if (sop == null) { sop = new SopInstance(sopUID, frame); sop.setDirectDownloadFile(TagW.getTagValue(media, TagW.DirectDownloadFile, String.class)); sop.setImageComments(TagD.getTagValue(media, Tag.ImageComments, String.class)); // Out of date (as the real server syntax is unknown and client has now all the codecs) // sop.setTransferSyntaxUID(TagD.getTagValue(media, Tag.TransferSyntaxUID, String.class)); s.addSopInstance(sop); } if (media instanceof DicomImageElement) { GraphicModel model = (GraphicModel) media.getTagValue(TagW.PresentationModel); if (model != null && model.hasSerializableGraphics()) { images.add((DicomImageElement) media); } } } } }
if (media.getTagValue(TagW.OverlayBurninDataPath) == null) {
MediaElement element = getSingleImage(); if (element != null) { sUID = (String) element.getTagValue(TagW.get("SeriesInstanceUID")); //$NON-NLS-1$
GraphicModel grModel = (GraphicModel) dicom.getTagValue(TagW.PresentationModel); hasGraphics = grModel != null && grModel.hasSerializableGraphics();
private void addGraphicstoView(MediaElement mediaElement, SRImageReference imgRef) { if (mediaElement instanceof ImageElement && imgRef.getGraphics() != null && !imgRef.getGraphics().isEmpty()) { GraphicModel modelList = (GraphicModel) mediaElement.getTagValue(TagW.PresentationModel);