@Override public void drawOverlay(final Overlay o, final Dataset ds, final Position position, final ChannelCollection channels) { draw(o, ds, position, channels, new OverlayOutliner()); }
@Override public List<Overlay> getOverlays(final ImageDisplay display) { return getOverlays(display, false); }
@Override public void removeOverlay(final Overlay overlay) { final List<ImageDisplay> imgDisps = objectService.getObjects(ImageDisplay.class); for (final ImageDisplay disp : imgDisps) removeOverlay(disp, overlay); }
@Override public void divideCompositeOverlay(final CompositeOverlay overlay) { final List<Overlay> subcomponents = overlay.getSubcomponents(); // to each display that owns the composite // reference the original overlays (if not already) final List<ImageDisplay> owners = getDisplays(overlay); for (final ImageDisplay owner : owners) { boolean changes = false; final List<Overlay> displayOverlays = getOverlays(owner); for (final Overlay subcomponent : subcomponents) { if (!displayOverlays.contains(subcomponent)) { owner.display(subcomponent); changes = true; } } if (changes) owner.update(); } // delete the composite overlay removeOverlay(overlay); }
private static <T> IterableInterval<T> iterableInterval( final RealRandomAccessibleRealInterval<T> realInterval) { final RandomAccessibleOnRealRandomAccessible<T> raster = Views.raster(realInterval); final IntervalView<T> interval = Views.interval(raster, findMin(realInterval), findMax(realInterval)); return Views.iterable(interval); }
@Override public void fillOverlay(final Overlay o, final Dataset ds, final Position position, final ChannelCollection channels) { draw(o, ds, position, channels, new OverlayFiller()); }
@Override public ImageDisplay getFirstDisplay(final Overlay o) { final List<Display<?>> displays = displayService.getDisplays(); for (final Display<?> display : displays) { if (display instanceof ImageDisplay) { final List<Overlay> displayOverlays = getOverlays((ImageDisplay) display); if (displayOverlays.contains(o)) return (ImageDisplay) display; } } return null; }
@Override public void fillOverlay(final Overlay o, final ImageDisplay display, final ChannelCollection channels) { draw(o, imageDisplayService.getActiveDataset(display), imageDisplayService .getActivePosition(display), channels, new OverlayFiller()); }
@Override public void drawOverlay(final Overlay o, final ImageDisplay display, final ChannelCollection channels) { draw(o, imageDisplayService.getActiveDataset(display), imageDisplayService .getActivePosition(display), channels, new OverlayOutliner()); }