Class VolumeRendererRayCast

  • All Implemented Interfaces:
    com.sun.j3d.utils.behaviors.mouse.MouseBehaviorCallback, ViewImageUpdateInterface, java.awt.event.ActionListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener

    public class VolumeRendererRayCast
    extends VolumeRenderer
    implements java.awt.event.MouseMotionListener, java.awt.event.MouseListener
    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.
    Author:
    Matthew J. McAuliffe, Ph.D.
    See Also:
    ViewJComponentSurfaceImage, JDialogSurface, JDialogView, JDialogMouseRecorder, Serialized Form
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Use serialVersionUID for interoperability.
        See Also:
        Constant Field Values
    • Constructor Detail

      • VolumeRendererRayCast

        public VolumeRendererRayCast​(ModelImage _imageA,
                                     ModelLUT _LUTa,
                                     ModelImage _imageB,
                                     ModelLUT _LUTb,
                                     SurfaceRender surfaceRender,
                                     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.
        surfaceRender - Surface-based renderer
        _config - Graphics configuration
        _pBar - volume render progress bar reference.
    • Method Detail

      • autoCapture

        public void autoCapture()
        Override the parent autoCapture method to capture MIP image volume.
        Overrides:
        autoCapture in class VolumeRenderer
      • setBlurFlag

        public void setBlurFlag​(boolean flag)
        Blur the result ray traced image or not.
        Parameters:
        flag - true bluring to reduce contract, false not bluring
      • setVertexDiffuse

        public void setVertexDiffuse​(java.awt.Color color)
        Set the vertex diffuse color.
        Parameters:
        color - Color
      • setVertexSpecular

        public void setVertexSpecular​(java.awt.Color color)
        Set the vertex specular color.
        Parameters:
        color - Color
      • stateChanged

        public void stateChanged​(javax.swing.event.ChangeEvent e)
        Sets how the image plane should be displayed depending on value of slider.
        Specified by:
        stateChanged in interface javax.swing.event.ChangeListener
        Specified by:
        stateChanged in class VolumeRenderer
        Parameters:
        e - Event that triggered this function.
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        Call from the parent frame to dispose memory.
        Overrides:
        finalize in class VolumeRenderer
        Throws:
        java.lang.Throwable - DOCUMENT ME!