Class RayCastColor
- java.lang.Object
-
- gov.nih.mipav.view.renderer.J3D.volumeview.Renderer
-
- gov.nih.mipav.view.renderer.J3D.volumeview.RayCastRenderer
-
- gov.nih.mipav.view.renderer.J3D.volumeview.RayCastColor
-
- All Implemented Interfaces:
RendererInterfaceColor
- Direct Known Subclasses:
RayCastColorComposite
,RayCastColorDRR
,RayCastColorLighting
,RayCastColorMIP
,RayCastColorReflection
public abstract class RayCastColor extends RayCastRenderer implements RendererInterfaceColor
A ray tracer for 3D color images.
-
-
Field Summary
Fields Modifier and Type Field Description protected byte[]
m_acImageA
DOCUMENT ME!protected byte[]
m_acImageB
DOCUMENT ME!protected byte[]
m_acImageG
DOCUMENT ME!protected byte[]
m_acImageR
color channels of the image (R = red, G = green, B = blue, A = alpha).(package private) RendererMapColor
m_kMap
map to convert RGB channel values to intensity.-
Fields inherited from class gov.nih.mipav.view.renderer.J3D.volumeview.RayCastRenderer
blue, clipRegionXNeg, clipRegionXPos, clipRegionYNeg, clipRegionYPos, clipRegionZNeg, clipRegionZPos, fXDelta, fYDelta, fZDelta, green, m_fInvXDelta, m_fInvYDelta, m_fInvZDelta, m_kExtent, m_kMDir, m_kMOrig, m_kP0, m_kP1, m_kPDiff, m_kV, m_kWDir, m_kWOrig, opacityFunctA, opacityFunctB, red, vertexDiffuse, vertexSpecular, xLUTa, xLUTb, yLUTa, yLUTb
-
Fields inherited from class gov.nih.mipav.view.renderer.J3D.volumeview.Renderer
m_aiRImage, m_akAxis, m_akNormal, m_bParallel, m_bReloadInput, m_fAngle, m_fExtreme, m_fFMult, m_fGamma, m_fNear, m_fRScaleX, m_fRScaleY, m_fXTrn, m_fYTrn, m_fZoom, m_iMaxBound, m_iMinBound, m_iRBound, m_iXBound, m_iXBoundM1, m_iXBoundM2, m_iXYProduct, m_iXYZProduct, m_iYBound, m_iYBoundM1, m_iYBoundM2, m_iZBound, m_iZBoundM1, m_iZBoundM2, m_kBackgroundColor, m_kEyeModel, m_kEyeWorld, m_kImage, m_kLightSet, m_kMaterial, m_kRotate
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
RayCastColor(ModelImage kImage, int iRBound, int[] aiRImage)
The constructor for the ray tracer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
disposeLocal(boolean flag)
Clean memory.protected void
finalize()
Calls dispose.boolean
hasInputData()
Return indication as to whether or not the input image data has been specified yet.boolean
hasInputMap()
Return indication as to whether or not a map has been defined for mapping input colors to intensity.protected 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.void
setInput(byte[] acImageR, byte[] acImageG, byte[] acImageB, byte[] acImageA)
Specify the input volume to use for rendering.void
setInputMap(RendererMapColor kMap)
Specify the lookup table to use for mapping input RGB colors to intensity.-
Methods inherited from class gov.nih.mipav.view.renderer.J3D.volumeview.RayCastRenderer
getAxis, interpolate, processRay, processRay, rotateBy, rotateFrameBy, setAxis, setBlurFlag, setDiffuse, setOpacityFunctions, setSpecular, setXBoundNeg, setXBoundPos, setYBoundNeg, setYBoundPos, setZBoundNeg, setZBoundPos, trace, traceBlockRays
-
Methods inherited from class gov.nih.mipav.view.renderer.J3D.volumeview.Renderer
computeIntegralNormalizationFactor, convertWorldToModel, disposeLocal, getAngle, getBackgroundColor, getExtreme, getEyeDist, getEyePoint, getGamma, getMaxBound, getMinBound, getNear, getParallel, getXBound, getXTranslate, getYBound, getYTranslate, getZBound, getZoom, hasNormals, orthonormalize, reloadInputData, reloadInputData, setAngle, setBackgroundColor, setExtreme, setEyeDist, setGamma, setLighting, setMaterialShininess, setNear, setNearAndAngle, setNormals, setParallel, setXTranslate, setYTranslate, setZoom, traceInit, usesNormals
-
-
-
-
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 imageiRBound
- the dimension of the square 2D renderer imageaiRImage
- 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 classRayCastRenderer
- 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 interfaceRendererInterfaceColor
- Specified by:
hasInputData
in classRenderer
- 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 interfaceRendererInterfaceColor
- 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 interfaceRendererInterfaceColor
- 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 interfaceRendererInterfaceColor
- 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 classRayCastRenderer
- 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.
-
-