/** * Updates the given {@link ImagePlus}'s Roi and Overlay to match the modern * ImageJ {@link Overlay}s being visualized in the given {@link ImageDisplay}. */ @Override public void updateLegacyImage(final ImageDisplay display, final ImagePlus imp) { final List<Overlay> overlays = overlayService.getOverlays(display); setOverlays(overlays, overlayService.getActiveOverlay(display), imp); setLegacyThreshold(display, imp); }
private void makeCompositeOverlay(CompositeOverlay.Operation op) { ImageDisplay imageDisplay = imageDisplayService.getActiveImageDisplay(); if (imageDisplay == null) return; List<Overlay> overlays = overlayService.getOverlayInfo().selectedOverlays(); if (overlays.size() == 0) overlays = overlayService.getOverlays(imageDisplay); if (overlays.size() < 2) { JOptionPane.showMessageDialog(this, "This command only works with 2 or more overlays"); return; } // else overlays.size() >= 2 CompositeOverlay newOverlay = new CompositeOverlay(context); for (Overlay o : overlays) newOverlay.doOperation(op, o); imageDisplay.display(newOverlay); imageDisplay.update(); }
/** * Updates the given {@link ImageDisplay} to contain {@link Overlay}s * corresponding to all the given {@link ImagePlus}'s Rois (both the active * Roi and the Rois stored in ImageJ 1.x's current Overlay). */ @Override public void updateDisplay(final ImageDisplay display, final ImagePlus imp) { final List<Overlay> overlaysToRemove = overlayService.getOverlays(display); for (final Overlay overlay : overlaysToRemove) { overlayService.removeOverlay(display, overlay); } /* if (fullySelected(display, imp)) { for (DataView view : display) view.setSelected(true); } else { */ final List<Overlay> overlays = getOverlays(imp); overlayService.addOverlays(display, overlays); // } setModernThreshold(display, imp); }
private void populateOverlayList() { // Populate the list with all overlays for (final Overlay overlay : overlayService.getOverlays()) { boolean found = false; int totOverlays = overlayService.getOverlayInfo().getOverlayInfoCount(); for (int i = 0; i < totOverlays; i++) { OverlayInfo info = overlayService.getOverlayInfo().getOverlayInfo(i); if (overlay == info.getOverlay()) { found = true; break; } } if (!found) { OverlayInfo info = new OverlayInfo(overlay); overlayService.getOverlayInfo().addOverlayInfo(info); } } jlist.updateUI(); }