private void runPropertiesPlugin() { final Map<String, Object> inputMap = new HashMap<>(); inputMap.put("overlays", overlayService.getOverlayInfo().selectedOverlays()); // FIXME: Migrate OverlayProperties functionality into OverlayService API. commandService.run( "net.imagej.plugins.commands.overlay.SelectedManagerOverlayProperties", true, inputMap); }
/** * Takes the currently selected CompositeOverlay and turns it into its * constituent overlays. The CompositeOverlay is deleted. It does one layer * of division (it is not a deep division). */ private void divide() { List<Overlay> overlays = overlayService.getOverlayInfo().selectedOverlays(); int i = 0; while (i < overlays.size()) { Overlay o = overlays.get(i); if (! (o instanceof CompositeOverlay)) overlays.remove(i); else i++; } if (overlays.size() == 0) { JOptionPane.showMessageDialog( this, "One or more composite overlays must be selected"); return; } for (Overlay o : overlays) { overlayService.divideCompositeOverlay((CompositeOverlay) o); } }
private void fill() { ChannelCollection channels = getChannels(); List<Overlay> selected = overlayService.getOverlayInfo().selectedOverlays(); for (Overlay o : selected) { ImageDisplay disp = overlayService.getFirstDisplay(o); overlayService.fillOverlay(o, disp, channels); } }
private void draw() { ChannelCollection channels = getChannels(); List<Overlay> selected = overlayService.getOverlayInfo().selectedOverlays(); for (Overlay o : selected) { ImageDisplay disp = overlayService.getFirstDisplay(o); overlayService.drawOverlay(o, disp, channels); } }
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(); }