public ExportImage(ViewCanvas<E> view2d) { super(view2d.getEventManager(), null); this.view2d = view2d; // Remove OpEventListener to avoid reseting some parameters when setting the series this.imageLayer.removeEventListener(imageLayer.getDisplayOpManager()); setFont(FontTools.getFont8()); this.infoLayer = view2d.getInfoLayer().getLayerCopy(this); infoLayer.setVisible(view2d.getInfoLayer().getVisible()); infoLayer.setShowBottomScale(false); // For exporting view, remove Pixel value, Preloading bar, Key Object infoLayer.setDisplayPreferencesValue(LayerAnnotation.PIXEL, false); infoLayer.setDisplayPreferencesValue(LayerAnnotation.PRELOADING_BAR, false); // Copy image operations from view2d SimpleOpManager operations = imageLayer.getDisplayOpManager(); for (ImageOpNode op : view2d.getImageLayer().getDisplayOpManager().getOperations()) { operations.addImageOperationAction(op.copy()); } // Copy the current values of image operations view2d.copyActionWState(actionsInView); setPreferredSize(new Dimension(1024, 1024)); ViewModel model = view2d.getViewModel(); Rectangle2D canvas = new Rectangle2D.Double(0, 0, view2d.getJComponent().getWidth(), view2d.getJComponent().getHeight()); actionsInView.put("origin.image.bound", canvas); //$NON-NLS-1$ actionsInView.put("origin.zoom", view2d.getActionValue(ActionW.ZOOM.cmd())); //$NON-NLS-1$ actionsInView.put("origin.center.offset", new Point2D.Double(model.getModelOffsetX(), model.getModelOffsetY())); //$NON-NLS-1$ // Do not use setSeries() because the view will be reset this.series = view2d.getSeries(); setImage(view2d.getImage()); }
protected void showPixelInfos(MouseEvent mouseevent) { if (infoLayer != null) { Point2D pModel = getImageCoordinatesFromMouse(mouseevent.getX(), mouseevent.getY()); Rectangle oldBound = infoLayer.getPixelInfoBound(); PixelInfo pixelInfo = getPixelInfo(new Point((int) Math.floor(pModel.getX()), (int) Math.floor(pModel.getY()))); oldBound.width = Math.max(oldBound.width, this.getGraphics().getFontMetrics(getLayerFont()) .stringWidth(Messages.getString("DefaultView2d.pix") + StringUtil.COLON_AND_SPACE + pixelInfo) + 4); //$NON-NLS-1$ infoLayer.setPixelInfo(pixelInfo); repaint(oldBound); } }
if (selected != v.getInfoLayer().getVisible()) { v.getInfoLayer().setVisible(selected); v.getJComponent().repaint(); for (ViewCanvas<ImageElement> v : views) { LayerAnnotation layer = v.getInfoLayer(); if (layer != null && layer.setDisplayPreferencesValue(selObject.toString(), selected)) { v.getJComponent().repaint();
private void formatImage(ExportImage<? extends ImageElement> image, LayoutConstraints key, Point2D.Double pad) { if (!printOptions.isShowingAnnotations() && image.getInfoLayer().getVisible()) { image.getInfoLayer().setVisible(false);
selView != null && selView.getInfoLayer().getDisplayPreferences(LayerAnnotation.MIN_ANNOTATIONS); LayerAnnotation layer = v.getInfoLayer(); if (layer != null) { layer.setVisible(true); if (layer.setDisplayPreferencesValue(LayerAnnotation.MIN_ANNOTATIONS, true)) { v.getJComponent().repaint();
initPathSelection(getTreePath(info), layer.getVisible()); Enumeration<?> en = info.children(); while (en.hasMoreElements()) { if (node instanceof TreeNode) { TreeNode checkNode = (TreeNode) node; initPathSelection(getTreePath(checkNode), layer.getDisplayPreferences(node.toString()));
private static RenderedImage createComponentImage(DefaultView2d canvas) { BufferedImage img = new BufferedImage(canvas.getWidth(), canvas.getHeight(), BufferedImage.TYPE_INT_BGR); ExportImage<ImageElement> exportImage = new ExportImage<>(canvas); try { exportImage.getInfoLayer().setDisplayPreferencesValue(LayerAnnotation.ANONYM_ANNOTATIONS, true); exportImage.getInfoLayer().setBorder(3); Graphics2D g = img.createGraphics(); if (g != null) { ViewModel originViewModel = canvas.getViewModel(); ViewModel viewModel = exportImage.getViewModel(); final Rectangle modelArea = exportImage.getImageBounds(exportImage.getImage()); ((DefaultViewModel) viewModel).adjustMinViewScaleFromImage(modelArea.width, modelArea.height); viewModel.setModelArea(originViewModel.getModelArea()); viewModel.setModelOffset(originViewModel.getModelOffsetX(), originViewModel.getModelOffsetY(), originViewModel.getViewScale()); exportImage.setBounds(canvas.getX(), canvas.getY(), canvas.getWidth(), canvas.getHeight()); boolean wasBuffered = ImagePrint.disableDoubleBuffering(exportImage); exportImage.zoom(originViewModel.getViewScale()); exportImage.draw(g); ImagePrint.restoreDoubleBuffering(exportImage, wasBuffered); g.dispose(); } } finally { exportImage.disposeView(); } return img; }
public MprView(ImageViewerEventManager<DicomImageElement> eventManager) { super(eventManager); this.sliceOrientation = SliceOrientation.AXIAL; infoLayer.setDisplayPreferencesValue(LayerAnnotation.PRELOADING_BAR, false); // Remove PR and KO buttons getViewButtons().clear(); }
@Override public void changingViewContentEvent(SeriesViewerEvent event) { EVENT type = event.getEventType(); if (event.getSeriesViewer() == viewer && (EVENT.SELECT.equals(type) || EVENT.LAYOUT.equals(type) || EVENT.ANONYM.equals(type))) { currentMedia = event.getMediaElement(); currentSeries = event.getSeries(); if (event.getSeriesViewer() instanceof ImageViewerPlugin) { ViewCanvas<?> sel = ((ImageViewerPlugin<?>) event.getSeriesViewer()).getSelectedImagePane(); if (sel != null) { anonymize = sel.getInfoLayer().getDisplayPreferences(LayerAnnotation.ANONYM_ANNOTATIONS); } } changeDicomInfo(currentSeries, currentMedia); } }
for (ViewCanvas<ImageElement> v : view2ds) { if (s == v.getSeries()) { v.getJComponent().repaint(v.getInfoLayer().getPreloadingProgressBound());
LayerAnnotation layer = v.getInfoLayer(); if (layer != null) { if (selected != v.getInfoLayer().getVisible()) { v.getInfoLayer().setVisible(selected); v.getJComponent().repaint(); LayerAnnotation layer = v.getInfoLayer(); if (layer != null) { if (layer.setDisplayPreferencesValue(selObject.toString(), selected)) { v.getJComponent().repaint();
private void formatImage(ExportImage<? extends ImageElement> image, LayoutConstraints key, Point2D.Double placeholder, Point2D.Double pad) { if (!printOptions.isShowingAnnotations() && image.getInfoLayer().getVisible()) { image.getInfoLayer().setVisible(false);
initPathSelection(getTreePath(dicomInfo), layer.getVisible()); Boolean sel = applyAllViews.isSelected() ? AbstractInfoLayer.defaultDisplayPreferences.getOrDefault(node.toString(), Boolean.FALSE) : layer.getDisplayPreferences(node.toString()); initPathSelection(getTreePath(checkNode), sel);
for (ViewCanvas<DicomImageElement> v : view2ds) { if (dcm == v.getSeries()) { v.getJComponent().repaint(v.getInfoLayer().getPreloadingProgressBound());