VTK
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
vtkEncodedGradientEstimator Class Reference

Superclass for gradient estimation. More...

#include <vtkEncodedGradientEstimator.h>

Inheritance diagram for vtkEncodedGradientEstimator:
Inheritance graph
[legend]
Collaboration diagram for vtkEncodedGradientEstimator:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkObject Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkEncodedGradientEstimatorNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
void Update (void)
unsigned short * GetEncodedNormals (void)
unsigned char * GetGradientMagnitudes (void)
virtual int GetUseCylinderClip ()
intGetCircleLimits ()
virtual intGetInputSize ()
virtual void GetInputSize (int data[3])
virtual floatGetInputAspect ()
virtual void GetInputAspect (float data[3])
virtual void SetInputData (vtkImageData *)
virtual vtkImageDataGetInputData ()
virtual void SetGradientMagnitudeScale (float)
virtual float GetGradientMagnitudeScale ()
virtual void SetGradientMagnitudeBias (float)
virtual float GetGradientMagnitudeBias ()
virtual void SetBoundsClip (int)
virtual int GetBoundsClip ()
virtual void BoundsClipOn ()
virtual void BoundsClipOff ()
virtual void SetBounds (int, int, int, int, int, int)
virtual void SetBounds (int[6])
virtual intGetBounds ()
virtual void GetBounds (int data[6])
int GetEncodedNormalIndex (vtkIdType xyz_index)
int GetEncodedNormalIndex (int x_index, int y_index, int z_index)
virtual void SetNumberOfThreads (int)
virtual int GetNumberOfThreads ()
void SetDirectionEncoder (vtkDirectionEncoder *direnc)
virtual vtkDirectionEncoderGetDirectionEncoder ()
virtual void SetComputeGradientMagnitudes (int)
virtual int GetComputeGradientMagnitudes ()
virtual void ComputeGradientMagnitudesOn ()
virtual void ComputeGradientMagnitudesOff ()
virtual void SetCylinderClip (int)
virtual int GetCylinderClip ()
virtual void CylinderClipOn ()
virtual void CylinderClipOff ()
virtual float GetLastUpdateTimeInSeconds ()
virtual float GetLastUpdateTimeInCPUSeconds ()
void SetZeroNormalThreshold (float v)
virtual float GetZeroNormalThreshold ()
virtual void SetZeroPad (int)
virtual int GetZeroPad ()
virtual void ZeroPadOn ()
virtual void ZeroPadOff ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static
vtkEncodedGradientEstimator
SafeDownCast (vtkObjectBase *o)

Public Attributes

vtkImageDataInputData
unsigned short * EncodedNormals
int EncodedNormalsSize [3]
unsigned char * GradientMagnitudes
vtkTimeStamp BuildTime

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkEncodedGradientEstimator ()
 ~vtkEncodedGradientEstimator ()
virtual void ReportReferences (vtkGarbageCollector *)
virtual void UpdateNormals (void)=0
void ComputeCircleLimits (int size)

Protected Attributes

int NumberOfThreads
vtkMultiThreaderThreader
vtkDirectionEncoderDirectionEncoder
float GradientMagnitudeScale
float GradientMagnitudeBias
float LastUpdateTimeInSeconds
float LastUpdateTimeInCPUSeconds
float ZeroNormalThreshold
int CylinderClip
intCircleLimits
int CircleLimitsSize
int UseCylinderClip
int BoundsClip
int Bounds [6]
int InputSize [3]
float InputAspect [3]
int ComputeGradientMagnitudes
int ZeroPad

Detailed Description

Superclass for gradient estimation.

vtkEncodedGradientEstimator is an abstract superclass for gradient estimation. It takes a scalar input of vtkImageData, computes a gradient value for every point, and encodes this value into a three byte value (2 for direction, 1 for magnitude) using the vtkDirectionEncoder. The direction encoder is defaulted to a vtkRecursiveSphereDirectionEncoder, but can be overridden with the SetDirectionEncoder method. The scale and the bias values for the gradient magnitude are used to convert it into a one byte value according to v = m*scale + bias where m is the magnitude and v is the resulting one byte value.

See also:
vtkFiniteDifferenceGradientEstimator vtkDirectionEncoder

Definition at line 43 of file vtkEncodedGradientEstimator.h.


Member Typedef Documentation

Reimplemented from vtkObject.

Reimplemented in vtkFiniteDifferenceGradientEstimator.

Definition at line 46 of file vtkEncodedGradientEstimator.h.


Constructor & Destructor Documentation


Member Function Documentation

static int vtkEncodedGradientEstimator::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented in vtkFiniteDifferenceGradientEstimator.

virtual int vtkEncodedGradientEstimator::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented in vtkFiniteDifferenceGradientEstimator.

Reimplemented from vtkObject.

Reimplemented in vtkFiniteDifferenceGradientEstimator.

virtual vtkObjectBase* vtkEncodedGradientEstimator::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkObject.

Reimplemented in vtkFiniteDifferenceGradientEstimator.

Reimplemented from vtkObject.

Reimplemented in vtkFiniteDifferenceGradientEstimator.

void vtkEncodedGradientEstimator::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkObject.

Reimplemented in vtkFiniteDifferenceGradientEstimator.

Set/Get the scalar input for which the normals will be calculated. Note that this call does not setup a pipeline connection. vtkEncodedGradientEstimator is not an algorithm and does not update its input. If you are directly using this class, you may need to manually update the algorithm that produces this data object.

Set/Get the scalar input for which the normals will be calculated. Note that this call does not setup a pipeline connection. vtkEncodedGradientEstimator is not an algorithm and does not update its input. If you are directly using this class, you may need to manually update the algorithm that produces this data object.

Set/Get the scale and bias for the gradient magnitude

Set/Get the scale and bias for the gradient magnitude

Set/Get the scale and bias for the gradient magnitude

Set/Get the scale and bias for the gradient magnitude

virtual void vtkEncodedGradientEstimator::SetBoundsClip ( int  ) [virtual]

Turn on / off the bounding of the normal computation by the this->Bounds bounding box

Turn on / off the bounding of the normal computation by the this->Bounds bounding box

virtual void vtkEncodedGradientEstimator::BoundsClipOn ( ) [virtual]

Turn on / off the bounding of the normal computation by the this->Bounds bounding box

virtual void vtkEncodedGradientEstimator::BoundsClipOff ( ) [virtual]

Turn on / off the bounding of the normal computation by the this->Bounds bounding box

virtual void vtkEncodedGradientEstimator::SetBounds ( int  ,
int  ,
int  ,
int  ,
int  ,
int   
) [virtual]

Set / Get the bounds of the computation (used if this->ComputationBounds is 1.) The bounds are specified xmin, xmax, ymin, ymax, zmin, zmax.

virtual void vtkEncodedGradientEstimator::SetBounds ( int  [6]) [virtual]

Set / Get the bounds of the computation (used if this->ComputationBounds is 1.) The bounds are specified xmin, xmax, ymin, ymax, zmin, zmax.

Set / Get the bounds of the computation (used if this->ComputationBounds is 1.) The bounds are specified xmin, xmax, ymin, ymax, zmin, zmax.

virtual void vtkEncodedGradientEstimator::GetBounds ( int  data[6]) [virtual]

Set / Get the bounds of the computation (used if this->ComputationBounds is 1.) The bounds are specified xmin, xmax, ymin, ymax, zmin, zmax.

Recompute the encoded normals and gradient magnitudes.

Get the encoded normals.

Get the encoded normal at an x,y,z location in the volume

int vtkEncodedGradientEstimator::GetEncodedNormalIndex ( int  x_index,
int  y_index,
int  z_index 
)

Get the encoded normal at an x,y,z location in the volume

Get the gradient magnitudes

Get/Set the number of threads to create when encoding normals This defaults to the number of available processors on the machine

Get/Set the number of threads to create when encoding normals This defaults to the number of available processors on the machine

Set / Get the direction encoder used to encode normal directions to fit within two bytes

Set / Get the direction encoder used to encode normal directions to fit within two bytes

If you don't want to compute gradient magnitudes (but you do want normals for shading) this can be used. Be careful - if if you a non-constant gradient magnitude transfer function and you turn this on, it may crash

If you don't want to compute gradient magnitudes (but you do want normals for shading) this can be used. Be careful - if if you a non-constant gradient magnitude transfer function and you turn this on, it may crash

If you don't want to compute gradient magnitudes (but you do want normals for shading) this can be used. Be careful - if if you a non-constant gradient magnitude transfer function and you turn this on, it may crash

If you don't want to compute gradient magnitudes (but you do want normals for shading) this can be used. Be careful - if if you a non-constant gradient magnitude transfer function and you turn this on, it may crash

virtual void vtkEncodedGradientEstimator::SetCylinderClip ( int  ) [virtual]

If the data in each slice is only contained within a circle circumscribed within the slice, and the slice is square, then don't compute anything outside the circle. This circle through the slices forms a cylinder.

If the data in each slice is only contained within a circle circumscribed within the slice, and the slice is square, then don't compute anything outside the circle. This circle through the slices forms a cylinder.

virtual void vtkEncodedGradientEstimator::CylinderClipOn ( ) [virtual]

If the data in each slice is only contained within a circle circumscribed within the slice, and the slice is square, then don't compute anything outside the circle. This circle through the slices forms a cylinder.

If the data in each slice is only contained within a circle circumscribed within the slice, and the slice is square, then don't compute anything outside the circle. This circle through the slices forms a cylinder.

Get the time required for the last update in seconds or cpu seconds

Get the time required for the last update in seconds or cpu seconds

Definition at line 139 of file vtkEncodedGradientEstimator.h.

Set / Get the ZeroNormalThreshold - this defines the minimum magnitude of a gradient that is considered sufficient to define a direction. Gradients with magnitudes at or less than this value are given a "zero normal" index. These are handled specially in the shader, and you can set the intensity of light for these zero normals in the gradient shader.

Set / Get the ZeroNormalThreshold - this defines the minimum magnitude of a gradient that is considered sufficient to define a direction. Gradients with magnitudes at or less than this value are given a "zero normal" index. These are handled specially in the shader, and you can set the intensity of light for these zero normals in the gradient shader.

virtual void vtkEncodedGradientEstimator::SetZeroPad ( int  ) [virtual]

Assume that the data value outside the volume is zero when computing normals.

Assume that the data value outside the volume is zero when computing normals.

virtual void vtkEncodedGradientEstimator::ZeroPadOn ( ) [virtual]

Assume that the data value outside the volume is zero when computing normals.

virtual void vtkEncodedGradientEstimator::ZeroPadOff ( ) [virtual]

Assume that the data value outside the volume is zero when computing normals.

virtual void vtkEncodedGradientEstimator::GetInputSize ( int  data[3]) [virtual]
virtual void vtkEncodedGradientEstimator::GetInputAspect ( float  data[3]) [virtual]
virtual void vtkEncodedGradientEstimator::ReportReferences ( vtkGarbageCollector ) [protected, virtual]

Reimplemented from vtkObjectBase.

virtual void vtkEncodedGradientEstimator::UpdateNormals ( void  ) [protected, pure virtual]

Member Data Documentation

Definition at line 157 of file vtkEncodedGradientEstimator.h.

Definition at line 170 of file vtkEncodedGradientEstimator.h.

Definition at line 171 of file vtkEncodedGradientEstimator.h.

Definition at line 174 of file vtkEncodedGradientEstimator.h.

Definition at line 177 of file vtkEncodedGradientEstimator.h.

Definition at line 191 of file vtkEncodedGradientEstimator.h.

Definition at line 193 of file vtkEncodedGradientEstimator.h.

Definition at line 195 of file vtkEncodedGradientEstimator.h.

Definition at line 199 of file vtkEncodedGradientEstimator.h.

Definition at line 200 of file vtkEncodedGradientEstimator.h.

Definition at line 202 of file vtkEncodedGradientEstimator.h.

Definition at line 203 of file vtkEncodedGradientEstimator.h.

Definition at line 205 of file vtkEncodedGradientEstimator.h.

Definition at line 207 of file vtkEncodedGradientEstimator.h.

Definition at line 208 of file vtkEncodedGradientEstimator.h.

Definition at line 209 of file vtkEncodedGradientEstimator.h.

Definition at line 210 of file vtkEncodedGradientEstimator.h.

Definition at line 213 of file vtkEncodedGradientEstimator.h.

Definition at line 214 of file vtkEncodedGradientEstimator.h.

Definition at line 216 of file vtkEncodedGradientEstimator.h.

Definition at line 217 of file vtkEncodedGradientEstimator.h.

Definition at line 219 of file vtkEncodedGradientEstimator.h.

Definition at line 221 of file vtkEncodedGradientEstimator.h.


The documentation for this class was generated from the following file: