Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

mitkOoCVolumeRendererShearWarp Class Reference

mitkVolumeRendererShearWarp - a concrete volume renderer for rendering a volume More...

#include <mitkOoCVolumeRendererShearWarp.h>

Inherits mitkVolumeRenderer.

Inheritance diagram for mitkOoCVolumeRendererShearWarp:

Inheritance graph
[legend]
Collaboration diagram for mitkOoCVolumeRendererShearWarp:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual void PrintSelf (ostream &os)
virtual int Render (mitkScene *scene, mitkVolumeModel *vol)
void SetGradientEstimator (mitkEncodedGradientEstimator *gradest)
mitkEncodedGradientEstimatorGetGradientEstimator ()
mitkEncodedGradientShaderGetEncodedGradientShader ()
void SetPerspectiveShearer (mitkOoCVolumeShearFunction *shearer)
void SetParallelShearer (mitkOoCVolumeShearFunction *shearer)
mitkOoCVolumeShearFunctionGetPerspectiveShearer ()
mitkOoCVolumeShearFunctionGetParallelShearer ()
void SetImageSampleDistance (float val)
float GetImageSampleDistance ()
float GetMinimumImageSampleDistance ()
float GetMaximumImageSampleDistance ()
bool GetAutoAdjustImageSampleDistances ()
void AutoAdjustImageSampleDistancesOn ()
void AutoAdjustImageSampleDistancesOff ()
virtual float GetGradientMagnitudeScale ()
virtual float GetGradientMagnitudeBias ()
void SetModeIntegral ()
void SetModeMop ()
int GetMode ()
void SetLevelOfDetail (bool lod)

Detailed Description

mitkVolumeRendererShearWarp - a concrete volume renderer for rendering a volume

mitkVolumeRendererShearWarp is a concrete volume renderer for rendering a volume using shear-warp technique.

Our implemented algorithm references to:
[1]Lacroute P, Levoy M. Fast volume rendering using a shear-warp factorization of the viewing transformation. Computer Graphics Proceedings, 1994.
[2]Lacroute P. Fast volume rendering using a shear-warp factorization of the viewing transformation[R]. CSL-TR-95- 678,Stanford University,1995.
However, this class just implements brute-force shear-warp algorithm, that is, it does not use run-length encoding technique as Lacroute.
Its rendering speed is generally faster than mitkVolumeRendererRayCasting and mitkVolumeRendererSplatting, and the rendering effect is between them.

The default perspective shearer is the object of mitkVolumeShearPerspective, and the default parallel shearer is the object of mitkVolumeShearParallel. Particular perspective and parallel shearers are also allowed by calling SetPerspectiveShearer() and SetParallelShearer().

Two rendering modes are alternative, one is integral mode, and the other is MOP mode, you can switch the mode using SetModeIntegral() and SetModeMop().


Member Function Documentation

void mitkOoCVolumeRendererShearWarp::AutoAdjustImageSampleDistancesOff  )  [inline]
 

Set image sample distances auto-adjusting off.

void mitkOoCVolumeRendererShearWarp::AutoAdjustImageSampleDistancesOn  )  [inline]
 

Set image sample distances auto-adjusting on.

bool mitkOoCVolumeRendererShearWarp::GetAutoAdjustImageSampleDistances  )  [inline]
 

Get whether to auto-adjust the image sample distances.

Returns:
Return a value which indicates whether to auto-adjust the sample distances (1 means true, 0 means false).

mitkEncodedGradientShader* mitkOoCVolumeRendererShearWarp::GetEncodedGradientShader  )  [inline]
 

Get the gradient shader.

Returns:
Return the gradient shader.

mitkEncodedGradientEstimator* mitkOoCVolumeRendererShearWarp::GetGradientEstimator  )  [inline]
 

Get the gradient estimator used to estimate normals.

Returns:
Return the gradient estimator used to estimate normals.

virtual float mitkOoCVolumeRendererShearWarp::GetGradientMagnitudeBias  )  [virtual]
 

Get gradient magnitude bias.

Returns:
Return the gradient magnitude bias.

Reimplemented from mitkVolumeRenderer.

virtual float mitkOoCVolumeRendererShearWarp::GetGradientMagnitudeScale  )  [virtual]
 

Get gradient magnitude scale.

Returns:
Return the gradient magnitude scale.

Reimplemented from mitkVolumeRenderer.

float mitkOoCVolumeRendererShearWarp::GetImageSampleDistance  )  [inline]
 

Get the sample distance in the image plane.

Returns:
Return the image sample distance in the image plane.

float mitkOoCVolumeRendererShearWarp::GetMaximumImageSampleDistance  )  [inline]
 

Get the maximum image sample distance in the image plane.

Returns:
Return the maximum sample distance in the image plane.

float mitkOoCVolumeRendererShearWarp::GetMinimumImageSampleDistance  )  [inline]
 

Get the minimum image sample distance in the image plane.

Returns:
Return the minimum sample distance in the image plane.

int mitkOoCVolumeRendererShearWarp::GetMode  )  [inline]
 

Get the volume rendering mode.

Returns:
Return 0 if the volume rendering mode is integral projection. Return 1 if the volume rendering mode is MOP(maximum opacity projection).

mitkOoCVolumeShearFunction* mitkOoCVolumeRendererShearWarp::GetParallelShearer  ) 
 

Get the Parallel shearer.

Returns:
Return the current Parallel shearer.

mitkOoCVolumeShearFunction* mitkOoCVolumeRendererShearWarp::GetPerspectiveShearer  ) 
 

Get the perspective shearer.

Returns:
Return the current perspective shearer.

virtual void mitkOoCVolumeRendererShearWarp::PrintSelf ostream &  os  )  [virtual]
 

Print the necessary information about this object for the debugging purpose.

Parameters:
os The specified ostream to output information.

Reimplemented from mitkVolumeRenderer.

virtual int mitkOoCVolumeRendererShearWarp::Render mitkScene scene,
mitkVolumeModel vol
[virtual]
 

Internal method. Don't call it directly.

Implements mitkVolumeRenderer.

void mitkOoCVolumeRendererShearWarp::SetGradientEstimator mitkEncodedGradientEstimator gradest  )  [inline]
 

Set the gradient estimator used to estimate normals.

Parameters:
gradest Represent the gradient estimator used to estimate normals.

void mitkOoCVolumeRendererShearWarp::SetImageSampleDistance float  val  )  [inline]
 

Set the sample distance in the image plane.

Parameters:
val Specify the sample distance in the image plane.

void mitkOoCVolumeRendererShearWarp::SetLevelOfDetail bool  lod  )  [inline]
 

Set level-of-detail display.

Parameters:
lod The status of level-of-detail. If lod is true, it will display level-of-detail volume rendering image, that is, the image sampling rate is enlarged when the scene is scaled so that you will get a more detailed image. however, the rendering speed will be slowed accordingly. If lod is false, it will display volume rendering image with the same detail, that is, the image sampling rate will not be changed.
Note:
In default, it renders volume without level-of-detail.

void mitkOoCVolumeRendererShearWarp::SetModeIntegral  )  [inline]
 

Set volume rendering mode to be integral projection.

void mitkOoCVolumeRendererShearWarp::SetModeMop  )  [inline]
 

Set volume rendering mode to be MOP(maximum opacity projection).

Note:
Each image pixel stands for maximum opacity element in the ray direction, and when opacity is linear with intensity, MOP is equal to MIP(maximum intensity projection).

void mitkOoCVolumeRendererShearWarp::SetParallelShearer mitkOoCVolumeShearFunction shearer  ) 
 

Set Parallel shearer to shear and composite the volume.

Parameters:
shearer Represent the Parallel shearer.

void mitkOoCVolumeRendererShearWarp::SetPerspectiveShearer mitkOoCVolumeShearFunction shearer  ) 
 

Set perspective shearer to shear and composite the volume.

Parameters:
shearer Represent the perspective shearer.


The documentation for this class was generated from the following file:
Generated on Tue Feb 25 15:04:33 2014 for MITK (Medical Imaging ToolKit) by  doxygen 1.4.3