Class RayCastColor

    • Field Detail

      • m_acImageA

        protected byte[] m_acImageA
        DOCUMENT ME!
      • m_acImageB

        protected byte[] m_acImageB
        DOCUMENT ME!
      • m_acImageG

        protected byte[] m_acImageG
        DOCUMENT ME!
      • m_acImageR

        protected byte[] m_acImageR
        color channels of the image (R = red, G = green, B = blue, A = alpha).
      • m_kMap

        RendererMapColor m_kMap
        map to convert RGB channel values to intensity.
    • Constructor Detail

      • RayCastColor

        protected RayCastColor​(ModelImage kImage,
                               int iRBound,
                               int[] aiRImage)
        The constructor for the ray tracer. Currently, the only client of this class is VolumeRenderer.
        Parameters:
        kImage - the 3D image
        iRBound - the dimension of the square 2D renderer image
        aiRImage - The rendered image data stored in row-major order. Each integer pixel represents an RGB color in the format B | (G
    • Method Detail

      • disposeLocal

        public void disposeLocal​(boolean flag)
        Clean memory.
        Overrides:
        disposeLocal in class RayCastRenderer
        Parameters:
        flag - is true call the super.disposeLocal
      • hasInputData

        public boolean hasInputData()
        Return indication as to whether or not the input image data has been specified yet.
        Specified by:
        hasInputData in interface RendererInterfaceColor
        Specified by:
        hasInputData in class Renderer
        Returns:
        boolean True if the input image data has been specified.
      • hasInputMap

        public boolean hasInputMap()
        Return indication as to whether or not a map has been defined for mapping input colors to intensity.
        Specified by:
        hasInputMap in interface RendererInterfaceColor
        Returns:
        boolean True if such a map has been defined.
      • setInput

        public void setInput​(byte[] acImageR,
                             byte[] acImageG,
                             byte[] acImageB,
                             byte[] acImageA)
        Specify the input volume to use for rendering. The image data stored in order of slice indices, each slice stored in row-major order. That is, slice z=0 is stored first, slice z=1 is stored next, and so on. In slice z=0, the y=0 row is stored first, the y=1 row is stored next, and so on.
        Specified by:
        setInput in interface RendererInterfaceColor
        Parameters:
        acImageR - byte[] Array of byte red values for volume.
        acImageG - byte[] Array of byte green values for volume.
        acImageB - byte[] Array of byte blue values for volume.
        acImageA - byte[] Array of byte alpha values for volume.
      • setInputMap

        public void setInputMap​(RendererMapColor kMap)
        Specify the lookup table to use for mapping input RGB colors to intensity.
        Specified by:
        setInputMap in interface RendererInterfaceColor
        Parameters:
        kMap - Look up table for mapping the color values to intensity.
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        Calls dispose.
        Overrides:
        finalize in class RayCastRenderer
        Throws:
        java.lang.Throwable - DOCUMENT ME!
      • interpolateColor

        protected final int interpolateColor​(javax.vecmath.Point3f kP)
        Trilinear interpolation of the image to produce image values at points P that are not at the integer voxel locations.
        Parameters:
        kP - the spatial point to be assigned an interpolated value
        Returns:
        The interpolated color value for the point. If kP is not within the bounding box of the image, a value of -1 is returned. Each of the RGB colors is stored in 8 bits with red in bits 16-23, green in bits 8-15, and blue in bits 0-7.