public static boolean applyPresentationModel(ImageElement img) { if (img != null) { byte[] prBinary = TagW.getTagValue(img, TagW.PresentationModelBirary, byte[].class); if (prBinary != null) { GraphicModel model = XmlSerializer.buildPresentationModel(prBinary); img.setTag(TagW.PresentationModel, model); img.setTag(TagW.PresentationModelBirary, null); return true; } } return false; } }
if (uuid == null) { uuid = UIDUtils.createUID(); imageElement.setTag(tagUid, uuid);
@Override protected void process(List<File> chunks) { if (!dicomProgress.isLastFailed()) { chunks.stream().filter(Objects::nonNull).map(imageFile -> AcquireManager.findByUId(imageFile.getName())) .filter(Objects::nonNull).forEach(imageInfo -> { imageInfo.setStatus(AcquireImageStatus.PUBLISHED); imageInfo.getImage().setTag(TagW.Checked, Boolean.TRUE); AcquireManager.getInstance().removeImage(imageInfo); }); } }
@Override protected void afterEntryRemove(ImageElement key, PlanarImage img) { if (key != null) { key.setTag(TagW.ImageCache, false); MediaReader reader = key.getMediaReader(); if (reader != null) { // Close the image stream reader.close(); } } if (img != null) { img.release(); } } };
private PlanarImage readImage(File file, boolean createTiledLayout) throws Exception { PlanarImage img = null; if (file.getPath().endsWith(".wcv")) { //$NON-NLS-1$ img = new FileRawImage(file).read(); } else if (codec instanceof NativeOpenCVCodec) { img = ImageProcessor.readImageWithCvException(file); if (img == null) { // Try ImageIO img = readImageIOImage(file); } } else { img = readImageIOImage(file); } if (img != null && image != null) { image.setTag(TagW.ImageWidth, img.width()); image.setTag(TagW.ImageHeight, img.height()); } return img; }
private static List<ReferencedSeries> buildReferences(ImageElement img) { String seriesUUID = (String) img.getTagValue(TagW.get("SeriesInstanceUID")); //$NON-NLS-1$ if (seriesUUID == null) { seriesUUID = java.util.UUID.randomUUID().toString(); img.setTag(TagW.get("SeriesInstanceUID"), seriesUUID); //$NON-NLS-1$ } String uid = (String) img.getTagValue(TagW.get("SOPInstanceUID")); //$NON-NLS-1$ if (uid == null) { uid = java.util.UUID.randomUUID().toString(); img.setTag(TagW.get("SOPInstanceUID"), uid); //$NON-NLS-1$ } List<Integer> frameList = new ArrayList<>(1); int frames = img.getMediaReader().getMediaElementNumber(); if (frames > 1 && img.getKey() instanceof Integer) { frameList.add((Integer) img.getKey()); } return Arrays.asList(new ReferencedSeries(seriesUUID, Arrays.asList(new ReferencedImage(uid, frameList)))); } }
mCache.put(this, img); cacheImage = img; this.setTag(TagW.ImageCache, true);
image.setTag(TagW.ThumbnailPath, file.getPath()); thumbnailPath = file; return;
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()); } } }
@Override public void validate(AcquireImageInfo imageInfo, ViewCanvas<ImageElement> view) { imageInfo.removeLayer(view); this.centralPanel.restoreLastAction(); if (view.getImageLayer() instanceof RenderedImageLayer && currentCropArea != null) { imageInfo.getCurrentValues().setCropZone(null); // Force dirty value, rotation is always apply in post // process imageInfo.getNextValues() .setCropZone(currentCropArea.getShape().getBounds()); view.setActionsInView(ActionW.ROTATION.cmd(), 0); view.setActionsInView(ActionW.FLIP.cmd(), false); imageInfo.applyPostProcess(view); view.getImage().setTag(TagW.ThumbnailPath, null); Panner<?> panner = view.getPanner(); if (panner != null) { panner.updateImage(); } } }
img.setTag(TagW.PresentationModel, modelList);
dicom.setTag(TagW.PresentationModel, modelList); } else { modelList.deleteByLayerType(LayerType.DICOM_RT);