Class SurfaceView
- java.lang.Object
- 
- java.awt.Component
- 
- java.awt.Canvas
- 
- javax.media.j3d.Canvas3D
- 
- gov.nih.mipav.view.renderer.J3D.VolumeCanvas3D
- 
- gov.nih.mipav.view.renderer.J3D.RenderViewBase
- 
- gov.nih.mipav.view.renderer.J3D.surfaceview.SurfaceRender
- 
- gov.nih.mipav.view.renderer.J3D.surfaceview.SurfaceView
 
 
 
 
 
 
 
- 
- All Implemented Interfaces:
- com.sun.j3d.utils.behaviors.mouse.MouseBehaviorCallback,- ViewImageUpdateInterface,- java.awt.event.ActionListener,- java.awt.event.KeyListener,- java.awt.image.ImageObserver,- java.awt.MenuContainer,- java.beans.PropertyChangeListener,- java.io.Serializable,- java.util.EventListener,- javax.accessibility.Accessible,- javax.swing.event.ChangeListener
 
 public class SurfaceView extends SurfaceRender Frame that holds the surface renderer. This frame is only possible to activate if a three dimensional image is loaded. The image shows up in the frame as the three planes, with an axial view, a coronal view, and a sagittal view. The user can slide these planes up and down and can turn them on and off. The user can also load in surfaces created from the original image. These 3D surfaces will appear in the proper place within the three image planes. There are many options for viewing the surfaces. Additionally, the user can change the view mode, so that the mouse causes the view to "fly". The user can then record the different mouse actions and play them back.- See Also:
- ViewJComponentSurfaceImage,- JDialogSurface,- JDialogView,- JDialogMouseRecorder, Serialized Form
 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class gov.nih.mipav.view.renderer.J3D.RenderViewBaseRenderViewBase.Matrix
 
- 
 - 
Field SummaryFields Modifier and Type Field Description static intARTERIAL_SEGValue which indicates a voxel that is part of the arterial vasculature tree.static intBONE_SEGValue which indicates a bone in the image.private JPanelDisplayboxPanelDialog to turn bounding box of surface renderer on and off, and to change the color of the frame.private ViewJComponentBoxSlice[]boxSlicesThe frame around the AXIAL, CORONAL, SAGITTAL slices:private javax.vecmath.Vector3f[][]boxSliceVerticesThe transformed boxSlices frames used to sample the volume data along diagonal slices:private intbufferFactorBuffer factor, 1 usually, 4 for color images.private JPanelClipclipPanelDialog to turn the clipping palne box on and off.private javax.media.j3d.BranchGroupcubicBehaviorBGThe cubic roational behavior branch group.private javax.media.j3d.BranchGroupcubicBGCubic branch group.private com.sun.j3d.utils.behaviors.mouse.MouseRotatecubicRotateCubic mouse rotation behavior.private javax.media.j3d.TransformGroupcubicTGCubic transform group.private javax.media.j3d.Transform3DcurrentTransformCurrent transform matrix.private intcurrentTransformTypeCurrent transform changes type.static intENTRY_POINTValue which indicates the probe entry point color.private booleanfirst6ClipPlaneflag indicate the first time 6 clipping plane branch switch.private booleanfirstClipArbiflag indicate the first time arbitrary clipping plane branch switch.private JPanelGeodesicgeodesicPanelGeodesic panel.private ModelImageimageACurrent image A.private ModelImageimageBCurrent image B.private booleanisEntryPointFlag indicates that probe rotate around the entry point or not.private booleanm_bRenderModeLightingFlag set when texture volume is being rendered using lights.private doublem_dOriginalScreenScaleZoomfactor, zooming in screen scale space, and is relative to original position, this stores that original position:.private javax.media.j3d.TransformGroup[]m_kObjBoxSliceProbe_TGTransformGroup[] used to rotate the AXIAL, CORONAL, SAGITTAL slice BOXES:private javax.media.j3d.TransformGroup[]m_kObjPlaneProbe_TGTransformGroup[] used to rotate the AXIAL, CORONAL, SAGITTAL slice PLANES:private javax.media.j3d.Transform3Dm_kProbeTransformThe Transform3D used to position the planes based on the Probe position and angle.(package private) javax.vecmath.Vector4f[][]m_kRFACoordMapsTexture mapping for the RFA probe rotation:private SoftwareLightSetm_kSoftwareLightSetUsed to compute software lighting of composite texture volume.private SoftwareMaterialm_kSoftwareMaterialDOCUMENT ME!private floatmaxBoxNumbers dicatating the sizes of the planes based on the extents and resolutions of the image.private JPanelMousemousePanelDialog for recording and playing back mouse events.private MouseRotateExtmouseRotateBehaviorMouse Rotate behavior.private com.sun.j3d.utils.behaviors.mouse.MouseTranslatemouseTranslateBehaviorMouse Translate behavior.private com.sun.j3d.utils.behaviors.mouse.MouseZoommouseZoomBehaviorMouse Zoom behavior.private javax.vecmath.Point3dmyEyePointInitial center viewing point of the image.private javax.media.j3d.BranchGroup[]objPlane_BGBranchGroup[] containing the image planes.private javax.media.j3d.TransformGroup[]objTransSlices_TGGroup dictating how the XY plane is translated.private booleanparallelRotationParallel rotation flag.private javax.media.j3d.Transform3DparallelScaleT3DTransformation matrix.private ViewJFrameBaseparentControls for the image.private JPanelProbeprobePanelDialog for loading and displaying probes.private float[]resolsResolutions of image A.private introtationCountfix one bug from threading.private ModelImagesegmentationImageImage with areas marked with values indicating that they are special tissue types (vessels, etc).private static longserialVersionUIDUse serialVersionUID for interoperability.private JPanelSlicesslicePanelDialog to turn the slices control box on and off.private JPanelSurfacesurfacePanelDialog for loading and displaying surfaces.private JPanelSurfaceTexturesurfaceTexturePanelPanel for displaying the SurfaceTexture interface:private javax.media.j3d.SwitchswitchGroupTri planar view and the 3D texture volume view switch group.private inttDimDimensions of image A.private javax.media.j3d.Transform3DtransformCubicCubic tansform3D.private javax.media.j3d.Transform3DtransformNode3dSetup the initial position of the image, added to ScenerootTG transform group.static intTUMOR_SEGValue which indicates a voxel in the segmenation image that is part of the tumor.static intVASCULATURE_SEGValue which indicates a voxel in the segmenation image that is part of the vasculature (arterial or veinous).static intVEINOUS_SEGValue which indicates a voxel in the segmenation image that is part of the veinous vasculature tree.private javax.media.j3d.ViewviewView object in rendering a three dimensional scene from one viewpoint.private javax.media.j3d.BranchGroupvolBGVolume branch group.private javax.media.j3d.BranchGroupvolRenderBGVolume render branch group.private javax.media.j3d.OrderedGroupvolRenderOGVolume render order group, specify the rendering order.private booleanvolumeDisplayMode3DIf true display 3D volume as a 3D texture map or 2D array of texture maps.private floatxBoxNumbers dicatating the sizes of the planes based on the extents and resolutions of the image.private intxDimDimensions of image A.private floatyBoxNumbers dicatating the sizes of the planes based on the extents and resolutions of the image.private intyDimDimensions of image A.private floatzBoxNumbers dicatating the sizes of the planes based on the extents and resolutions of the image.private intzDimDimensions of image A.- 
Fields inherited from class gov.nih.mipav.view.renderer.J3D.surfaceview.SurfaceRenderisTriPlanarVolView, isViewTextureAligned, rayBasedRender
 - 
Fields inherited from class gov.nih.mipav.view.renderer.J3D.RenderViewBasebackground, bounds, boxFrame, canvas, captureFrame, captureImage, config, displayMode, IMAGE_A, IMAGE_B, LUTa, LUTb, objBehaviorBG, objBoxFrameBG, objRootBG, rotationAngle, rotationAxis, rotationControlPanel, rotationTimes, rotationTotal, sceneRootTG, sliderEvents, transRotation, transRotationMatrix, triPlanarViewBG, universe, viewPanel
 - 
Fields inherited from class gov.nih.mipav.view.renderer.J3D.VolumeCanvas3Dm_dAccumulatedTime, m_dFrameRate, m_dLastTime, m_iAccumulatedFrameCount, m_iFrameCount, m_iMaxTimer, m_iTimer
 - 
Fields inherited from class java.awt.ComponentaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
- 
 - 
Constructor SummaryConstructors Constructor Description SurfaceView(ModelImage _imageA, ModelImage _imageB, java.awt.GraphicsConfiguration _config)Constructor called by the VirtualEndoscopyView.SurfaceView(ModelImage _imageA, ModelLUT _LUTa, ModelImage _imageB, ModelLUT _LUTb, ViewJFrameBase _parent, java.awt.GraphicsConfiguration _config, ViewJProgressBar _pBar)Makes a frame and puts the three image planes into it.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent event)Calls various methods depending on the action.voidaddCubicControl()Attach cubic control branch group.voidautoCapture()Overrides the parent autoCapture method.private com.sun.j3d.utils.geometry.BoxbuildCubicBox()Create the rotation control cubic box.private voidbuildCubicBranch()Build the cubic branch under the objRootBG.voidcleanMouseRecorder()Clean mouse recorder for any existing event items.voidclose()Closes the image.private voidconfigureSliceFrame()Constructs main frame structures for 3 image planes.voidconfigureVolumeFrame()Constructs main frame structures for 3 image planes.private voidcreateImageSceneGraph()Creates the scene graph, made up of a branch group parent, a transform group under that which applies mouse behavior and lights to the scene, and three branch groups under the transform group for each of the three image planes.voidcropClipVolume()Crop the region of the clipped volume.voiddetachVolRender()Detach volume render branch group.voiddisableClipping()Diable all the six clipping planes at a time.voiddispatchSavedEvent(java.util.EventObject event)Dispatches event to appropriate object.voiddisposeLocal(boolean flag)Sets all variables to null, disposes, and garbage collects.voiddrawRFAPoint(javax.vecmath.Point3f kPoint)Called from the parent class when the Probe Entry Point is selected in the PlaneRender object.voidenableEntryPoint(boolean flag)Set entry point rotation flag.voidenableObjBehavior(boolean flag)Enable objBehavior branch group.protected voidfinalize()Calls disposeLocal.private voidgenerateRFACoordMaps()Generates the texture coord map vectors for the three orthogonal slices.private javax.vecmath.Vector4fgenerateRFACoordMaps(int orientation, int texCoord)create texture coordmaps for the texture-mapped planes displaying the triSliceImages.private voidgetBoxSliceInScreen(javax.vecmath.Vector3f[] screenBoxPoints, int[] boxSliceConstants)sets up the values for the ViewJComponentBoxSlice array.JPanelCameragetCameraControl()Get the rotation control dialog box.JPanelClipgetClipDialog()Return clipPanel from parent frame.JPanelDisplaygetDisplayDialog()Return the diaplay dialog.booleangetDisplayMode3D()Return the current volume display mode.JPanelGeodesicgetGeodesicPanel()Get the geodesic control panel.ModelImagegetImageA()Accessor that returns the reference to image A.ModelImagegetImageB()Accessor that returns the reference to image B.JPanelMousegetMouseDialog()Return mousePanel from parent frame.intgetMouseMode()Gets the mouse pointer mode - standard or fly - from the view dialog.javax.media.j3d.BranchGroupgetObjPlane_BG(int orientation)Gets the objXYPlaneBG branch group.doublegetOriginalScreenScale()Return the original ScreenScale for orthographic projection:ViewJFrameVolumeViewgetParentFrame()Return the parent frame.JPanelProbegetProbeDialog()Return probePanel from parent frame.float[]getResolutions()Returns the ModelImage resolutions.java.lang.ObjectgetSceneState()Gets the current scene state, in terms of what numbers the slices are on and whether or not they are visible.ModelImagegetSegmentationImage()Return the segmentation region map image which contains info on where the vascualture, etc are located.JPanelSlicesgetSlicePanel()return the current active slicePanel interface.JPanelSurfacegetSurfaceDialog()Return surfacePanel from parent frame.JPanelSurfaceTexturegetSurfaceTexture()Returns the surface texture panel interface.javax.swing.JPanelgetSurfaceTexturePanel()Returns the surface texture panel mainPanel interface.JPanelViewgetViewDialog()Return the viewPanel from parent frame.JPanelVolumeOpacitygetVolOpacityPanel()Return volume opacity control Dialog from parent frame.javax.media.j3d.BranchGroupgetVolRenderBG()Return volume render Branch Group.javax.media.j3d.OrderedGroupgetVolRenderOG()Return volume render Order Group.voidhideBoxFrame()Makes the box frame invisible.voidinvokeClipping()Enable the six clipping planes at a time.voidModelToScreen(javax.vecmath.Vector3f model, javax.vecmath.Vector3f screen)Translate from Model coordinates to normalized plane coordinates:voidreConfigureVolumeFrame()Constructs main frame structures for 3 image planes.voidremoveCubicControl()Detach cubic control branch group.voidresetAxisX()Overrides the parent resetImage method.voidresetAxisY()Overrides the parent resetImage method.voidresetImage()Overrides the parent resetImage method.voidrotateImage()Overrides the rotateImage to rotate the surface volume.voidsaveCropVolume()Save crop region with the clipped volume.private voidScreenToModel(javax.vecmath.Vector3f screen, javax.vecmath.Vector3f model)Translate from normalized plane coordinates to Model coordinates:voidsetAlphaBlend(int value)Sets the alpha blending of parameter for two image displays.voidsetCenter(javax.vecmath.Vector3f center)Sets the values for JPanelSlices, based on the positions in the PlaneRender class for the AXIAL, CORONAL, and SAGITTAL views.voidsetCompositeMode()Set the texture renderer to render in composite mode.voidsetDisplayMode3D(boolean flag)Hack.voidsetGUI(java.lang.Object scene)Sets the GUI components to their proper state before the action is dispatched from the player.voidsetLightingMode()Set the texture render to render in lighting mode.voidsetLUTa(ModelLUT LUT)Accessor that sets the LUT for image A.voidsetLUTb(ModelLUT LUT)Accessor that sets the LUT for image B.voidsetMaterialShininess(float value)Set the texture material shininess value.voidsetMouseMode(int mode)Sets the mouse pointer mode - standard or fly - in the view dialog.voidsetMouseRotateEnable(boolean bEnable)Allow disabling or enabling mouse rotation:voidsetParallelRotation(boolean flag)Set the parallel rotation flag from the viewJFrameVolumeView.voidsetProbeTG(javax.media.j3d.Transform3D kTransform, boolean bTwist)Sets the Transform3D for the slices based on the Probe Transform.voidsetRayBasedRender(VolumeRenderer _rayBasedRender)Set the reference to ray based renderer, raycast renderer or shear warp renderer.voidsetRenderPerspective(boolean bEnable)Enable perspective projection rendering; otherwise use orthographic projection.voidsetRGBTA(ModelRGB RGBT)Sets the RGB table for image A.voidsetRGBTB(ModelRGB RGBT)Sets the RGB table for image B.voidsetSegmentationImage(ModelImage img)Set the image which we can check to see if the probe is hitting anything important (such as vessels, etc).voidsetSlice(int slice)Does nothing but must instantiate for this to implements ViewImageUpdateInterface.voidsetSliceColor(java.awt.Color color, int orientation)Sets the color of the x slice frame.voidsetTimeSlice(int slice)Sets the time slice to be displayed and changes the image planes displayed.private voidsetupEye()Set up the center point of the red line boxframe.voidsetVolumeDisplayMode(boolean volDisplayMode)Accessor that sets the volumeDisplayMode flag.voidshowBoxFrame()Makes the box frame visible.voidstateChanged(javax.swing.event.ChangeEvent e)Sets how the image plane should be displayed depending on value of slider.voidswitchToSliceView(boolean firstTime)Perform some actions required when switching to the slice renderer.voidswitchToVolView(boolean firstTime)Perform some actions required when switching to the volume renderer.private voidtransformBoxSlices(javax.media.j3d.Transform3D kTransform)transform the points used to render the triSliceImages textures.voidtransformChanged(int type, javax.media.j3d.Transform3D transform)Tells the mouse dialog that the transform has changed.voidtransformUpdate(int type, javax.media.j3d.Transform3D transform)The raybased renderer invokes this method when a mouse release event occurs.voidundoCropVolume()Undo crop region with the clipped volume.voidupdateCubicTransform(javax.media.j3d.Transform3D transform)Update the transform3D for the cubic.voidupdateData()Called when the underlying data has changed, due to sculpting.booleanupdateImageExtents()This methods calls the componentImage's REPAINT method to redraw the screen.voidupdateImageFromRotation()Build a image with the current rotational transformation matrix.booleanupdateImages()This methods calls the componentImage's update method to redraw the screen - fastest of the three update methods.booleanupdateImages(boolean flag)This methods calls the componentImage's update method to redraw the screen.booleanupdateImages(ModelLUT LUTa, ModelLUT LUTb, boolean forceShow, int interpMode)This methods calls the componentImage's update method to redraw the screen.voidupdateLighting()This method is normally called by JPanelLights when a light bulb property changes.voidupdateParent()voidupdateProbe(boolean forceShow, boolean bInterpolate, boolean bReset)Updates the slice textures based on the Probe position and rotation angle.voidupdateProbePos()Not used now.voidupdateRaycastRender()Update the raycast based renderer.voidupdateShininess(float value)Update the shininess from the JPanelLights.private voidupdateTextureVolumeRender()Determine the current viewing transformation and pass it to the texture volume renderer so that it can update itself.voidupdateTransform(javax.media.j3d.Transform3D transform)Tells the mouse dialog that the transform has changed.private voidupdateViewScreenScale(javax.media.j3d.Transform3D kTransform)This function calculates the scale factor for zooming in parallel projection.booleanupdateVolume(ModelLUT LUTa, ModelLUT LUTb, boolean forceShow)This methods calls the componentImage's update method to redraw the screen.intwhichTissue(float x, float y, float z)Check the given voxel belong to which segmentation.- 
Methods inherited from class gov.nih.mipav.view.renderer.J3D.surfaceview.SurfaceRendergetObjBoxSlice_BG, getSculptorPanel, getSliceSpacingCoarse, getSliceSpacingFine, getVolumeTexture, getVolumeTextureCopy, isVolViewMode, keyPressed, keyReleased, keyTyped, propertyChange, removeBoxSlice, setSliceSpacingCoarse, setSliceSpacingFine, setViewTextureAligned, setVolView, showBoxSlice, update3DTriplanar, updateBoxSlicePos, updateBoxSlices, updateCubicTransform, updateOpacityOfOthrogPlanes, updateTransform, useSliceSpacingCoarse, useSliceSpacingFine
 - 
Methods inherited from class gov.nih.mipav.view.renderer.J3D.RenderViewBasecalcImageNormals, createBoxFrame, disableCamera, disposeLocal, getBehaviorGroup, getBound, getBranchGroup, getCanvas, getNormals, getRGBTA, getRGBTB, getSceneRootTG, getSliderEvents, getTriPlanarViewBG, getUniverse, recordMouse, setBackgroundColor, setBoxColor, setRotationAngle, setRotationAxis, writeImage, writeImageAuto
 - 
Methods inherited from class gov.nih.mipav.view.renderer.J3D.VolumeCanvas3DGetTestFrameRate, MeasureTime, paint, postSwap, ResetTime, SetTestFrameRate, supportsTexture3D, update, UpdateFrameCount
 - 
Methods inherited from class javax.media.j3d.Canvas3DaddNotify, getCenterEyeInImagePlate, getDoubleBufferAvailable, getDoubleBufferEnable, getGraphics2D, getGraphicsContext3D, getImagePlateToVworld, getInverseVworldProjection, getLeftEyeInImagePlate, getLeftManualEyeInImagePlate, getLocationOnScreen, getMonoscopicViewPolicy, getOffScreenBuffer, getOffScreenLocation, getOffScreenLocation, getPhysicalHeight, getPhysicalWidth, getPixelLocationFromImagePlate, getPixelLocationInImagePlate, getPixelLocationInImagePlate, getRightEyeInImagePlate, getRightManualEyeInImagePlate, getSceneAntialiasingAvailable, getScreen3D, getStereoAvailable, getStereoEnable, getView, getVworldProjection, getVworldToImagePlate, isOffScreen, isRendererRunning, isShadingLanguageSupported, postRender, preRender, queryProperties, removeNotify, renderField, renderOffScreenBuffer, setDoubleBufferEnable, setLeftManualEyeInImagePlate, setMonoscopicViewPolicy, setOffScreenBuffer, setOffScreenLocation, setOffScreenLocation, setRightManualEyeInImagePlate, setStereoEnable, startRenderer, stopRenderer, swap, waitForOffScreenRendering
 - 
Methods inherited from class java.awt.CanvascreateBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy
 - 
Methods inherited from class java.awt.Componentaction, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
 
- 
 
- 
- 
- 
Field Detail- 
serialVersionUIDprivate static final long serialVersionUID Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
 
 - 
ARTERIAL_SEGpublic static final int ARTERIAL_SEG Value which indicates a voxel that is part of the arterial vasculature tree.- See Also:
- Constant Field Values
 
 - 
VEINOUS_SEGpublic static final int VEINOUS_SEG Value which indicates a voxel in the segmenation image that is part of the veinous vasculature tree.- See Also:
- Constant Field Values
 
 - 
VASCULATURE_SEGpublic static final int VASCULATURE_SEG Value which indicates a voxel in the segmenation image that is part of the vasculature (arterial or veinous).- See Also:
- Constant Field Values
 
 - 
TUMOR_SEGpublic static final int TUMOR_SEG Value which indicates a voxel in the segmenation image that is part of the tumor.- See Also:
- Constant Field Values
 
 - 
BONE_SEGpublic static final int BONE_SEG Value which indicates a bone in the image.- See Also:
- Constant Field Values
 
 - 
ENTRY_POINTpublic static final int ENTRY_POINT Value which indicates the probe entry point color.- See Also:
- Constant Field Values
 
 - 
boxPanelprivate JPanelDisplay boxPanel Dialog to turn bounding box of surface renderer on and off, and to change the color of the frame.
 - 
boxSlicesprivate final ViewJComponentBoxSlice[] boxSlices The frame around the AXIAL, CORONAL, SAGITTAL slices:
 - 
boxSliceVerticesprivate javax.vecmath.Vector3f[][] boxSliceVertices The transformed boxSlices frames used to sample the volume data along diagonal slices:
 - 
bufferFactorprivate int bufferFactor Buffer factor, 1 usually, 4 for color images.
 - 
clipPanelprivate JPanelClip clipPanel Dialog to turn the clipping palne box on and off.
 - 
cubicBehaviorBGprivate javax.media.j3d.BranchGroup cubicBehaviorBG The cubic roational behavior branch group.
 - 
cubicBGprivate javax.media.j3d.BranchGroup cubicBG Cubic branch group.
 - 
cubicRotateprivate com.sun.j3d.utils.behaviors.mouse.MouseRotate cubicRotate Cubic mouse rotation behavior.
 - 
cubicTGprivate javax.media.j3d.TransformGroup cubicTG Cubic transform group.
 - 
currentTransformprivate javax.media.j3d.Transform3D currentTransform Current transform matrix.
 - 
currentTransformTypeprivate int currentTransformType Current transform changes type.
 - 
first6ClipPlaneprivate boolean first6ClipPlane flag indicate the first time 6 clipping plane branch switch.
 - 
firstClipArbiprivate boolean firstClipArbi flag indicate the first time arbitrary clipping plane branch switch.
 - 
geodesicPanelprivate JPanelGeodesic geodesicPanel Geodesic panel.
 - 
imageAprivate ModelImage imageA Current image A.
 - 
imageBprivate ModelImage imageB Current image B.
 - 
isEntryPointprivate boolean isEntryPoint Flag indicates that probe rotate around the entry point or not.
 - 
m_bRenderModeLightingprivate boolean m_bRenderModeLighting Flag set when texture volume is being rendered using lights.
 - 
m_dOriginalScreenScaleprivate double m_dOriginalScreenScale Zoomfactor, zooming in screen scale space, and is relative to original position, this stores that original position:.
 - 
m_kObjBoxSliceProbe_TGprivate final javax.media.j3d.TransformGroup[] m_kObjBoxSliceProbe_TG TransformGroup[] used to rotate the AXIAL, CORONAL, SAGITTAL slice BOXES:
 - 
m_kObjPlaneProbe_TGprivate final javax.media.j3d.TransformGroup[] m_kObjPlaneProbe_TG TransformGroup[] used to rotate the AXIAL, CORONAL, SAGITTAL slice PLANES:
 - 
m_kProbeTransformprivate javax.media.j3d.Transform3D m_kProbeTransform The Transform3D used to position the planes based on the Probe position and angle. The planes are rotates about the intersection between the probe and the plane, which may or may not be in the center of the plane. This transform allows non-origin rotations by conactenating the translation to the origin, rotation, and translation matricies into one transform, which is used to set the Transforms for the TransformGroups above and also to sample the ModelImage data on the diagonal slice:
 - 
m_kSoftwareLightSetprivate SoftwareLightSet m_kSoftwareLightSet Used to compute software lighting of composite texture volume.
 - 
m_kSoftwareMaterialprivate SoftwareMaterial m_kSoftwareMaterial DOCUMENT ME!
 - 
mousePanelprivate JPanelMouse mousePanel Dialog for recording and playing back mouse events.
 - 
mouseRotateBehaviorprivate MouseRotateExt mouseRotateBehavior Mouse Rotate behavior.
 - 
mouseTranslateBehaviorprivate com.sun.j3d.utils.behaviors.mouse.MouseTranslate mouseTranslateBehavior Mouse Translate behavior.
 - 
mouseZoomBehaviorprivate com.sun.j3d.utils.behaviors.mouse.MouseZoom mouseZoomBehavior Mouse Zoom behavior.
 - 
myEyePointprivate final javax.vecmath.Point3d myEyePoint Initial center viewing point of the image.
 - 
objTransSlices_TGprivate final javax.media.j3d.TransformGroup[] objTransSlices_TG Group dictating how the XY plane is translated.
 - 
objPlane_BGprivate final javax.media.j3d.BranchGroup[] objPlane_BG BranchGroup[] containing the image planes.
 - 
parallelRotationprivate boolean parallelRotation Parallel rotation flag.
 - 
parallelScaleT3Dprivate javax.media.j3d.Transform3D parallelScaleT3D Transformation matrix.
 - 
parentprivate ViewJFrameBase parent Controls for the image. ViewJFrameVolumeView
 - 
probePanelprivate JPanelProbe probePanel Dialog for loading and displaying probes.
 - 
resolsprivate float[] resols Resolutions of image A.
 - 
rotationCountprivate int rotationCount fix one bug from threading.
 - 
segmentationImageprivate ModelImage segmentationImage Image with areas marked with values indicating that they are special tissue types (vessels, etc).
 - 
slicePanelprivate JPanelSlices slicePanel Dialog to turn the slices control box on and off.
 - 
surfacePanelprivate JPanelSurface surfacePanel Dialog for loading and displaying surfaces.
 - 
surfaceTexturePanelprivate JPanelSurfaceTexture surfaceTexturePanel Panel for displaying the SurfaceTexture interface:
 - 
switchGroupprivate javax.media.j3d.Switch switchGroup Tri planar view and the 3D texture volume view switch group.
 - 
m_kRFACoordMapsjavax.vecmath.Vector4f[][] m_kRFACoordMaps Texture mapping for the RFA probe rotation:
 - 
transformCubicprivate javax.media.j3d.Transform3D transformCubic Cubic tansform3D.
 - 
transformNode3dprivate javax.media.j3d.Transform3D transformNode3d Setup the initial position of the image, added to ScenerootTG transform group.
 - 
viewprivate javax.media.j3d.View view View object in rendering a three dimensional scene from one viewpoint.
 - 
volBGprivate javax.media.j3d.BranchGroup volBG Volume branch group.
 - 
volRenderBGprivate javax.media.j3d.BranchGroup volRenderBG Volume render branch group.
 - 
volRenderOGprivate javax.media.j3d.OrderedGroup volRenderOG Volume render order group, specify the rendering order.
 - 
volumeDisplayMode3Dprivate boolean volumeDisplayMode3D If true display 3D volume as a 3D texture map or 2D array of texture maps. If false display 3 orthogonal image planes.
 - 
xBoxprivate float xBox Numbers dicatating the sizes of the planes based on the extents and resolutions of the image.
 - 
yBoxprivate float yBox Numbers dicatating the sizes of the planes based on the extents and resolutions of the image.
 - 
zBoxprivate float zBox Numbers dicatating the sizes of the planes based on the extents and resolutions of the image.
 - 
maxBoxprivate float maxBox Numbers dicatating the sizes of the planes based on the extents and resolutions of the image.
 - 
xDimprivate int xDim Dimensions of image A.
 - 
yDimprivate int yDim Dimensions of image A.
 - 
zDimprivate int zDim Dimensions of image A.
 - 
tDimprivate int tDim Dimensions of image A.
 
- 
 - 
Constructor Detail- 
SurfaceViewpublic SurfaceView(ModelImage _imageA, ModelImage _imageB, java.awt.GraphicsConfiguration _config) Constructor called by the VirtualEndoscopyView. Used for instantiation.- Parameters:
- _imageA- ModelImage imageA
- _imageB- ModelImage imageB always null
- _config- GraphicsConfiguration graphics configuration
 
 - 
SurfaceViewpublic SurfaceView(ModelImage _imageA, ModelLUT _LUTa, ModelImage _imageB, ModelLUT _LUTb, ViewJFrameBase _parent, java.awt.GraphicsConfiguration _config, ViewJProgressBar _pBar) Makes a frame and puts the three image planes into it. Creates the scene graph which dictates the behavior of the image planes and surfaces. Initializes the surface dialog and the mouse recorder dialog, so that this original view is saved. When the user opens these dialogs, they have already been created; they are just set to visible.- Parameters:
- _imageA- First image to display, cannot be null.
- _LUTa- LUT of the imageA (if null grayscale LUT is constructed).
- _imageB- Second loaded image, may be null.
- _LUTb- LUT of the imageB, may be null.
- _parent- Frame base reference.
- _config- configuration reference.
- _pBar- progress bar
 
 
- 
 - 
Method Detail- 
actionPerformedpublic void actionPerformed(java.awt.event.ActionEvent event) Calls various methods depending on the action.- Surface - opens the surface dialog
- View - opens the view control dialog
- Mouse - opens the mouse recorder dialog
- About - displays a message about this renderer
- Exit - sets variables to null and disposes of this frame
- X, Y, Z checkboxes - toggles the appropriate image planes on or off
 - Specified by:
- actionPerformedin interface- java.awt.event.ActionListener
- Overrides:
- actionPerformedin class- SurfaceRender
- Parameters:
- event- Event that triggered function.
 
 - 
addCubicControlpublic void addCubicControl() Attach cubic control branch group.- Overrides:
- addCubicControlin class- SurfaceRender
 
 - 
autoCapturepublic void autoCapture() Overrides the parent autoCapture method. Camera use this method to take snapshot automatically.- Overrides:
- autoCapturein class- SurfaceRender
 
 - 
cleanMouseRecorderpublic void cleanMouseRecorder() Clean mouse recorder for any existing event items.- Overrides:
- cleanMouseRecorderin class- SurfaceRender
 
 - 
closepublic void close() Closes the image.- Overrides:
- closein class- SurfaceRender
 
 - 
configureVolumeFramepublic void configureVolumeFrame() Constructs main frame structures for 3 image planes. Makes the LUT if necessary, then sets up the buffer arrays appropriately and calls the constructors for the three image planes.- Overrides:
- configureVolumeFramein class- SurfaceRender
 
 - 
cropClipVolumepublic void cropClipVolume() Crop the region of the clipped volume.- Overrides:
- cropClipVolumein class- SurfaceRender
 
 - 
detachVolRenderpublic void detachVolRender() Detach volume render branch group.- Overrides:
- detachVolRenderin class- SurfaceRender
 
 - 
disableClippingpublic void disableClipping() Diable all the six clipping planes at a time.- Overrides:
- disableClippingin class- SurfaceRender
 
 - 
dispatchSavedEventpublic void dispatchSavedEvent(java.util.EventObject event) Dispatches event to appropriate object.- Overrides:
- dispatchSavedEventin class- SurfaceRender
- Parameters:
- event- Event to dispatch.
 
 - 
disposeLocalpublic void disposeLocal(boolean flag) Sets all variables to null, disposes, and garbage collects.- Overrides:
- disposeLocalin class- SurfaceRender
- Parameters:
- flag- DOCUMENT ME!
 
 - 
drawRFAPointpublic void drawRFAPoint(javax.vecmath.Point3f kPoint) Called from the parent class when the Probe Entry Point is selected in the PlaneRender object.- Overrides:
- drawRFAPointin class- SurfaceRender
- Parameters:
- kPoint- probe entry point in ModelStorageBase Coordinates
 
 - 
enableEntryPointpublic void enableEntryPoint(boolean flag) Set entry point rotation flag.- Overrides:
- enableEntryPointin class- SurfaceRender
- Parameters:
- flag- boolean
 
 - 
enableObjBehaviorpublic void enableObjBehavior(boolean flag) Enable objBehavior branch group.- Overrides:
- enableObjBehaviorin class- SurfaceRender
- Parameters:
- flag-- truemeans turn on,- falsemeans turn off.
 
 - 
getCameraControlpublic JPanelCamera getCameraControl() Get the rotation control dialog box.- Overrides:
- getCameraControlin class- SurfaceRender
- Returns:
- rotationControlDialog rotation control dialog
 
 - 
getClipDialogpublic JPanelClip getClipDialog() Return clipPanel from parent frame.- Overrides:
- getClipDialogin class- SurfaceRender
- Returns:
- clipPanel Clip Dialog box.
 
 - 
getDisplayDialogpublic JPanelDisplay getDisplayDialog() Return the diaplay dialog.- Overrides:
- getDisplayDialogin class- SurfaceRender
- Returns:
- boxPanel Display dialog.
 
 - 
getDisplayMode3Dpublic boolean getDisplayMode3D() Return the current volume display mode.- Overrides:
- getDisplayMode3Din class- SurfaceRender
- Returns:
- volumeDisplayMode3D volume 3D diaplay mode.
 
 - 
getGeodesicPanelpublic JPanelGeodesic getGeodesicPanel() Get the geodesic control panel.- Overrides:
- getGeodesicPanelin class- SurfaceRender
- Returns:
- JPanelGeodesic geodesic control panel.
 
 - 
getImageApublic ModelImage getImageA() Accessor that returns the reference to image A.- Overrides:
- getImageAin class- SurfaceRender
- Returns:
- Image A.
 
 - 
getImageBpublic ModelImage getImageB() Accessor that returns the reference to image B.- Overrides:
- getImageBin class- SurfaceRender
- Returns:
- Image B.
 
 - 
getMouseDialogpublic JPanelMouse getMouseDialog() Return mousePanel from parent frame.- Overrides:
- getMouseDialogin class- SurfaceRender
- Returns:
- mousePanel Mouse Dialog box.
 
 - 
getMouseModepublic int getMouseMode() Gets the mouse pointer mode - standard or fly - from the view dialog.- Overrides:
- getMouseModein class- SurfaceRender
- Returns:
- The mouse pointer mode.
 
 - 
getObjPlane_BGpublic javax.media.j3d.BranchGroup getObjPlane_BG(int orientation) Gets the objXYPlaneBG branch group.- Overrides:
- getObjPlane_BGin class- SurfaceRender
- Returns:
- objXYPlaneBG called by JDialogSliceBox
 
 - 
getOriginalScreenScalepublic double getOriginalScreenScale() Return the original ScreenScale for orthographic projection:- Overrides:
- getOriginalScreenScalein class- SurfaceRender
- Returns:
- DOCUMENT ME!
 
 - 
getParentFramepublic ViewJFrameVolumeView getParentFrame() Return the parent frame.- Overrides:
- getParentFramein class- SurfaceRender
- Returns:
- ViewJFrameVolumeView parent frame
 
 - 
getProbeDialogpublic JPanelProbe getProbeDialog() Return probePanel from parent frame.- Overrides:
- getProbeDialogin class- SurfaceRender
- Returns:
- probePanel Probe Dialog box.
 
 - 
getSceneStatepublic java.lang.Object getSceneState() Gets the current scene state, in terms of what numbers the slices are on and whether or not they are visible.- Overrides:
- getSceneStatein class- SurfaceRender
- Returns:
- A SceneState object with the variables set appropriately.
 
 - 
getSegmentationImagepublic ModelImage getSegmentationImage() Return the segmentation region map image which contains info on where the vascualture, etc are located.- Overrides:
- getSegmentationImagein class- SurfaceRender
- Returns:
- (vessel, etc) segmentation image
 
 - 
getSlicePanelpublic JPanelSlices getSlicePanel() return the current active slicePanel interface.- Overrides:
- getSlicePanelin class- SurfaceRender
- Returns:
- slicePanel called by JDialogMouseRecorder
 
 - 
getSurfaceDialogpublic JPanelSurface getSurfaceDialog() Return surfacePanel from parent frame.- Overrides:
- getSurfaceDialogin class- SurfaceRender
- Returns:
- surfacePanel Surface Dialog box.
 
 - 
getSurfaceTexturepublic JPanelSurfaceTexture getSurfaceTexture() Returns the surface texture panel interface.- Overrides:
- getSurfaceTexturein class- SurfaceRender
- Returns:
- surface texture panel.
 
 - 
getSurfaceTexturePanelpublic javax.swing.JPanel getSurfaceTexturePanel() Returns the surface texture panel mainPanel interface.- Overrides:
- getSurfaceTexturePanelin class- SurfaceRender
- Returns:
- surface texture mainPanel.
 
 - 
getViewDialogpublic JPanelView getViewDialog() Return the viewPanel from parent frame.- Overrides:
- getViewDialogin class- SurfaceRender
- Returns:
- viewPanel View Dialog box.
 
 - 
getVolOpacityPanelpublic JPanelVolumeOpacity getVolOpacityPanel() Return volume opacity control Dialog from parent frame.- Overrides:
- getVolOpacityPanelin class- SurfaceRender
- Returns:
- volOpacityPanel volume opacity dialog box.
 
 - 
getVolRenderBGpublic javax.media.j3d.BranchGroup getVolRenderBG() Return volume render Branch Group.- Overrides:
- getVolRenderBGin class- SurfaceRender
- Returns:
- volRenderBG volume render branch group.
 
 - 
getVolRenderOGpublic javax.media.j3d.OrderedGroup getVolRenderOG() Return volume render Order Group.- Overrides:
- getVolRenderOGin class- SurfaceRender
- Returns:
- volRenderOG volume render order group.
 
 - 
getResolutionspublic float[] getResolutions() Returns the ModelImage resolutions.- Overrides:
- getResolutionsin class- SurfaceRender
- Returns:
- ModelImage resolutions
 
 - 
hideBoxFramepublic void hideBoxFrame() Makes the box frame invisible.- Overrides:
- hideBoxFramein class- SurfaceRender
 
 - 
invokeClippingpublic void invokeClipping() Enable the six clipping planes at a time.- Overrides:
- invokeClippingin class- SurfaceRender
 
 - 
reConfigureVolumeFramepublic void reConfigureVolumeFrame() Constructs main frame structures for 3 image planes. Makes the LUT if necessary, then sets up the buffer arrays appropriately and calls the constructors for the three image planes. Used by the switch between aligned volume texture rendering and the volume texture rendering. Changed to public to allow updating after the volume is sculpted.- Overrides:
- reConfigureVolumeFramein class- SurfaceRender
 
 - 
removeCubicControlpublic void removeCubicControl() Detach cubic control branch group.- Overrides:
- removeCubicControlin class- SurfaceRender
 
 - 
resetAxisXpublic void resetAxisX() Overrides the parent resetImage method. This method reset the surface volume to the original position.- Overrides:
- resetAxisXin class- SurfaceRender
 
 - 
resetAxisYpublic void resetAxisY() Overrides the parent resetImage method. This method reset the surface volume to the original position.- Overrides:
- resetAxisYin class- SurfaceRender
 
 - 
resetImagepublic void resetImage() Overrides the parent resetImage method. This method reset the surface volume to the original position.- Overrides:
- resetImagein class- SurfaceRender
 
 - 
rotateImagepublic void rotateImage() Overrides the rotateImage to rotate the surface volume.- Overrides:
- rotateImagein class- SurfaceRender
 
 - 
saveCropVolumepublic void saveCropVolume() Save crop region with the clipped volume.- Overrides:
- saveCropVolumein class- SurfaceRender
 
 - 
setAlphaBlendpublic void setAlphaBlend(int value) Sets the alpha blending of parameter for two image displays.- Overrides:
- setAlphaBlendin class- SurfaceRender
- Parameters:
- value- Amount [0,100] that is the percentage of Image A to be displayed.
 
 - 
setCompositeModepublic void setCompositeMode() Set the texture renderer to render in composite mode.- Overrides:
- setCompositeModein class- SurfaceRender
 
 - 
setDisplayMode3Dpublic void setDisplayMode3D(boolean flag) Hack. Set the update 3D texture volume win-level flag.- Overrides:
- setDisplayMode3Din class- SurfaceRender
- Parameters:
- flag- true update 3D texture volume with win-level, false not update.
 
 - 
setGUIpublic void setGUI(java.lang.Object scene) Sets the GUI components to their proper state before the action is dispatched from the player.- Overrides:
- setGUIin class- SurfaceRender
- Parameters:
- scene- The state of the scene.
 
 - 
setLightingModepublic void setLightingMode() Set the texture render to render in lighting mode.- Overrides:
- setLightingModein class- SurfaceRender
 
 - 
setLUTapublic void setLUTa(ModelLUT LUT) Accessor that sets the LUT for image A.- Overrides:
- setLUTain class- SurfaceRender
- Parameters:
- LUT- The LUT.
 
 - 
setLUTbpublic void setLUTb(ModelLUT LUT) Accessor that sets the LUT for image B.- Overrides:
- setLUTbin class- SurfaceRender
- Parameters:
- LUT- The LUT
 
 - 
setMaterialShininesspublic void setMaterialShininess(float value) Set the texture material shininess value.- Overrides:
- setMaterialShininessin class- SurfaceRender
- Parameters:
- value- shininess value.
 
 - 
setMouseModepublic void setMouseMode(int mode) Sets the mouse pointer mode - standard or fly - in the view dialog.- Overrides:
- setMouseModein class- SurfaceRender
- Parameters:
- mode- Mode to set to.
 
 - 
setMouseRotateEnablepublic void setMouseRotateEnable(boolean bEnable) Allow disabling or enabling mouse rotation:- Overrides:
- setMouseRotateEnablein class- SurfaceRender
- Parameters:
- bEnable- DOCUMENT ME!
 
 - 
setParallelRotationpublic void setParallelRotation(boolean flag) Set the parallel rotation flag from the viewJFrameVolumeView.- Overrides:
- setParallelRotationin class- SurfaceRender
- Parameters:
- flag-- trueset all the renderer to parallel rotation,- falseparallel rotation mode off.
 
 - 
setProbeTGpublic void setProbeTG(javax.media.j3d.Transform3D kTransform, boolean bTwist)Sets the Transform3D for the slices based on the Probe Transform. To allow rotation about the probe position, and not just the center of the slices, the probe translation and rotation protions of the matrix are separated. First the center of the slice is translated from the probe position to the origin, then rotated, then translated back to the probe position. The three transformations are concatenated into one Transform3D, which is used to display the slices, boxes, and to sample the ModelImage on the diagonal:- Overrides:
- setProbeTGin class- SurfaceRender
- Parameters:
- kTransform- current probe transform
- bTwist- true if there is twist about the probe axis
 
 - 
setRayBasedRenderpublic void setRayBasedRender(VolumeRenderer _rayBasedRender) Set the reference to ray based renderer, raycast renderer or shear warp renderer. This method set the clipping dialog to control the both the 3D texture renderer and raycast based renderer.- Overrides:
- setRayBasedRenderin class- SurfaceRender
- Parameters:
- _rayBasedRender- VolumeRenderer reference
 
 - 
setRenderPerspectivepublic void setRenderPerspective(boolean bEnable) Enable perspective projection rendering; otherwise use orthographic projection.- Overrides:
- setRenderPerspectivein class- SurfaceRender
- Parameters:
- bEnable- true to enable perspective projection
 
 - 
setRGBTApublic void setRGBTA(ModelRGB RGBT) Sets the RGB table for image A.- Overrides:
- setRGBTAin class- SurfaceRender
- Parameters:
- RGBT- New RGB table for image A.
 
 - 
setRGBTBpublic void setRGBTB(ModelRGB RGBT) Sets the RGB table for image B.- Overrides:
- setRGBTBin class- SurfaceRender
- Parameters:
- RGBT- New RGB table for image B.
 
 - 
setSegmentationImagepublic void setSegmentationImage(ModelImage img) Set the image which we can check to see if the probe is hitting anything important (such as vessels, etc).- Overrides:
- setSegmentationImagein class- SurfaceRender
- Parameters:
- img- segmentation image
 
 - 
setCenterpublic void setCenter(javax.vecmath.Vector3f center) Sets the values for JPanelSlices, based on the positions in the PlaneRender class for the AXIAL, CORONAL, and SAGITTAL views.- Overrides:
- setCenterin class- SurfaceRender
- Parameters:
- center- the three slider values in File Coordinates
 
 - 
setSlicepublic void setSlice(int slice) Does nothing but must instantiate for this to implements ViewImageUpdateInterface.- Specified by:
- setSlicein interface- ViewImageUpdateInterface
- Overrides:
- setSlicein class- SurfaceRender
- Parameters:
- slice- DOCUMENT ME!
 
 - 
setSliceColorpublic void setSliceColor(java.awt.Color color, int orientation)Sets the color of the x slice frame.- Overrides:
- setSliceColorin class- SurfaceRender
- Parameters:
- color- Color to set to.
 
 - 
setTimeSlicepublic void setTimeSlice(int slice) Sets the time slice to be displayed and changes the image planes displayed.- Specified by:
- setTimeSlicein interface- ViewImageUpdateInterface
- Overrides:
- setTimeSlicein class- SurfaceRender
- Parameters:
- slice- Indicates image time-slice (4th dimension) to be displayed.
 
 - 
setVolumeDisplayModepublic void setVolumeDisplayMode(boolean volDisplayMode) Accessor that sets the volumeDisplayMode flag. If true image is displayed as a volume. If false image is displayed as three orthogonal planes.- Overrides:
- setVolumeDisplayModein class- SurfaceRender
- Parameters:
- volDisplayMode- if true image is displayed as a volume ( 3D texture or 2D array Texture).
 
 - 
showBoxFramepublic void showBoxFrame() Makes the box frame visible.- Overrides:
- showBoxFramein class- SurfaceRender
 
 - 
stateChangedpublic void stateChanged(javax.swing.event.ChangeEvent e) Sets how the image plane should be displayed depending on value of slider.- Specified by:
- stateChangedin interface- javax.swing.event.ChangeListener
- Overrides:
- stateChangedin class- SurfaceRender
- Parameters:
- e- Event that triggered this function.
 
 - 
switchToSliceViewpublic void switchToSliceView(boolean firstTime) Perform some actions required when switching to the slice renderer.- Overrides:
- switchToSliceViewin class- SurfaceRender
- Parameters:
- firstTime- perform special actions required when switching for the first time
 
 - 
switchToVolViewpublic void switchToVolView(boolean firstTime) Perform some actions required when switching to the volume renderer.- Overrides:
- switchToVolViewin class- SurfaceRender
- Parameters:
- firstTime- perform special actions required when switching for the first time
 
 - 
transformChangedpublic void transformChanged(int type, javax.media.j3d.Transform3D transform)Tells the mouse dialog that the transform has changed. Does not use the type parameter.- Specified by:
- transformChangedin interface- com.sun.j3d.utils.behaviors.mouse.MouseBehaviorCallback
- Overrides:
- transformChangedin class- SurfaceRender
- Parameters:
- type- Type of transform.
- transform- Transform that was changed to.
 
 - 
transformUpdatepublic void transformUpdate(int type, javax.media.j3d.Transform3D transform)The raybased renderer invokes this method when a mouse release event occurs.- Overrides:
- transformUpdatein class- SurfaceRender
- Parameters:
- type- Type of transform.
- transform- Transform that was changed to.
 
 - 
undoCropVolumepublic void undoCropVolume() Undo crop region with the clipped volume.- Overrides:
- undoCropVolumein class- SurfaceRender
 
 - 
transformBoxSlicesprivate void transformBoxSlices(javax.media.j3d.Transform3D kTransform) transform the points used to render the triSliceImages textures.- Parameters:
- kTransform- the Transform3D used to rotate the boxes.
 
 - 
ScreenToModelprivate void ScreenToModel(javax.vecmath.Vector3f screen, javax.vecmath.Vector3f model)Translate from normalized plane coordinates to Model coordinates:- Parameters:
- screen- the input point to be transformed from normalized plane coordinates
- model- the output point in Model coordinates
 
 - 
ModelToScreenpublic void ModelToScreen(javax.vecmath.Vector3f model, javax.vecmath.Vector3f screen)Translate from Model coordinates to normalized plane coordinates:- Overrides:
- ModelToScreenin class- SurfaceRender
- Parameters:
- model- the input point in Model coordinates
- screen- the output point in normalized plane coordinates
 
 - 
getBoxSliceInScreenprivate void getBoxSliceInScreen(javax.vecmath.Vector3f[] screenBoxPoints, int[] boxSliceConstants)sets up the values for the ViewJComponentBoxSlice array. Reorders the three boxSlice (x,y,z) coordinates and mode value into local ModelCoordinates.- Parameters:
- Vector3f- [] the reordered (x,y,z) coordinates for each boxSlice remapped into ModelCoordinates.
- boxSliceConstants- the reordered mode value (X_SLICE, Y_SLICE, Z_SLICE) remapped into ModelCoordinates
 
 - 
updateCubicTransformpublic void updateCubicTransform(javax.media.j3d.Transform3D transform) Update the transform3D for the cubic.- Overrides:
- updateCubicTransformin class- SurfaceRender
- Parameters:
- transform- Transform3D
 
 - 
updateDatapublic void updateData() Called when the underlying data has changed, due to sculpting. Calls the ViewJFrameVolumeView updateSliceData function to update the data in the slices.- Overrides:
- updateDatain class- SurfaceRender
 
 - 
updateImageExtentspublic boolean updateImageExtents() 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:
- updateImageExtentsin interface- ViewImageUpdateInterface
- Overrides:
- updateImageExtentsin class- SurfaceRender
- Returns:
- DOCUMENT ME!
 
 - 
updateImageFromRotationpublic void updateImageFromRotation() Build a image with the current rotational transformation matrix. Step.1 convert the java3D transform matrix into a quaternion component. Step.2 convert the quaternion into image( our world ) coordinate system. Step.3 convert the quaternion into a rotatin matrix. Quaternion q ( w, x, y, z ): rotation of w around the vector ( x, y, z ); Convert the quaternion into a rotation matrix. / \ | 1-2*y^2-2*z^2 2*x*y-2*w*z 2*x*z+2*w*y | | 2*xy+2*w*z 1-2*x^2-2*z^2 2*y*z-2*w*x | | 2*x*z-2*w*y 2*y*z+2*w*x 1-2*x^2-2*y^2 | \ / Step.4 Calling the transform algorithm to extract the image.- Overrides:
- updateImageFromRotationin class- SurfaceRender
 
 - 
updateImagespublic boolean updateImages() This methods calls the componentImage's update method to redraw the screen - fastest of the three update methods.- Specified by:
- updateImagesin interface- ViewImageUpdateInterface
- Overrides:
- updateImagesin class- SurfaceRender
- Returns:
- Confirms successful update.
 
 - 
updateImagespublic boolean updateImages(boolean flag) This methods calls the componentImage's update method to redraw the screen. Without LUT changes.- Specified by:
- updateImagesin interface- ViewImageUpdateInterface
- Overrides:
- updateImagesin class- SurfaceRender
- Parameters:
- flag- forces show to re import image and calc. java image
- Returns:
- boolean confirming successful update
 
 - 
updateImagespublic boolean updateImages(ModelLUT LUTa, ModelLUT LUTb, boolean forceShow, int interpMode) This methods calls the componentImage's update method to redraw the screen. Without LUT changes.- Specified by:
- updateImagesin interface- ViewImageUpdateInterface
- Overrides:
- updateImagesin class- SurfaceRender
- Parameters:
- LUTa- DOCUMENT ME!
- LUTb- DOCUMENT ME!
- forceShow- Forces show to reimport image and calculate java image.
- interpMode- DOCUMENT ME!
- Returns:
- Confirms successful update.
 
 - 
updateLightingpublic void updateLighting() This method is normally called by JPanelLights when a light bulb property changes. It is up to this instance to decide how to update the rendering.- Overrides:
- updateLightingin class- SurfaceRender
 
 - 
updateProbepublic void updateProbe(boolean forceShow, boolean bInterpolate, boolean bReset)Updates the slice textures based on the Probe position and rotation angle. The ModelImage data is sampled along the diagonal, not axis-aligned. bInterpolate indicates whether to use nearest-neighbors or to interpolate the data.- Overrides:
- updateProbein class- SurfaceRender
- Parameters:
- forceShow- Forces triSliceImages[i].show to re-calculate the image texture.
- bInterpolate- uses nearest-neighbors when false, interpolates data when true
- bReset- when true indicates that the probe navigation has been reset and the slice bounding boxes should be displayed, when false the probe is no axis-aligned and the slice bounding boxes are not displayed
 
 - 
updateProbePospublic void updateProbePos() Not used now. Might be used later on.- Overrides:
- updateProbePosin class- SurfaceRender
 
 - 
updateRaycastRenderpublic void updateRaycastRender() Update the raycast based renderer. JPanelSurface mouse release event invokes this method call.- Overrides:
- updateRaycastRenderin class- SurfaceRender
 
 - 
updateShininesspublic void updateShininess(float value) Update the shininess from the JPanelLights.- Overrides:
- updateShininessin class- SurfaceRender
- Parameters:
- value- shininess value.
 
 - 
updateTransformpublic void updateTransform(javax.media.j3d.Transform3D transform) Tells the mouse dialog that the transform has changed. Does not use the type parameter.- Parameters:
- transform- Transform that was changed to.
 
 - 
updateVolumepublic boolean updateVolume(ModelLUT LUTa, ModelLUT LUTb, boolean forceShow) This methods calls the componentImage's update method to redraw the screen.- Overrides:
- updateVolumein class- SurfaceRender
- Parameters:
- LUTa- LUT used to update imageA.
- LUTb- LUT used to update imageB.
- forceShow- Forces show to reimport image and calculate java image.
- Returns:
- Confirms successful update.
 
 - 
whichTissuepublic int whichTissue(float x, float y, float z)Check the given voxel belong to which segmentation.- Overrides:
- whichTissuein class- SurfaceRender
- Parameters:
- x- float given voxel x coordinate
- y- float given voxel y coordinate
- z- float given voxel z coordinate
- Returns:
- int segmentation component type
 
 - 
finalizeprotected void finalize() throws java.lang.ThrowableCalls disposeLocal.- Overrides:
- finalizein class- java.lang.Object
- Throws:
- java.lang.Throwable- DOCUMENT ME!
 
 - 
buildCubicBoxprivate com.sun.j3d.utils.geometry.Box buildCubicBox() Create the rotation control cubic box.- Returns:
- A cube representing the image orientation, with labels painted on the cube faces showing which axis corresponds to which axis in patient coordinates.
 
 - 
buildCubicBranchprivate void buildCubicBranch() Build the cubic branch under the objRootBG.
 - 
configureSliceFrameprivate void configureSliceFrame() Constructs main frame structures for 3 image planes. Makes the LUT if necessary, then sets up the buffer arrays appropriately and calls the constructors for the three image planes.
 - 
generateRFACoordMapsprivate void generateRFACoordMaps() Generates the texture coord map vectors for the three orthogonal slices.
 - 
generateRFACoordMapsprivate javax.vecmath.Vector4f generateRFACoordMaps(int orientation, int texCoord)create texture coordmaps for the texture-mapped planes displaying the triSliceImages.- Parameters:
- orientation- the orientation of the plane for which the texture coordinates are generated (AXIAL, CORONAL, or SAGITTAL)
- texCoord- the dimension along which the texture coordinate varies
 
 - 
createImageSceneGraphprivate void createImageSceneGraph() Creates the scene graph, made up of a branch group parent, a transform group under that which applies mouse behavior and lights to the scene, and three branch groups under the transform group for each of the three image planes. The surfaces that can be added would be children of the transform group. Each image plane has a transform group associated with it and beneath that, a box shape where the texture maps are applied. The shape is what is actually displayed.
 - 
setupEyeprivate void setupEye() Set up the center point of the red line boxframe.
 - 
updateTextureVolumeRenderprivate void updateTextureVolumeRender() Determine the current viewing transformation and pass it to the texture volume renderer so that it can update itself.
 - 
updateViewScreenScaleprivate void updateViewScreenScale(javax.media.j3d.Transform3D kTransform) This function calculates the scale factor for zooming in parallel projection. The scenario is to calculate the distance between the origin boxframe center and tranformed boxframe center. This distance is used to compute the screen scale factor.- Parameters:
- kTransform- The tranformation matrix from tranformChanged().
 
 - 
updateParentpublic void updateParent() - Overrides:
- updateParentin class- SurfaceRender
 
 
- 
 
-