public class VolumeViewerPanel extends bdv.viewer.AbstractViewerPanel implements bdv.viewer.OverlayRenderer, bdv.viewer.render.PainterThread.Paintable, bdv.viewer.ViewerStateChangeListener
| Modifier and Type | Class and Description |
|---|---|
static interface |
VolumeViewerPanel.RenderScene |
bdv.viewer.AbstractViewerPanel.AlignPlane, bdv.viewer.AbstractViewerPanel.MouseCoordinateListenerJPanel.AccessibleJPanelJComponent.AccessibleJComponentContainer.AccessibleAWTContainerComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy| Modifier and Type | Field and Description |
|---|---|
protected bdv.cache.CacheControl |
cacheControl |
protected bdv.viewer.animate.AbstractTransformAnimator |
currentAnimator
Current animator for viewer transform, or null.
|
protected InteractiveGLDisplayCanvas<?> |
display
Canvas used for displaying the rendered
image and overlays. |
protected int |
maxRenderMillis |
protected bdv.viewer.animate.MessageOverlayAnimator |
msgOverlay
Fade-out overlay of recent messages.
|
protected OffScreenFrameBuffer |
offscreen |
protected VolumeViewerOptions.Values |
options |
protected ArrayList<bdv.viewer.animate.OverlayAnimator> |
overlayAnimators
A list of currently incomplete (see
OverlayAnimator.isComplete())
animators. |
protected bdv.viewer.render.PainterThread |
painterThread
Thread that triggers repainting of the display.
|
protected VolumeRenderer |
renderer
Renders the current state to gl context.
|
protected OffScreenFrameBufferWithDepth |
sceneBuf |
protected JSlider |
sliderTime |
protected bdv.viewer.state.ViewerState |
state
Currently rendered state (visible sources, transformation, timepoint,
etc.)
|
protected ThreadGroup |
threadGroup
A
ThreadGroup for (only) the threads used by this
ViewerPanel, that is, at the moment only painterThread. |
protected CopyOnWriteArrayList<bdv.viewer.TimePointListener> |
timePointListeners
These listeners will be notified about changes to the current timepoint
ViewerState.getCurrentTimepoint(). |
protected bdv.viewer.VisibilityAndGrouping |
visibilityAndGrouping
Manages visibility and currentness of sources and groups, as well as
grouping of sources, and display mode.
|
mouseCoordinateslistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| Constructor and Description |
|---|
VolumeViewerPanel(List<bdv.viewer.SourceAndConverter<?>> sources,
int numTimepoints,
bdv.cache.CacheControl cacheControl,
VolumeViewerOptions optional) |
| Modifier and Type | Method and Description |
|---|---|
void |
addGroup(bdv.viewer.state.SourceGroup group)
Deprecated.
Modify
state() directly |
void |
addOverlayAnimator(bdv.viewer.animate.OverlayAnimator animator)
Add a new
OverlayAnimator to the list of animators. |
void |
addSource(bdv.viewer.SourceAndConverter<?> sourceAndConverter)
Deprecated.
Modify
state() directly |
void |
addSources(Collection<bdv.viewer.SourceAndConverter<?>> sourceAndConverter)
Deprecated.
Modify
state() directly |
void |
addTimePointListener(bdv.viewer.TimePointListener listener)
Add a
TimePointListener to notify about time-point
changes. |
void |
addTimePointListener(bdv.viewer.TimePointListener listener,
int index)
Add a
TimePointListener to notify about time-point
changes. |
void |
displayToGlobalCoordinates(double[] gPos)
Set
gPos to the display coordinates at gPos transformed into the
global coordinate system. |
void |
displayToGlobalCoordinates(double x,
double y,
net.imglib2.RealPositionable gPos)
Set
gPos to the display coordinates (x,y,0)T transformed into the
global coordinate system. |
<P extends net.imglib2.RealLocalizable & net.imglib2.RealPositionable> |
displayToGlobalCoordinates(P gPos)
Set
gPos to the display coordinates at gPos transformed into the
global coordinate system. |
void |
drawOverlays(Graphics g) |
bdv.viewer.ConverterSetups |
getConverterSetups() |
InteractiveGLDisplayCanvas<?> |
getDisplay()
Get the viewer canvas.
|
Component |
getDisplayComponent()
Get the AWT
Component of the viewer canvas. |
org.scijava.ui.behaviour.io.InputTriggerConfig |
getInputTriggerConfig() |
VolumeViewerOptions.Values |
getOptionValues() |
bdv.viewer.overlay.SourceInfoOverlayRenderer |
getSourceInfoOverlayRenderer() |
bdv.viewer.state.ViewerState |
getState()
Deprecated.
Use
state() instead.
Get a copy of the current ViewerState. |
bdv.TransformEventHandler |
getTransformEventHandler() |
bdv.viewer.VisibilityAndGrouping |
getVisibilityAndGrouping()
Deprecated.
Modify
state() directly
Returns the VisibilityAndGrouping that can be used to modify
visibility and currentness of sources and groups, as well as grouping of
sources, and display mode. |
void |
nextTimePoint()
Show the next time-point.
|
protected void |
onMouseMoved() |
void |
paint() |
void |
previousTimePoint()
Show the previous time-point.
|
void |
removeAllSources()
Deprecated.
Modify
state() directly |
void |
removeGroup(bdv.viewer.state.SourceGroup group)
Deprecated.
Modify
state() directly |
void |
removeSource(bdv.viewer.Source<?> source)
Deprecated.
Modify
state() directly |
void |
removeSources(Collection<bdv.viewer.Source<?>> sources)
Deprecated.
Modify
state() directly |
void |
removeTimePointListener(bdv.viewer.TimePointListener listener)
Remove a
TimePointListener. |
org.scijava.listeners.Listeners<bdv.viewer.TransformListener<net.imglib2.realtransform.AffineTransform3D>> |
renderTransformListeners()
Add/remove
TransformListeners to notify about viewer transformation
changes. |
void |
requestRepaint()
Repaint as soon as possible.
|
void |
requestRepaint(VolumeRenderer.RepaintType type) |
void |
setCamParams(double dCam,
double dClip) |
void |
setCamParams(double dCam,
double dClipNear,
double dClipFar) |
void |
setCanvasSize(int width,
int height) |
void |
setCurrentViewerTransform(net.imglib2.realtransform.AffineTransform3D viewerTransform)
Deprecated.
Modify
state() directly (state().setViewerTransform(t)) |
void |
setDisplayMode(bdv.viewer.DisplayMode displayMode)
Set the
DisplayMode. |
void |
setMaxAllowedStepInVoxels(double maxAllowedStepInVoxels) |
void |
setNumTimepoints(int numTimepoints)
Set the number of available timepoints.
|
void |
setRenderScene(VolumeViewerPanel.RenderScene renderScene) |
void |
setTimepoint(int timepoint)
Show the specified time-point.
|
void |
setTransformAnimator(bdv.viewer.animate.AbstractTransformAnimator animator) |
void |
showMessage(String msg)
Display the specified message in a text overlay for a short time.
|
bdv.viewer.SynchronizedViewerState |
state()
Get the ViewerState.
|
void |
stateFromXml(org.jdom2.Element parent) |
org.jdom2.Element |
stateToXml() |
void |
stop()
Stop the
painterThread. |
org.scijava.listeners.Listeners<bdv.viewer.TransformListener<net.imglib2.realtransform.AffineTransform3D>> |
transformListeners()
Add/remove
TransformListeners to notify about viewer transformation
changes. |
void |
viewerStateChanged(bdv.viewer.ViewerStateChange change) |
align, getGlobalMouseCoordinates, getMouseCoordinates, requestFocusInWindowgetAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIaddAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateadd, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTreeaction, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleprotected final bdv.cache.CacheControl cacheControl
protected final OffScreenFrameBufferWithDepth sceneBuf
protected final OffScreenFrameBuffer offscreen
protected final int maxRenderMillis
protected final bdv.viewer.state.ViewerState state
getState().protected final VolumeRenderer renderer
protected final InteractiveGLDisplayCanvas<?> display
image and overlays.protected final JSlider sliderTime
protected ThreadGroup threadGroup
ThreadGroup for (only) the threads used by this
ViewerPanel, that is, at the moment only painterThread.protected final bdv.viewer.render.PainterThread painterThread
protected final bdv.viewer.VisibilityAndGrouping visibilityAndGrouping
protected final CopyOnWriteArrayList<bdv.viewer.TimePointListener> timePointListeners
ViewerState.getCurrentTimepoint(). This is done before
calling requestRepaint() so listeners have the chance to
interfere.protected bdv.viewer.animate.AbstractTransformAnimator currentAnimator
AbstractViewerPanel.align(AlignPlane) aligning to
orthogonal planes}.protected final ArrayList<bdv.viewer.animate.OverlayAnimator> overlayAnimators
OverlayAnimator.isComplete())
animators. Initially, this contains a TextOverlayAnimator showing
the "press F1 for help" message.protected final bdv.viewer.animate.MessageOverlayAnimator msgOverlay
showMessage(String).protected final VolumeViewerOptions.Values options
public VolumeViewerPanel(List<bdv.viewer.SourceAndConverter<?>> sources, int numTimepoints, bdv.cache.CacheControl cacheControl, VolumeViewerOptions optional)
sources - the sources to display.numTimepoints - number of available timepoints.cacheControl - to control IO budgeting and fetcher queue.optional - optional parameters. See VolumeViewerOptions.public void setRenderScene(VolumeViewerPanel.RenderScene renderScene)
@Deprecated public void addSource(bdv.viewer.SourceAndConverter<?> sourceAndConverter)
state() directly@Deprecated public void addSources(Collection<bdv.viewer.SourceAndConverter<?>> sourceAndConverter)
state() directly@Deprecated public void removeSource(bdv.viewer.Source<?> source)
state() directly@Deprecated public void removeSources(Collection<bdv.viewer.Source<?>> sources)
state() directly@Deprecated public void removeAllSources()
state() directly@Deprecated public void addGroup(bdv.viewer.state.SourceGroup group)
state() directly@Deprecated public void removeGroup(bdv.viewer.state.SourceGroup group)
state() directlypublic void displayToGlobalCoordinates(double[] gPos)
gPos to the display coordinates at gPos transformed into the
global coordinate system.gPos - is set to the corresponding global coordinates.public <P extends net.imglib2.RealLocalizable & net.imglib2.RealPositionable> void displayToGlobalCoordinates(P gPos)
gPos to the display coordinates at gPos transformed into the
global coordinate system.gPos - is set to the corresponding global coordinates.public void displayToGlobalCoordinates(double x,
double y,
net.imglib2.RealPositionable gPos)
gPos to the display coordinates (x,y,0)T transformed into the
global coordinate system.gPos - is set to the global coordinates at display (x,y,0)T.public void paint()
paint in interface bdv.viewer.render.PainterThread.Paintablepublic void requestRepaint()
requestRepaint in interface bdv.viewer.RequestRepaintpublic void requestRepaint(VolumeRenderer.RepaintType type)
protected void onMouseMoved()
onMouseMoved in class bdv.viewer.AbstractViewerPanelpublic void drawOverlays(Graphics g)
drawOverlays in interface bdv.viewer.OverlayRendererpublic void viewerStateChanged(bdv.viewer.ViewerStateChange change)
viewerStateChanged in interface bdv.viewer.ViewerStateChangeListenerpublic void setTransformAnimator(bdv.viewer.animate.AbstractTransformAnimator animator)
setTransformAnimator in class bdv.viewer.AbstractViewerPanelpublic void setDisplayMode(bdv.viewer.DisplayMode displayMode)
DisplayMode.@Deprecated public void setCurrentViewerTransform(net.imglib2.realtransform.AffineTransform3D viewerTransform)
state() directly (state().setViewerTransform(t))public void setTimepoint(int timepoint)
timepoint - time-point index.public void nextTimePoint()
public void previousTimePoint()
public void setNumTimepoints(int numTimepoints)
numTimepoints == 1
this will hide the time slider, otherwise show it. If the currently
displayed timepoint would be out of range with the new number of
timepoints, the current timepoint is set to numTimepoints - 1.
This is equivalent to state().setNumTimepoints(numTimepoints}.
numTimepoints - number of available timepoints. Must be >= 1.@Deprecated public bdv.viewer.state.ViewerState getState()
state() instead.
Get a copy of the current ViewerState.ViewerState.public bdv.viewer.SynchronizedViewerState state()
SynchronizedViewerState for
thread-safety considerations.state in class bdv.viewer.AbstractViewerPanelpublic InteractiveGLDisplayCanvas<?> getDisplay()
getDisplay in class bdv.viewer.AbstractViewerPanelpublic Component getDisplayComponent()
Component of the viewer canvas.getDisplayComponent in class bdv.viewer.AbstractViewerPanelpublic bdv.TransformEventHandler getTransformEventHandler()
public bdv.viewer.ConverterSetups getConverterSetups()
public void showMessage(String msg)
showMessage in class bdv.viewer.AbstractViewerPanelmsg - String to display. Should be just one line of text.public void addOverlayAnimator(bdv.viewer.animate.OverlayAnimator animator)
OverlayAnimator to the list of animators. The animation
is immediately started. The new OverlayAnimator will remain in
the list of animators until it OverlayAnimator.isComplete().addOverlayAnimator in class bdv.viewer.AbstractViewerPanelanimator - animator to add.public org.scijava.listeners.Listeners<bdv.viewer.TransformListener<net.imglib2.realtransform.AffineTransform3D>> transformListeners()
TransformListeners to notify about viewer transformation
changes. Listeners will be notified before calling
requestRepaint() so they have the chance to interfere.transformListeners in class bdv.viewer.AbstractViewerPanelpublic org.scijava.listeners.Listeners<bdv.viewer.TransformListener<net.imglib2.realtransform.AffineTransform3D>> renderTransformListeners()
TransformListeners to notify about viewer transformation
changes. Listeners will be notified when a new image is painted with the viewer
transform used to render that image.renderTransformListeners in class bdv.viewer.AbstractViewerPanelpublic void addTimePointListener(bdv.viewer.TimePointListener listener)
TimePointListener to notify about time-point
changes. Listeners will be notified before calling
requestRepaint() so they have the chance to interfere.listener - the listener to add.public void addTimePointListener(bdv.viewer.TimePointListener listener, int index)
TimePointListener to notify about time-point
changes. Listeners will be notified before calling
requestRepaint() so they have the chance to interfere.listener - the listener to add.index - position in the list of listeners at which to insert this one.public void removeTimePointListener(bdv.viewer.TimePointListener listener)
TimePointListener.listener - the listener to remove.public void setCamParams(double dCam,
double dClip)
public void setCamParams(double dCam,
double dClipNear,
double dClipFar)
public void setMaxAllowedStepInVoxels(double maxAllowedStepInVoxels)
public void setCanvasSize(int width,
int height)
setCanvasSize in interface bdv.viewer.OverlayRendererpublic org.jdom2.Element stateToXml()
public void stateFromXml(org.jdom2.Element parent)
@Deprecated public bdv.viewer.VisibilityAndGrouping getVisibilityAndGrouping()
state() directly
Returns the VisibilityAndGrouping that can be used to modify
visibility and currentness of sources and groups, as well as grouping of
sources, and display mode.public VolumeViewerOptions.Values getOptionValues()
public org.scijava.ui.behaviour.io.InputTriggerConfig getInputTriggerConfig()
getInputTriggerConfig in class bdv.viewer.AbstractViewerPanelpublic bdv.viewer.overlay.SourceInfoOverlayRenderer getSourceInfoOverlayRenderer()
public void stop()
painterThread.Copyright © 2018–2025 BigDataViewer. All rights reserved.