Class VolumeTriPlanarInterface
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- gov.nih.mipav.view.renderer.WildMagic.VolumeTriPlanarInterface
-
- All Implemented Interfaces:
VOIManagerInterfaceListener
,ViewImageUpdateInterface
,java.awt.event.ActionListener
,java.awt.event.ComponentListener
,java.awt.event.WindowListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.beans.PropertyChangeListener
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.event.ChangeListener
,javax.swing.RootPaneContainer
,javax.swing.WindowConstants
- Direct Known Subclasses:
VolumeTriPlanarInterfaceDTI
public class VolumeTriPlanarInterface extends javax.swing.JFrame implements ViewImageUpdateInterface, java.awt.event.ActionListener, java.awt.event.WindowListener, java.awt.event.ComponentListener, javax.swing.event.ChangeListener, VOIManagerInterfaceListener, java.beans.PropertyChangeListener
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
VolumeTriPlanarInterface.IntVector
(package private) class
VolumeTriPlanarInterface.TabbedItem
Item to hold tab name and corresponding panel.-
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
Fields Modifier and Type Field Description protected javax.swing.JPanel
bf_flyPanel
Panel to hold the BrainSurfaceFlattener or Flythrough views.protected CorticalAnalysisRender
brainsurfaceFlattenerRender
Rendering the brainsurfaceFlattener objects.protected javax.swing.JButton
clipButton
Button to invoke all the six clipping planes.protected javax.swing.JButton
clipDisableButton
Button to disable all the six clipping planes.protected JPanelClip_WM
clipGUI
Clipping user-interface panel:protected javax.swing.JButton
clipMaskButton
Button to crop the clip volume.protected javax.swing.JButton
clipMaskUndoButton
Button to undo crop the clip volume.protected javax.swing.JButton
clipPlaneButton
Button to invoke clipping planes.protected javax.swing.JButton
clipSaveButton
Button to save clipped region.protected JPanelCustomBlend
customBlendGUI
Multihistogram panel:protected JPanelDisplay_WM
displayGUI
Display options panel:protected javax.swing.JSplitPane
dualPane
For displaying the BrainSurfaceFlattener or Flythrough renderers.protected JPanelVirtualEndoscopySetup_WM
flythruControl
Flythough setup panel:protected JPanelFlythruMove
flythruMoveControl
Flythough Move panel:protected JFrameHistogram
frameHistogram
protected JPanelGeodesic_WM
geodesicGUI
Geodesic user-interface panel:protected javax.swing.JPanel
gpuPanel
The image panel to hold one Canvas3D.protected PlaneRender_WM[]
m_akPlaneRender
The three slice views displayed as texture-mapped polygons:.private boolean
m_b4D
protected boolean
m_bDependentInterfaceInit
protected int
m_iVOICount
protected JPanelAnnotationAnimation
m_kAnnotationAnimationPanel
protected FlyThroughRender
m_kFlyThroughRender
Flythrough renderer:protected JPanelLights_WM
m_kLightsPanel
Light panelprivate javax.swing.JButton
m_kLoadButton
private javax.swing.JToggleButton
m_kRecordToggle
private javax.swing.JButton
m_kSaveButton
protected VOILatticeManagerInterface
m_kVOIInterface
protected JPanelVolumeOpacity
m_kVolOpacityPanel
Opacity panel.private JPanelVolume4D
m_kVolume4DGUI
protected VolumeImage
m_kVolumeImageA
VolumeImage contains data and textures for ModelImage A.protected VolumeImage
m_kVolumeImageB
VolumeImage contains data and textures for ModelImage B.private javax.swing.JSplitPane
mainPane
protected int
maxPanelWidth
The max width of the control panels.protected javax.swing.JMenuBar
menuBar
Menu bar.protected ViewMenuBuilder
menuObj
Menu items storage.protected JPanel3DMouse_WM
mouseGUI
3D mouse user-interface panel:protected JPanelMultiDimensionalTransfer
multiHistogramGUI
Multihistogram panel:protected JPanelNavigation
navigationGUI
Navigation mode user-interface panelprotected javax.swing.JPanel
panelAxial
Axial view panel.protected javax.swing.JPanel
panelCoronal
Coronal view panel.protected javax.swing.JPanel
panelSagittal
Sagittal view panel.protected javax.swing.JPanel
panelToolbar
Panel that holds the toolbars.protected java.awt.GridBagConstraints
panelToolBarGBC
Constraints on panelToolbar layout:protected JPanelPositions
positionsPanel
(package private) int
prevHeight
protected VolumeTriPlanarRender
raycastRenderWM
Volume/Slice/Surface renderer.protected JPanelRenderMode_WM
rendererGUI
Renderer mode user-interface panelprotected static javax.swing.JProgressBar
rendererProgressBar
The small bar on the top right corner the volume view frame.protected javax.swing.JSplitPane
rightPane
The view pane that contains the image view and tri-planar view panels.protected int
screenHeight
Current frame width and height.protected int
screenWidth
Current frame width and height.protected JPanelSculptor_WM
sculptGUI
Sculpting user-interface panel:protected static long
serialVersionUID
Use serialVersionUID for interoperability.protected JPanelSlices_WM
sliceGUI
3D Slice-view user-interface panel:protected JPanelSurface_WM
surfaceGUI
3D Surface user-interface panel:protected JPanelSurfaceTexture_WM
surfaceTextureGUI
Surface Texture user-interface panel:private javax.swing.JTabbedPane
tabbedPane
The main tabbed pane in the volume view frame.protected ViewToolBarBuilder
toolbarBuilder
Toolbar builder reference.protected javax.swing.JPanel
triImagePanel
Tri image planar render panels.protected ViewUserInterface
userInterface
Reference to the user interface.protected javax.swing.JToolBar
viewToolBar
The top one render view switch toolbar.protected javax.swing.JMenu
voiMenu
-
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description VolumeTriPlanarInterface()
Specific constructor call from the VolumeViewerDTI.VolumeTriPlanarInterface(ModelImage _imageA, ModelImage _imageB)
VolumeTriPlanarInterface(ModelImage _imageA, ModelImage _imageB, boolean cloneImage)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent event)
void
addAnnotationPoint(WildMagic.LibFoundation.Mathematics.Vector3f point, WildMagic.LibFoundation.Mathematics.Vector3f scannerPt)
When left mouse press with the control key down on the bottom three planar view, add the annotation pointvoid
addConfiguredListener(RendererListener listener)
void
addGeodesic(WildMagic.LibGraphics.SceneGraph.TriMesh kSurface, WildMagic.LibGraphics.SceneGraph.Geometry kNew, int iGroup)
Add a geodesic element to the surface display.VolumeObject
addNode(WildMagic.LibGraphics.SceneGraph.Node kNode)
Add a new display node to the volume/surface display list.void
addPolyline(VOIContour kContour, WildMagic.LibGraphics.SceneGraph.Polyline akPolyline, int groupIndex)
Add a polyline to the VolumeDTI display.void
addSlices(VolumeSlices kSlices)
Pass the VolumeSlices from the Volume Renderer to the PlaneRender objects.void
addSphereVOIs(VOI annotations)
void
addSurface(SurfaceState kSurface)
void
addSurface(SurfaceState kSurface, boolean fileCoords)
Add TriMesh surfaces to the Volume Renderer.void
addSurface(WildMagic.LibGraphics.SceneGraph.TriMesh mesh)
void
addVOIS(VOIVector vois, java.util.Vector<java.lang.String> annotationNames)
void
build3DMousePanel()
Build the clipping control panel for the surface render.void
buildClipPanel()
Build the clipping control panel for the surface render.void
buildCustomBlendPanel()
void
buildDisplayPanel()
Build the display control panel for the surface render.void
buildFlythroughPanel()
Build the flythru move control panel.void
buildGeodesic()
Build the Geodesic control panel.void
buildHistoLUTPanel()
The histogram control panel of the lookup table.protected void
buildImageDependentComponents()
private void
buildImageIndependentComponents()
void
buildLabelPanel()
void
buildLightPanel()
Build the light control panel for the surface render.protected javax.swing.JMenuBar
buildMenu()
Builds menus for the tri-planar view.void
buildNavigationModePanel()
Builds the navigation mode control panel.void
buildOpacityPanel()
Build the volume opacity control panel for the surface render.void
buildRenderModePanel()
Builds the render mode control panel.void
buildSculpt()
Build the Sculpturing control panel.void
buildSlicePanel()
Build the slices control panel for the surface render.void
buildSurfacePanel()
Build the adding surface control panel for the surface render.void
buildSurfaceTexturePanel()
Builds the Surface texture panel.protected void
buildViewToolbar()
The the top one volume view toolbar.void
close()
Closes both image A and image B (if it exists).void
componentHidden(java.awt.event.ComponentEvent arg0)
void
componentMoved(java.awt.event.ComponentEvent event)
void
componentResized(java.awt.event.ComponentEvent event)
Method called when a component resize event is generated.void
componentShown(java.awt.event.ComponentEvent arg0)
protected void
configureFrame()
Constructs main frame structures for image canvas.protected void
constructRenderers(ViewJProgressBar progressBar)
Construct the volume rendering methods based on the choices made from the resample dialog.void
create3DVOI(boolean bIntersection)
void
CustomBlendMode()
void
display3DWindowOnly()
void
displayAll()
Causes redisplay of all components.void
displayAnnotationSpheres()
private void
disposeImageDependentComponents()
private void
disposeImageIndependentComponents()
void
disposeLocal(boolean flag)
Dispose memory.private void
disposeRenderers()
void
enableGeodesic(boolean bEnable)
Enable geodesic calculations and display.void
enablePaint(WildMagic.LibFoundation.Mathematics.ColorRGBA kPaintColor, int iBrushSize, boolean bEnabled, boolean bPaint, boolean bDropper, boolean bPaintCan, boolean bErase)
Enable painting on TriMesh surfaces.void
eraseAllPaint()
Erase all surface paint.ModelImage
getActiveImage()
ModelStorageBase
getActiveLookupTable(ModelImage kImage)
Returns the ModelLUT or ModelRGB based on which image is currently active, either imageA or imageB and they type of image (color or grayscale).ModelLUT
getActiveLUT()
ModelRGB
getActiveRGB()
int
getBlendValue()
Get the imageA and imageB blending value from the PlaneRender.WildMagic.LibFoundation.Mathematics.Vector3f
getCameraLocation()
Get the camera current locationfloat[]
getCameraParameters()
Get the camera parameters.WildMagic.LibFoundation.Mathematics.Vector3f
getCenterPt()
ViewControlsImage
getControls()
javax.swing.JFrame
getFrame()
ModelImage
getHistoLUTActiveImage()
Returns which image is active in the HistoLUT -- either imageA or imageB.ModelImage
getHistoRGBActiveImage()
Returns which image is active in the HistoRGB -- either imageA or imageB.ModelImage
getImageA()
Get the image A reference.ModelImage
getImageB()
Get the imageB reference.WildMagic.LibGraphics.Rendering.Light[]
GetLights()
Return the Light[] used in the volume/surface display.JFrameHistogram
getLUTDialog()
Get the LUT panel (only should be used with grayscale images).javax.swing.JPanel
getLUTPanel()
WildMagic.LibGraphics.Rendering.MaterialState
getMaterial(java.lang.String kSurfaceName)
Return the material properties of the given surface.JPanelNavigation
getNavigationGUI()
Get the navigation mode interface panel.VolumeNode
getNode(java.lang.String kSurfaceName)
float[]
getObjectParameters()
Get the object parameters.WildMagic.LibFoundation.Mathematics.Matrix3f
getObjectRotation()
Get the object rotation matrix.float
getOpacity(java.lang.String kSurfaceName)
Return the opacity properties of the given surface.javax.swing.JPanel
getOpacityPanel()
JPanelRenderMode_WM
getRendererGUI()
Get the render mode interface panel.static javax.swing.JProgressBar
getRendererProgressBar()
Retrieve the progress bar used in the volume renderer (the one in the upper right hand corner).float
getSurfaceArea(java.lang.String kSurfaceName)
Return the size of the surface-area of the given surface.java.lang.String
getSurfaceAreaString(java.lang.String kSurfaceName)
Return the size of the surface-area of the given surface.JPanelSurface_WM
getSurfacePanel()
Return the surface panel.WildMagic.LibFoundation.Mathematics.Vector3f
getTranslateSurface(java.lang.String kSurfaceName)
Return the translation vector for the surface with the given name.VOIManagerInterface
getVOIManager()
float
getVolume(java.lang.String kSurfaceName)
Return the size of the volume of the given surface.VolumeTriPlanarRender
getVolumeGPU()
VolumeImage
getVolumeImageA()
VolumeImage
getVolumeImageB()
private java.lang.String
getVolumeRenderStateFile(boolean bSave)
javax.swing.JSplitPane
getVolumeSlicesPanel()
java.lang.String
getVolumeString(java.lang.String kSurfaceName)
void
hideMenus()
private void
initVOI()
void
insertTab(java.lang.String _name, javax.swing.JPanel _panel)
Insert the new tab into the current visible tab list.private void
LoadState()
void
maskToPaint()
void
paintToShortMask()
void
paintToUbyteMask()
WildMagic.LibFoundation.Mathematics.Vector3f
patientToScreen(int iActive, WildMagic.LibFoundation.Mathematics.Vector3f kPatient)
void
PickCorrespondence(boolean bOn)
Enables picking correspondence points between the surface renderer and the BrainSurfaceFlattener renderer.void
PickCorrespondence(int iV0, int iV1, int iV2)
Passes the triangle indices of the picked triangle to the BrainSurfaceFlattener renderer for display.void
play4D(boolean bOn)
void
PointerActive(boolean bActive)
WildMagic.LibFoundation.Mathematics.Vector3f
PropDown(int iActive)
void
propertyChange(java.beans.PropertyChangeEvent event)
WildMagic.LibFoundation.Mathematics.Vector3f
PropUp(int iActive)
void
refreshLighting()
void
removeAllGeodesic(WildMagic.LibGraphics.SceneGraph.TriMesh kSurface)
Removes all geodesic curves for the given surface.void
removeControls()
void
removeGeodesic(WildMagic.LibGraphics.SceneGraph.TriMesh kSurface, int iNode, int iGroup)
Remove the specific geodesic curves from the given surface.VolumeObject
removeNode(java.lang.String kNodeName)
void
removePolyline(int groupIndex)
Remove the polyline from the volume DTI display.void
removeSurface(java.lang.String kSurfaceName)
Remove the given surface from the render display list.void
replaceGeodesic(WildMagic.LibGraphics.SceneGraph.TriMesh kOld, WildMagic.LibGraphics.SceneGraph.TriMesh kNew)
When the Geodesic object cuts the mesh along an open curve, the old mesh changes, but does not need to be deleted and no new mesh needs to be added.void
resetAxisX()
Reset image volume orientation along X axis.void
resetAxisXInv()
Reset image volume orientation along X axis.void
resetAxisY()
Reset image volume orientation along Y axis.void
resetImage()
Reset image volume orientation along Z axis.protected void
resizePanel()
Method that resizes the frame and adjusts the rows, columns as needed.private void
RestoreState(VolumeRenderState kState)
private void
RestoreTabs(VolumeRenderState kState)
void
rollbackToImageCenter()
When the mouse tranlation moves the object out of the Viewing bounding box, click the home button to bring the image back to center.private void
SaveState()
private void
SaveTabs(VolumeRenderState kState)
void
setActiveImage(int active)
void
setActiveImage(ModelImage kImage)
void
setAnimationSpeed(float fValue)
void
setAnnotationMode(boolean _isAnnotationEnabled)
Set the annotation modevoid
setBackface(java.lang.String kSurfaceName, boolean bOn)
Enables backface culling for the given surface.void
setBackgroundColor(java.awt.Color color)
Sets the background color.void
setBlendValue(int iValue)
Sets the blend value between images A and B.void
setBoundingBoxColor(java.awt.Color color)
Sets the volume bounding box color.void
setCamera(WildMagic.LibFoundation.Mathematics.Vector3f center)
When the mouse move in bottom three planar view, need to update the camera view location to the indicated image center.void
setCameraLocation(WildMagic.LibFoundation.Mathematics.Vector3f v)
Set the camera location.void
setCameraNearPlane(float distance)
void
setCameraParameters()
Display the camera parameters in the user-interface.void
setCenter(WildMagic.LibFoundation.Mathematics.Vector3f kCenter)
void
setClipping(java.lang.String kSurfaceName, boolean bClip)
Enable clipping for the given surface.void
setColor(java.lang.String kSurfaceName, WildMagic.LibFoundation.Mathematics.ColorRGB kColor, boolean bUpdate)
Set the color for the given surface.void
setControls()
void
SetCustomBlend(int iBlendEquation, int iLogicOp, int iSrcBlend, int iDstBlend, WildMagic.LibFoundation.Mathematics.ColorRGBA kColor)
void
setDefaultCursor()
void
setDropperColor(WildMagic.LibFoundation.Mathematics.ColorRGBA kDropperColor, WildMagic.LibFoundation.Mathematics.Vector3f kPickPoint)
Passes the picked dropper color to the surface interface.void
setEnabled(boolean flag)
void
setGeodesic(WildMagic.LibGraphics.SceneGraph.TriMesh kMesh, WildMagic.LibGraphics.Collision.PickRecord kPickPoint)
Passes the picked point to the Geodesic object for calculating the geodesic curve on the TriMesh surface.void
setGradientMagnitude(boolean bShow)
Turn the gradient magnitude filter on/off for volume shaders.void
setImage(ModelImage kImageA, ModelImage kImageB, ModelLUT kLUTA, ModelLUT kLUTB, boolean updateRenderer)
Changes the underlying images displayed in the VolumeTriPlanarInteface.void
SetImageNew(java.lang.String kSurfaceName, ModelImage kImage)
Sets the ModelImage to use as an alternative to the volume ModelImage for surface texturing.void
setIPD(float fIPD)
Sets the inter-pupillary distance for stereo rendering.void
SetLUTNew(java.lang.String kSurfaceName, ModelStorageBase kLUT)
Sets the LUT to use as an alternative to the volume lut for surface texturing.void
setMaterial(java.lang.String kSurfaceName, WildMagic.LibGraphics.Rendering.MaterialState kMaterial, boolean bUpdate)
Sets the material for the given surface.void
setModified()
Causes the bottom three panels to re-display.void
setMouseFlythruMode(boolean _isMouseflythru)
Set the flythru modevoid
setObjectParameters()
Set the object rotation parameters for displaying.void
setObjectRotation(WildMagic.LibFoundation.Mathematics.Matrix3f rot)
Set the object rotation matrixvoid
setPaintMask(java.util.BitSet mask)
void
setPathFlythruMode(boolean _isPathflythru)
void
setPickable(java.lang.String kSurfaceName, boolean bOn)
Turn picking on/off for the given surface.void
setPlaneConstant(float distance)
void
setPolygonMode(java.lang.String kSurfaceName, WildMagic.LibGraphics.Rendering.WireframeState.FillMode eMode)
Set the polygon mode (FILL, LINE, POINT) for the given surface.void
setPositionLabels(WildMagic.LibFoundation.Mathematics.Vector3f position)
Sets the position labels.void
setRadiological(boolean bOn)
Toggles between radiological and neurological views of the data.void
setRenderPerspective(boolean bEnable)
Switches between orthographic and perspective projection.void
setRGBTA(ModelRGB RGBT)
void
setRGBTB(ModelRGB RGBT)
void
setShowBoxFrame(boolean bShow)
Turn the volume bounding box frame on/off.void
setShowOrientationCube(boolean bShow)
Turn the orientation cube on/off.void
setSlice(int slice)
setSlice.void
setSliceFromPlane(WildMagic.LibFoundation.Mathematics.Vector3f center)
Sets the position of the slices in the SurfaceRender and PlaneRender objects.void
setSliceFromSurface(WildMagic.LibFoundation.Mathematics.Vector3f center)
Sets the position of the slices in the PlaneRender.void
setSliceHairColor(int iView, java.awt.Color color)
Sets the color for the PlaneRender iView (AXIAL, SAGITTAL, CORONAL) slice.void
setSliceOpacity(int i, float fAlpha)
Set the transparency value for the slice.void
setSurfaceTexture(java.lang.String kSurfaceName, boolean bOn, boolean bUseNewImage, boolean bUseNewLUT)
Turns on surface texture display for the given surface.void
setTimeSlice(int slice)
setTimeSlice.void
setTransparency(java.lang.String kSurfaceName, float fValue)
Set the transparency for the given surface.void
setVisible(boolean b)
void
showBoundingBox(int i, boolean bShow)
Turns showing the slice bounding box on/off.void
showSlice(int i, boolean bShow)
Turns showing the slice on/off.void
smoothMesh(java.lang.String kSurfaceName, int iteration, float alpha, boolean volumeLimit, float volumePercent)
Smooth the given surface.void
smoothThree(java.lang.String kSurfaceName, int iteration, float lambda, float mu)
Smooth the given surface.void
smoothTwo(java.lang.String kSurfaceName, int iteration, float fStiffness, boolean volumeLimit, float volumePercent)
Smooth the given surface.void
stateChanged(javax.swing.event.ChangeEvent event)
Does nothing.private VolumeRenderState
StoreState()
void
SURMode(boolean bSURFast)
void
toggleGeodesicPathDisplay(java.lang.String kSurfaceName, int iWhich)
Switches between different ways of displaying the geodesic path (Euclidean, Geodesic, or Mesh).void
toggleNode(WildMagic.LibGraphics.SceneGraph.Node kNode, boolean bDisplay)
Toggle the display on/off for the given Node.void
translateSurface(java.lang.String kSurfaceName, WildMagic.LibFoundation.Mathematics.Vector3f kTranslate)
Changes the translation vector for the surface with the given name.void
updateABBlend()
update blending between images A/B.void
updateData()
Causes the PlaneRender objects to update the texture maps when the underlying ModelImage changes.private void
updateHistoLUTPanels(boolean updateImageB)
Creates or updates the histogram / LUT panel and opacity panels when a new image is loaded.boolean
updateImageExtents()
This methods calls the componentImage's REPAINT method to redraw the screen.boolean
updateImages()
This methods calls the componentImage's REPAINT method to redraw the screen.boolean
updateImages(boolean forceShow)
This methods calls the componentImage's update method to redraw the screen.boolean
updateImages(ModelLUT LUTa, ModelLUT LUTb, boolean forceShow, int interpMode)
This methods calls corresponding render to update images with LUT changes.void
updateLevWidgetState(java.util.Vector<ClassificationWidget> kLWS)
void
updateLighting(WildMagic.LibGraphics.Rendering.Light[] akGLights)
void
updateMultihistoTab(boolean flag)
Update the multi-histogram tab when the MultiHistogram checkbox is checked in the renderMode panel.void
updatePlanes()
Causes the texture representation of all the surface meshes to be recalculated.void
windowActivated(java.awt.event.WindowEvent event)
void
windowClosed(java.awt.event.WindowEvent arg0)
void
windowClosing(java.awt.event.WindowEvent event)
void
windowDeactivated(java.awt.event.WindowEvent event)
Does nothing.void
windowDeiconified(java.awt.event.WindowEvent event)
void
windowIconified(java.awt.event.WindowEvent event)
void
windowOpened(java.awt.event.WindowEvent arg0)
-
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, show, toBack, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gov.nih.mipav.view.renderer.WildMagic.VOI.VOIManagerInterfaceListener
setCursor
-
-
-
-
Field Detail
-
serialVersionUID
protected static final long serialVersionUID
Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
-
rendererProgressBar
protected static javax.swing.JProgressBar rendererProgressBar
The small bar on the top right corner the volume view frame.
-
mainPane
private javax.swing.JSplitPane mainPane
-
menuObj
protected ViewMenuBuilder menuObj
Menu items storage.
-
panelToolbar
protected javax.swing.JPanel panelToolbar
Panel that holds the toolbars.
-
panelToolBarGBC
protected java.awt.GridBagConstraints panelToolBarGBC
Constraints on panelToolbar layout:
-
brainsurfaceFlattenerRender
protected CorticalAnalysisRender brainsurfaceFlattenerRender
Rendering the brainsurfaceFlattener objects.
-
m_kFlyThroughRender
protected FlyThroughRender m_kFlyThroughRender
Flythrough renderer:
-
flythruControl
protected JPanelVirtualEndoscopySetup_WM flythruControl
Flythough setup panel:
-
flythruMoveControl
protected JPanelFlythruMove flythruMoveControl
Flythough Move panel:
-
clipGUI
protected JPanelClip_WM clipGUI
Clipping user-interface panel:
-
positionsPanel
protected JPanelPositions positionsPanel
-
sliceGUI
protected JPanelSlices_WM sliceGUI
3D Slice-view user-interface panel:
-
surfaceGUI
protected JPanelSurface_WM surfaceGUI
3D Surface user-interface panel:
-
displayGUI
protected JPanelDisplay_WM displayGUI
Display options panel:
-
geodesicGUI
protected JPanelGeodesic_WM geodesicGUI
Geodesic user-interface panel:
-
sculptGUI
protected JPanelSculptor_WM sculptGUI
Sculpting user-interface panel:
-
surfaceTextureGUI
protected JPanelSurfaceTexture_WM surfaceTextureGUI
Surface Texture user-interface panel:
-
rendererGUI
protected JPanelRenderMode_WM rendererGUI
Renderer mode user-interface panel
-
navigationGUI
protected JPanelNavigation navigationGUI
Navigation mode user-interface panel
-
multiHistogramGUI
protected JPanelMultiDimensionalTransfer multiHistogramGUI
Multihistogram panel:
-
customBlendGUI
protected JPanelCustomBlend customBlendGUI
Multihistogram panel:
-
clipButton
protected javax.swing.JButton clipButton
Button to invoke all the six clipping planes.
-
clipDisableButton
protected javax.swing.JButton clipDisableButton
Button to disable all the six clipping planes.
-
clipMaskButton
protected javax.swing.JButton clipMaskButton
Button to crop the clip volume.
-
clipMaskUndoButton
protected javax.swing.JButton clipMaskUndoButton
Button to undo crop the clip volume.
-
clipPlaneButton
protected javax.swing.JButton clipPlaneButton
Button to invoke clipping planes.
-
clipSaveButton
protected javax.swing.JButton clipSaveButton
Button to save clipped region.
-
gpuPanel
protected javax.swing.JPanel gpuPanel
The image panel to hold one Canvas3D.
-
bf_flyPanel
protected javax.swing.JPanel bf_flyPanel
Panel to hold the BrainSurfaceFlattener or Flythrough views.
-
m_kLightsPanel
protected JPanelLights_WM m_kLightsPanel
Light panel
-
m_kAnnotationAnimationPanel
protected JPanelAnnotationAnimation m_kAnnotationAnimationPanel
-
m_akPlaneRender
protected PlaneRender_WM[] m_akPlaneRender
The three slice views displayed as texture-mapped polygons:.
-
maxPanelWidth
protected int maxPanelWidth
The max width of the control panels.
-
menuBar
protected javax.swing.JMenuBar menuBar
Menu bar.
-
voiMenu
protected javax.swing.JMenu voiMenu
-
frameHistogram
protected JFrameHistogram frameHistogram
-
m_kVolumeImageA
protected VolumeImage m_kVolumeImageA
VolumeImage contains data and textures for ModelImage A.
-
m_kVolumeImageB
protected VolumeImage m_kVolumeImageB
VolumeImage contains data and textures for ModelImage B.
-
raycastRenderWM
protected VolumeTriPlanarRender raycastRenderWM
Volume/Slice/Surface renderer.
-
rightPane
protected javax.swing.JSplitPane rightPane
The view pane that contains the image view and tri-planar view panels.
-
dualPane
protected javax.swing.JSplitPane dualPane
For displaying the BrainSurfaceFlattener or Flythrough renderers.
-
toolbarBuilder
protected ViewToolBarBuilder toolbarBuilder
Toolbar builder reference.
-
triImagePanel
protected javax.swing.JPanel triImagePanel
Tri image planar render panels.
-
viewToolBar
protected javax.swing.JToolBar viewToolBar
The top one render view switch toolbar.
-
m_kVolOpacityPanel
protected JPanelVolumeOpacity m_kVolOpacityPanel
Opacity panel.
-
panelAxial
protected javax.swing.JPanel panelAxial
Axial view panel.
-
panelSagittal
protected javax.swing.JPanel panelSagittal
Sagittal view panel.
-
panelCoronal
protected javax.swing.JPanel panelCoronal
Coronal view panel.
-
mouseGUI
protected JPanel3DMouse_WM mouseGUI
3D mouse user-interface panel:
-
screenWidth
protected int screenWidth
Current frame width and height.
-
screenHeight
protected int screenHeight
Current frame width and height.
-
m_kVOIInterface
protected VOILatticeManagerInterface m_kVOIInterface
-
m_iVOICount
protected int m_iVOICount
-
m_kVolume4DGUI
private JPanelVolume4D m_kVolume4DGUI
-
m_b4D
private boolean m_b4D
-
m_kRecordToggle
private javax.swing.JToggleButton m_kRecordToggle
-
m_kSaveButton
private javax.swing.JButton m_kSaveButton
-
m_kLoadButton
private javax.swing.JButton m_kLoadButton
-
tabbedPane
private javax.swing.JTabbedPane tabbedPane
The main tabbed pane in the volume view frame.
-
userInterface
protected ViewUserInterface userInterface
Reference to the user interface.
-
m_bDependentInterfaceInit
protected boolean m_bDependentInterfaceInit
-
prevHeight
int prevHeight
-
-
Constructor Detail
-
VolumeTriPlanarInterface
public VolumeTriPlanarInterface()
Specific constructor call from the VolumeViewerDTI.
-
VolumeTriPlanarInterface
public VolumeTriPlanarInterface(ModelImage _imageA, ModelImage _imageB)
-
VolumeTriPlanarInterface
public VolumeTriPlanarInterface(ModelImage _imageA, ModelImage _imageB, boolean cloneImage)
-
-
Method Detail
-
getRendererProgressBar
public static final javax.swing.JProgressBar getRendererProgressBar()
Retrieve the progress bar used in the volume renderer (the one in the upper right hand corner).- Returns:
- the volume renderer progress bar
-
addConfiguredListener
public void addConfiguredListener(RendererListener listener)
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent event)
- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
-
addGeodesic
public void addGeodesic(WildMagic.LibGraphics.SceneGraph.TriMesh kSurface, WildMagic.LibGraphics.SceneGraph.Geometry kNew, int iGroup)
Add a geodesic element to the surface display.- Parameters:
kSurface
- the surface the geodesic element is attached to.kNew
- the new geodesic element.iGroup
- the Node index.
-
addNode
public VolumeObject addNode(WildMagic.LibGraphics.SceneGraph.Node kNode)
Add a new display node to the volume/surface display list. This is done from the other renderers: BrainSurfaceFlattener and Flythrough.- Parameters:
kNode
-
-
addPolyline
public void addPolyline(VOIContour kContour, WildMagic.LibGraphics.SceneGraph.Polyline akPolyline, int groupIndex)
Add a polyline to the VolumeDTI display.- Parameters:
akPolyline
- new polyline.groupIndex
- Node index.
-
addSlices
public void addSlices(VolumeSlices kSlices)
Pass the VolumeSlices from the Volume Renderer to the PlaneRender objects.- Parameters:
kSlices
-
-
addSurface
public void addSurface(WildMagic.LibGraphics.SceneGraph.TriMesh mesh)
-
addSurface
public void addSurface(SurfaceState kSurface)
-
addSurface
public void addSurface(SurfaceState kSurface, boolean fileCoords)
Add TriMesh surfaces to the Volume Renderer.- Parameters:
akSurfaces
- new surfaces.
-
display3DWindowOnly
public void display3DWindowOnly()
-
displayAnnotationSpheres
public void displayAnnotationSpheres()
-
addVOIS
public void addVOIS(VOIVector vois, java.util.Vector<java.lang.String> annotationNames)
-
addSphereVOIs
public void addSphereVOIs(VOI annotations)
- Specified by:
addSphereVOIs
in interfaceVOIManagerInterfaceListener
-
buildClipPanel
public void buildClipPanel()
Build the clipping control panel for the surface render.
-
buildCustomBlendPanel
public void buildCustomBlendPanel()
-
buildDisplayPanel
public void buildDisplayPanel()
Build the display control panel for the surface render.
-
buildFlythroughPanel
public void buildFlythroughPanel()
Build the flythru move control panel.
-
buildGeodesic
public void buildGeodesic()
Build the Geodesic control panel.
-
buildHistoLUTPanel
public void buildHistoLUTPanel()
The histogram control panel of the lookup table.
-
buildLabelPanel
public void buildLabelPanel()
-
buildLightPanel
public void buildLightPanel()
Build the light control panel for the surface render.
-
buildOpacityPanel
public void buildOpacityPanel()
Build the volume opacity control panel for the surface render.
-
buildRenderModePanel
public void buildRenderModePanel()
Builds the render mode control panel.
-
buildNavigationModePanel
public void buildNavigationModePanel()
Builds the navigation mode control panel.
-
buildSculpt
public void buildSculpt()
Build the Sculpturing control panel.
-
buildSlicePanel
public void buildSlicePanel()
Build the slices control panel for the surface render.
-
buildSurfacePanel
public void buildSurfacePanel()
Build the adding surface control panel for the surface render.
-
buildSurfaceTexturePanel
public void buildSurfaceTexturePanel()
Builds the Surface texture panel.
-
build3DMousePanel
public void build3DMousePanel()
Build the clipping control panel for the surface render.
-
close
public void close()
Closes both image A and image B (if it exists). It ensures the images are un-registered from the main-frame then removes any display listeners.
-
componentHidden
public void componentHidden(java.awt.event.ComponentEvent arg0)
- Specified by:
componentHidden
in interfacejava.awt.event.ComponentListener
-
componentMoved
public void componentMoved(java.awt.event.ComponentEvent event)
- Specified by:
componentMoved
in interfacejava.awt.event.ComponentListener
-
componentResized
public void componentResized(java.awt.event.ComponentEvent event)
Method called when a component resize event is generated. This method snaps the size of the frame and pagePanel to the nearest row, column sizing (so the gridRow and gridColumn and page layout may change).- Specified by:
componentResized
in interfacejava.awt.event.ComponentListener
- Parameters:
event
- frame resize event
-
componentShown
public void componentShown(java.awt.event.ComponentEvent arg0)
- Specified by:
componentShown
in interfacejava.awt.event.ComponentListener
-
create3DVOI
public void create3DVOI(boolean bIntersection)
- Specified by:
create3DVOI
in interfaceVOIManagerInterfaceListener
-
CustomBlendMode
public void CustomBlendMode()
-
displayAll
public void displayAll()
Causes redisplay of all components.
-
disposeLocal
public void disposeLocal(boolean flag)
Dispose memory.- Parameters:
flag
- call super dispose or not
-
enableGeodesic
public void enableGeodesic(boolean bEnable)
Enable geodesic calculations and display.- Parameters:
bEnable
- when true geodesic curves are enabled.
-
enablePaint
public void enablePaint(WildMagic.LibFoundation.Mathematics.ColorRGBA kPaintColor, int iBrushSize, boolean bEnabled, boolean bPaint, boolean bDropper, boolean bPaintCan, boolean bErase)
Enable painting on TriMesh surfaces.- Parameters:
kPaintColor
- paint color.iBrushSize
- brush size.bEnabled
- painting on/off.bPaint
- when true apply paint.bDropper
- when true do dropper mode.bPaintCan
- when true do paint can mode.bErase
- when true erase.
-
eraseAllPaint
public void eraseAllPaint()
Erase all surface paint.
-
getActiveImage
public ModelImage getActiveImage()
- Specified by:
getActiveImage
in interfaceVOIManagerInterfaceListener
-
getActiveLookupTable
public ModelStorageBase getActiveLookupTable(ModelImage kImage)
Returns the ModelLUT or ModelRGB based on which image is currently active, either imageA or imageB and they type of image (color or grayscale).- Returns:
- the active LUT/RGB table.
-
getActiveLUT
public ModelLUT getActiveLUT()
- Specified by:
getActiveLUT
in interfaceVOIManagerInterfaceListener
-
getActiveRGB
public ModelRGB getActiveRGB()
- Specified by:
getActiveRGB
in interfaceVOIManagerInterfaceListener
-
getLUTPanel
public javax.swing.JPanel getLUTPanel()
-
getOpacityPanel
public javax.swing.JPanel getOpacityPanel()
-
getBlendValue
public int getBlendValue()
Get the imageA and imageB blending value from the PlaneRender.- Returns:
- blendValue blender slider value.
-
getCameraLocation
public WildMagic.LibFoundation.Mathematics.Vector3f getCameraLocation()
Get the camera current location- Returns:
- camera position vector
-
getCameraParameters
public float[] getCameraParameters()
Get the camera parameters.- Returns:
- camera parameters array.
-
getCenterPt
public WildMagic.LibFoundation.Mathematics.Vector3f getCenterPt()
- Specified by:
getCenterPt
in interfaceVOIManagerInterfaceListener
-
getControls
public ViewControlsImage getControls()
-
getFrame
public javax.swing.JFrame getFrame()
- Specified by:
getFrame
in interfaceVOIManagerInterfaceListener
-
getHistoLUTActiveImage
public ModelImage getHistoLUTActiveImage()
Returns which image is active in the HistoLUT -- either imageA or imageB. Called by the PlaneRenderer object to determine which LUT to update based on dragging the right-mouse in the PlaneRender window:- Returns:
- ModelImage, either imageA or imageB, depending on which is selected in the HistoLUT
-
getHistoRGBActiveImage
public ModelImage getHistoRGBActiveImage()
Returns which image is active in the HistoRGB -- either imageA or imageB. Called by the PlaneRenderer object to determine which LUT to update based on dragging the right-mouse in the PlaneRender window:- Returns:
- ModelImage, either imageA or imageB, depending on which is selected in the HistoLUT
-
getImageA
public ModelImage getImageA()
Get the image A reference.- Returns:
- imageA model image A reference.
-
getImageB
public ModelImage getImageB()
Get the imageB reference.- Returns:
- imageB model image B reference.
-
getVolumeImageA
public VolumeImage getVolumeImageA()
-
getVolumeImageB
public VolumeImage getVolumeImageB()
-
GetLights
public WildMagic.LibGraphics.Rendering.Light[] GetLights()
Return the Light[] used in the volume/surface display.- Returns:
-
getLUTDialog
public JFrameHistogram getLUTDialog()
Get the LUT panel (only should be used with grayscale images).- Returns:
- the histo LUT panel
-
getMaterial
public WildMagic.LibGraphics.Rendering.MaterialState getMaterial(java.lang.String kSurfaceName)
Return the material properties of the given surface.- Parameters:
kSurfaceName
- the surface to query.- Returns:
- the material properties of the surface.
-
getNode
public VolumeNode getNode(java.lang.String kSurfaceName)
-
getObjectParameters
public float[] getObjectParameters()
Get the object parameters.- Returns:
- Get the object rotation parameters array.
-
getObjectRotation
public WildMagic.LibFoundation.Mathematics.Matrix3f getObjectRotation()
Get the object rotation matrix.- Returns:
- rotation matrix
-
getOpacity
public float getOpacity(java.lang.String kSurfaceName)
Return the opacity properties of the given surface.- Parameters:
kSurfaceName
- the surface to query.- Returns:
- the opacity value of the surface.
-
getRendererGUI
public JPanelRenderMode_WM getRendererGUI()
Get the render mode interface panel.- Returns:
- render mode interface panel.
-
getNavigationGUI
public JPanelNavigation getNavigationGUI()
Get the navigation mode interface panel.- Returns:
- navigation mode interface panel.
-
getSurfaceArea
public float getSurfaceArea(java.lang.String kSurfaceName)
Return the size of the surface-area of the given surface.- Parameters:
kSurfaceName
- the surface to calculate the surface-area for.- Returns:
- the surface-area of the surface.
-
getSurfaceAreaString
public java.lang.String getSurfaceAreaString(java.lang.String kSurfaceName)
Return the size of the surface-area of the given surface.- Parameters:
kSurfaceName
- the surface to calculate the surface-area for.- Returns:
- the surface-area of the surface.
-
getSurfacePanel
public JPanelSurface_WM getSurfacePanel()
Return the surface panel.
-
getTranslateSurface
public WildMagic.LibFoundation.Mathematics.Vector3f getTranslateSurface(java.lang.String kSurfaceName)
Return the translation vector for the surface with the given name.- Parameters:
kSurfaceName
- the surface to move.- Returns:
- the translation vector
-
getVOIManager
public VOIManagerInterface getVOIManager()
- Specified by:
getVOIManager
in interfaceVOIManagerInterfaceListener
-
getVolume
public float getVolume(java.lang.String kSurfaceName)
Return the size of the volume of the given surface.- Parameters:
kSurfaceName
- the surface to calculate the volume for.- Returns:
- the volume of the surface.
-
getVolumeString
public java.lang.String getVolumeString(java.lang.String kSurfaceName)
-
getVolumeGPU
public VolumeTriPlanarRender getVolumeGPU()
- Returns:
- VolumeTriPlanarRender object.
-
hideMenus
public void hideMenus()
-
insertTab
public void insertTab(java.lang.String _name, javax.swing.JPanel _panel)
Insert the new tab into the current visible tab list.- Parameters:
_name
- control panel name_panel
- control panel
-
maskToPaint
public void maskToPaint()
- Specified by:
maskToPaint
in interfaceVOIManagerInterfaceListener
-
paintToShortMask
public void paintToShortMask()
- Specified by:
paintToShortMask
in interfaceVOIManagerInterfaceListener
-
paintToUbyteMask
public void paintToUbyteMask()
- Specified by:
paintToUbyteMask
in interfaceVOIManagerInterfaceListener
-
patientToScreen
public WildMagic.LibFoundation.Mathematics.Vector3f patientToScreen(int iActive, WildMagic.LibFoundation.Mathematics.Vector3f kPatient)
-
PickCorrespondence
public void PickCorrespondence(boolean bOn)
Enables picking correspondence points between the surface renderer and the BrainSurfaceFlattener renderer.- Parameters:
bOn
- true enables, false disables.
-
PickCorrespondence
public void PickCorrespondence(int iV0, int iV1, int iV2)
Passes the triangle indices of the picked triangle to the BrainSurfaceFlattener renderer for display.- Parameters:
iV0
- index 0 of the picked triangle.iV1
- index 1 of the picked triangle.iV2
- index 2 of the picked triangle.
-
play4D
public void play4D(boolean bOn)
-
PointerActive
public void PointerActive(boolean bActive)
- Specified by:
PointerActive
in interfaceVOIManagerInterfaceListener
-
PropDown
public WildMagic.LibFoundation.Mathematics.Vector3f PropDown(int iActive)
- Specified by:
PropDown
in interfaceVOIManagerInterfaceListener
-
PropUp
public WildMagic.LibFoundation.Mathematics.Vector3f PropUp(int iActive)
- Specified by:
PropUp
in interfaceVOIManagerInterfaceListener
-
refreshLighting
public void refreshLighting()
-
removeAllGeodesic
public void removeAllGeodesic(WildMagic.LibGraphics.SceneGraph.TriMesh kSurface)
Removes all geodesic curves for the given surface.- Parameters:
kSurface
- the surface to modify.
-
removeControls
public void removeControls()
-
removeGeodesic
public void removeGeodesic(WildMagic.LibGraphics.SceneGraph.TriMesh kSurface, int iNode, int iGroup)
Remove the specific geodesic curves from the given surface.- Parameters:
kSurface
- the surface to modify.iNode
- the node to remove.iGroup
- the group the node belongs to.
-
removeNode
public VolumeObject removeNode(java.lang.String kNodeName)
-
removePolyline
public void removePolyline(int groupIndex)
Remove the polyline from the volume DTI display.- Parameters:
groupIndex
- the polyline to remove.
-
removeSurface
public void removeSurface(java.lang.String kSurfaceName)
Remove the given surface from the render display list.- Parameters:
kSurfaceName
- the name of the surface to remove.
-
replaceGeodesic
public void replaceGeodesic(WildMagic.LibGraphics.SceneGraph.TriMesh kOld, WildMagic.LibGraphics.SceneGraph.TriMesh kNew)
When the Geodesic object cuts the mesh along an open curve, the old mesh changes, but does not need to be deleted and no new mesh needs to be added. This function allows the Geodesic object to replace the original mesh with the sliced mesh in the surface renderer. ReplaceMesh is also used to undo cutting operations.- Parameters:
kOld
- TriMesh old surface meshkNew
- TriMesh new surface mesh
-
rollbackToImageCenter
public void rollbackToImageCenter()
When the mouse tranlation moves the object out of the Viewing bounding box, click the home button to bring the image back to center.
-
resetAxisX
public void resetAxisX()
Reset image volume orientation along X axis.
-
resetAxisXInv
public void resetAxisXInv()
Reset image volume orientation along X axis.
-
resetAxisY
public void resetAxisY()
Reset image volume orientation along Y axis.
-
resetImage
public void resetImage()
Reset image volume orientation along Z axis.
-
setActiveImage
public void setActiveImage(int active)
- Specified by:
setActiveImage
in interfaceVOIManagerInterfaceListener
-
setActiveImage
public void setActiveImage(ModelImage kImage)
- Specified by:
setActiveImage
in interfaceVOIManagerInterfaceListener
-
setAnimationSpeed
public void setAnimationSpeed(float fValue)
-
setBackface
public void setBackface(java.lang.String kSurfaceName, boolean bOn)
Enables backface culling for the given surface.- Parameters:
kSurfaceName
- the surface to modify.bOn
- when true back-face culling is enabled, false disables backface culling.
-
setBackgroundColor
public void setBackgroundColor(java.awt.Color color)
Sets the background color.- Parameters:
color
-
-
setBlendValue
public void setBlendValue(int iValue)
Sets the blend value between images A and B.- Parameters:
iValue
-
-
setBoundingBoxColor
public void setBoundingBoxColor(java.awt.Color color)
Sets the volume bounding box color.- Parameters:
color
-
-
setCameraLocation
public void setCameraLocation(WildMagic.LibFoundation.Mathematics.Vector3f v)
Set the camera location.- Parameters:
v
- camera position vector
-
setCameraParameters
public void setCameraParameters()
Display the camera parameters in the user-interface.
-
setCenter
public void setCenter(WildMagic.LibFoundation.Mathematics.Vector3f kCenter)
- Specified by:
setCenter
in interfaceVOIManagerInterfaceListener
-
setClipping
public void setClipping(java.lang.String kSurfaceName, boolean bClip)
Enable clipping for the given surface.- Parameters:
kSurfaceName
- the surface to modify.bClip
- true enables clipping, false disables clipping.
-
setColor
public void setColor(java.lang.String kSurfaceName, WildMagic.LibFoundation.Mathematics.ColorRGB kColor, boolean bUpdate)
Set the color for the given surface.- Parameters:
kSurfaceName
- the surface to modify.kColor
- the new color.
-
setControls
public void setControls()
-
SetCustomBlend
public void SetCustomBlend(int iBlendEquation, int iLogicOp, int iSrcBlend, int iDstBlend, WildMagic.LibFoundation.Mathematics.ColorRGBA kColor)
-
setDefaultCursor
public void setDefaultCursor()
-
setDropperColor
public void setDropperColor(WildMagic.LibFoundation.Mathematics.ColorRGBA kDropperColor, WildMagic.LibFoundation.Mathematics.Vector3f kPickPoint)
Passes the picked dropper color to the surface interface.- Parameters:
kDropperColor
- the color of the surface at the picked point.kPickPoint
- the picked point for use in the region-grow operation.
-
setEnabled
public void setEnabled(boolean flag)
- Overrides:
setEnabled
in classjava.awt.Component
-
setGeodesic
public void setGeodesic(WildMagic.LibGraphics.SceneGraph.TriMesh kMesh, WildMagic.LibGraphics.Collision.PickRecord kPickPoint)
Passes the picked point to the Geodesic object for calculating the geodesic curve on the TriMesh surface.- Parameters:
kMesh
- the surface that was picked.kPickPoint
- the picked point.
-
setGradientMagnitude
public void setGradientMagnitude(boolean bShow)
Turn the gradient magnitude filter on/off for volume shaders.- Parameters:
bShow
- on/off.
-
setImage
public void setImage(ModelImage kImageA, ModelImage kImageB, ModelLUT kLUTA, ModelLUT kLUTB, boolean updateRenderer)
Changes the underlying images displayed in the VolumeTriPlanarInteface.- Parameters:
kImageA
- new imageAkImageB
- new imageBkLUTA
- new lut for imageA.kLUTB
- new lut for imageBupdateRenderer
- flag indicating if the image dimensions have changed size. If so recreate the image on the GPU, otherwise just reload the data.
-
updateHistoLUTPanels
private void updateHistoLUTPanels(boolean updateImageB)
Creates or updates the histogram / LUT panel and opacity panels when a new image is loaded.
-
SetImageNew
public void SetImageNew(java.lang.String kSurfaceName, ModelImage kImage)
Sets the ModelImage to use as an alternative to the volume ModelImage for surface texturing.- Parameters:
kSurfaceName
- the surface to modify.kImage
- the alternate ModelImage to use for the surface texture.
-
setIPD
public void setIPD(float fIPD)
Sets the inter-pupillary distance for stereo rendering.- Parameters:
fIPD
- the IPD value.
-
SetLUTNew
public void SetLUTNew(java.lang.String kSurfaceName, ModelStorageBase kLUT)
Sets the LUT to use as an alternative to the volume lut for surface texturing.- Parameters:
kSurfaceName
- the surface to modify.kLUT
- the new LUT.kRGBT
- the new ModelRGB (for color images).
-
setMaterial
public void setMaterial(java.lang.String kSurfaceName, WildMagic.LibGraphics.Rendering.MaterialState kMaterial, boolean bUpdate)
Sets the material for the given surface.- Parameters:
kSurfaceName
- the surface to update.kMaterial
- the new material.
-
setModified
public void setModified()
Causes the bottom three panels to re-display.- Specified by:
setModified
in interfaceVOIManagerInterfaceListener
-
setObjectParameters
public void setObjectParameters()
Set the object rotation parameters for displaying.
-
setObjectRotation
public void setObjectRotation(WildMagic.LibFoundation.Mathematics.Matrix3f rot)
Set the object rotation matrix- Parameters:
rot
- rotation matrix
-
setPaintMask
public void setPaintMask(java.util.BitSet mask)
- Specified by:
setPaintMask
in interfaceVOIManagerInterfaceListener
-
setPickable
public void setPickable(java.lang.String kSurfaceName, boolean bOn)
Turn picking on/off for the given surface.- Parameters:
kSurfaceName
- the surface to modify.bOn
- when true enable picking, false disables picking.
-
setPolygonMode
public void setPolygonMode(java.lang.String kSurfaceName, WildMagic.LibGraphics.Rendering.WireframeState.FillMode eMode)
Set the polygon mode (FILL, LINE, POINT) for the given surface.- Parameters:
kSurfaceName
- the surface to modify.eMode
- FILL, LINE, or POINT.
-
setPositionLabels
public void setPositionLabels(WildMagic.LibFoundation.Mathematics.Vector3f position)
Sets the position labels.- Parameters:
position
- the slice positions in FileCoordinates.
-
setRadiological
public void setRadiological(boolean bOn)
Toggles between radiological and neurological views of the data.- Parameters:
bOn
- when true display using radiological coordinates, when false use neurological.
-
setRenderPerspective
public void setRenderPerspective(boolean bEnable)
Switches between orthographic and perspective projection.- Parameters:
bEnable
- when true enable perspective projection, when false use orthographic projection.
-
setRGBTA
public void setRGBTA(ModelRGB RGBT)
-
setRGBTB
public void setRGBTB(ModelRGB RGBT)
-
setShowBoxFrame
public void setShowBoxFrame(boolean bShow)
Turn the volume bounding box frame on/off.- Parameters:
bShow
- when true display the bounding box.
-
setShowOrientationCube
public void setShowOrientationCube(boolean bShow)
Turn the orientation cube on/off.- Parameters:
bShow
- when true display the orientation cube, when false do not display the cube.
-
setSlice
public void setSlice(int slice)
Description copied from interface:ViewImageUpdateInterface
setSlice.- Specified by:
setSlice
in interfaceViewImageUpdateInterface
- Parameters:
slice
- Current slice
-
setSliceFromPlane
public void setSliceFromPlane(WildMagic.LibFoundation.Mathematics.Vector3f center)
Sets the position of the slices in the SurfaceRender and PlaneRender objects. Called from the PlaneRender class.- Parameters:
center
- the new slice positions in FileCoordinates
-
setCamera
public void setCamera(WildMagic.LibFoundation.Mathematics.Vector3f center)
When the mouse move in bottom three planar view, need to update the camera view location to the indicated image center.- Parameters:
center
- image center
-
setSliceFromSurface
public void setSliceFromSurface(WildMagic.LibFoundation.Mathematics.Vector3f center)
Sets the position of the slices in the PlaneRender. Called from the SurfaceRender class.- Parameters:
center
- the new slice positions in FileCoordinates
-
setSliceHairColor
public void setSliceHairColor(int iView, java.awt.Color color)
Sets the color for the PlaneRender iView (AXIAL, SAGITTAL, CORONAL) slice.- Parameters:
iView
- (AXIAL, SAGITTAL, CORONAL)color
- the new axis color attribute.
-
setSliceOpacity
public void setSliceOpacity(int i, float fAlpha)
Set the transparency value for the slice.- Parameters:
i
- the slice to modify.fAlpha
- the new transparency value.
-
setSurfaceTexture
public void setSurfaceTexture(java.lang.String kSurfaceName, boolean bOn, boolean bUseNewImage, boolean bUseNewLUT)
Turns on surface texture display for the given surface. The user can use a separate ModelImage and LUT than the one displayed in the volume renderer.- Parameters:
kSurfaceName
- the name of the surface to texture.bOn
- texture on/off.bUseNewImage
- when false use the current ModelImage, when true the user specifies the model image.bUseNewLUT
- when false use the current LUT, when true the user specifies the LUT.
-
setTimeSlice
public void setTimeSlice(int slice)
Description copied from interface:ViewImageUpdateInterface
setTimeSlice.- Specified by:
setTimeSlice
in interfaceViewImageUpdateInterface
- Parameters:
slice
- Current time volume
-
setTransparency
public void setTransparency(java.lang.String kSurfaceName, float fValue)
Set the transparency for the given surface.- Parameters:
kSurfaceName
- the name of the surface to modify.fValue
- transparency value.
-
showBoundingBox
public void showBoundingBox(int i, boolean bShow)
Turns showing the slice bounding box on/off.- Parameters:
i
- which slice bounding box to turn off.bShow
- on/off.
-
showSlice
public void showSlice(int i, boolean bShow)
Turns showing the slice on/off.- Parameters:
i
- which slice to turn off.bShow
- on/off.
-
smoothMesh
public void smoothMesh(java.lang.String kSurfaceName, int iteration, float alpha, boolean volumeLimit, float volumePercent)
Smooth the given surface.- Parameters:
kSurfaceName
- the name of the surface to smooth.iteration
- smooth iterations.alpha
- smooth factor.volumeLimit
- whether to use a volume % change limit.volumePercent
- the % volume change limiting factor
-
smoothThree
public void smoothThree(java.lang.String kSurfaceName, int iteration, float lambda, float mu)
Smooth the given surface.- Parameters:
kSurfaceName
- the name of the surface to smooth.iteration
- smooth iterations.lambda
- smooth factor.mu
- smooth factor.
-
smoothTwo
public void smoothTwo(java.lang.String kSurfaceName, int iteration, float fStiffness, boolean volumeLimit, float volumePercent)
Smooth the given surface.- Parameters:
kSurfaceName
- the name of the surface to smooth.iteration
- smooth iterations.fStiffness
- stiffness factor.volumeLimit
- whether to use a volume % change limit.volumePercent
- the % volume change limiting factor.
-
stateChanged
public void stateChanged(javax.swing.event.ChangeEvent event)
Does nothing.- Specified by:
stateChanged
in interfacejavax.swing.event.ChangeListener
- Parameters:
event
- the change event
-
SURMode
public void SURMode(boolean bSURFast)
-
toggleGeodesicPathDisplay
public void toggleGeodesicPathDisplay(java.lang.String kSurfaceName, int iWhich)
Switches between different ways of displaying the geodesic path (Euclidean, Geodesic, or Mesh).- Parameters:
kSurfaceName
- the surface the path is on.iWhich
- the type of display.
-
toggleNode
public void toggleNode(WildMagic.LibGraphics.SceneGraph.Node kNode, boolean bDisplay)
Toggle the display on/off for the given Node.- Parameters:
kNode
- node to toggle on/off.bDisplay
- display toggle on/off.
-
translateSurface
public void translateSurface(java.lang.String kSurfaceName, WildMagic.LibFoundation.Mathematics.Vector3f kTranslate)
Changes the translation vector for the surface with the given name.- Parameters:
kSurfaceName
- the surface to move.kTranslate
- the new translation vector
-
updateABBlend
public void updateABBlend()
update blending between images A/B.
-
updateData
public void updateData()
Causes the PlaneRender objects to update the texture maps when the underlying ModelImage changes.- Specified by:
updateData
in interfaceVOIManagerInterfaceListener
-
updateImageExtents
public boolean updateImageExtents()
Description copied from interface:ViewImageUpdateInterface
This methods calls the componentImage's REPAINT method to redraw the screen. The extents on this image have changed, so the extents need to be read in again and menus, panes and slide bars adjusted accordingly.- Specified by:
updateImageExtents
in interfaceViewImageUpdateInterface
- Returns:
- boolean confirming successful update
-
updateImages
public boolean updateImages()
Description copied from interface:ViewImageUpdateInterface
This methods calls the componentImage's REPAINT method to redraw the screen. Without LUT changes or image changes- Specified by:
updateImages
in interfaceViewImageUpdateInterface
- Returns:
- boolean confirming successful update
-
updateImages
public boolean updateImages(boolean forceShow)
Description copied from interface:ViewImageUpdateInterface
This methods calls the componentImage's update method to redraw the screen. Without LUT changes.- Specified by:
updateImages
in interfaceViewImageUpdateInterface
- Parameters:
forceShow
- forces show to re import image and calc. java image- Returns:
- boolean confirming successful update
-
updateImages
public boolean updateImages(ModelLUT LUTa, ModelLUT LUTb, boolean forceShow, int interpMode)
This methods calls corresponding render to update images with LUT changes.- Specified by:
updateImages
in interfaceViewImageUpdateInterface
- Parameters:
LUTa
- LUT used to update imageALUTb
- LUT used to update imageBforceShow
- forces show to reimport image and calc. java imageinterpMode
- image interpolation method (Nearest or Smooth)- Returns:
- boolean confirming successful update
-
updateLevWidgetState
public void updateLevWidgetState(java.util.Vector<ClassificationWidget> kLWS)
-
updateLighting
public void updateLighting(WildMagic.LibGraphics.Rendering.Light[] akGLights)
-
updateMultihistoTab
public void updateMultihistoTab(boolean flag)
Update the multi-histogram tab when the MultiHistogram checkbox is checked in the renderMode panel.- Parameters:
flag
- MultiHistogram Check box checked or not.
-
updatePlanes
public void updatePlanes()
Causes the texture representation of all the surface meshes to be recalculated.
-
windowActivated
public void windowActivated(java.awt.event.WindowEvent event)
- Specified by:
windowActivated
in interfacejava.awt.event.WindowListener
-
windowClosed
public void windowClosed(java.awt.event.WindowEvent arg0)
- Specified by:
windowClosed
in interfacejava.awt.event.WindowListener
-
windowClosing
public void windowClosing(java.awt.event.WindowEvent event)
- Specified by:
windowClosing
in interfacejava.awt.event.WindowListener
-
windowDeactivated
public void windowDeactivated(java.awt.event.WindowEvent event)
Does nothing.- Specified by:
windowDeactivated
in interfacejava.awt.event.WindowListener
- Parameters:
event
- the window event
-
windowDeiconified
public void windowDeiconified(java.awt.event.WindowEvent event)
- Specified by:
windowDeiconified
in interfacejava.awt.event.WindowListener
-
windowIconified
public void windowIconified(java.awt.event.WindowEvent event)
- Specified by:
windowIconified
in interfacejava.awt.event.WindowListener
-
windowOpened
public void windowOpened(java.awt.event.WindowEvent arg0)
- Specified by:
windowOpened
in interfacejava.awt.event.WindowListener
-
buildImageIndependentComponents
private void buildImageIndependentComponents()
-
disposeImageDependentComponents
private void disposeImageDependentComponents()
-
disposeImageIndependentComponents
private void disposeImageIndependentComponents()
-
disposeRenderers
private void disposeRenderers()
-
getVolumeRenderStateFile
private java.lang.String getVolumeRenderStateFile(boolean bSave)
-
initVOI
private void initVOI()
-
LoadState
private void LoadState()
-
RestoreState
private void RestoreState(VolumeRenderState kState)
-
RestoreTabs
private void RestoreTabs(VolumeRenderState kState)
-
SaveState
private void SaveState()
-
SaveTabs
private void SaveTabs(VolumeRenderState kState)
-
StoreState
private VolumeRenderState StoreState()
-
buildImageDependentComponents
protected void buildImageDependentComponents()
-
buildMenu
protected javax.swing.JMenuBar buildMenu()
Builds menus for the tri-planar view.- Returns:
- new menu bar containing menus.
-
buildViewToolbar
protected void buildViewToolbar()
The the top one volume view toolbar.
-
configureFrame
protected void configureFrame()
Constructs main frame structures for image canvas.
-
getVolumeSlicesPanel
public javax.swing.JSplitPane getVolumeSlicesPanel()
-
constructRenderers
protected void constructRenderers(ViewJProgressBar progressBar)
Construct the volume rendering methods based on the choices made from the resample dialog. This method is called by the Resample dialog.
-
resizePanel
protected void resizePanel()
Method that resizes the frame and adjusts the rows, columns as needed.
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent event)
- Specified by:
propertyChange
in interfacejava.beans.PropertyChangeListener
-
setCameraNearPlane
public void setCameraNearPlane(float distance)
-
setPlaneConstant
public void setPlaneConstant(float distance)
-
setVisible
public void setVisible(boolean b)
- Overrides:
setVisible
in classjava.awt.Window
-
setAnnotationMode
public void setAnnotationMode(boolean _isAnnotationEnabled)
Set the annotation mode- Parameters:
_isAnnotationEnabled
-
-
setMouseFlythruMode
public void setMouseFlythruMode(boolean _isMouseflythru)
Set the flythru mode- Parameters:
_flythru
-
-
setPathFlythruMode
public void setPathFlythruMode(boolean _isPathflythru)
-
addAnnotationPoint
public void addAnnotationPoint(WildMagic.LibFoundation.Mathematics.Vector3f point, WildMagic.LibFoundation.Mathematics.Vector3f scannerPt)
When left mouse press with the control key down on the bottom three planar view, add the annotation point- Parameters:
point
- annotation point in patient space
-
-