Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

vtkFiniteDifferenceGradientEstimator Class Reference

Use finite differences to estimate gradient. More...

#include <vtkFiniteDifferenceGradientEstimator.h>

Inheritance diagram for vtkFiniteDifferenceGradientEstimator:

Inheritance graph
[legend]
Collaboration diagram for vtkFiniteDifferenceGradientEstimator:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent index)
virtual void SetSampleSpacingInVoxels (int)
virtual int GetSampleSpacingInVoxels ()

Static Public Methods

int IsTypeOf (const char *type)
vtkFiniteDifferenceGradientEstimator * SafeDownCast (vtkObject *o)
vtkFiniteDifferenceGradientEstimator * New ()

Public Attributes

int SampleSpacingInVoxels

Protected Methods

 vtkFiniteDifferenceGradientEstimator ()
 ~vtkFiniteDifferenceGradientEstimator ()
 vtkFiniteDifferenceGradientEstimator (const vtkFiniteDifferenceGradientEstimator &)
void operator= (const vtkFiniteDifferenceGradientEstimator &)
void UpdateNormals (void)

Detailed Description

Use finite differences to estimate gradient.

Date:
2000/12/10 20:08:37
Revision:
1.13

vtkFiniteDifferenceGradientEstimator is a concrete subclass of vtkEncodedGradientEstimator that uses a central differences technique to estimate the gradient. The gradient at some sample location (x,y,z) would be estimated by:

nx = (f(x-dx,y,z) - f(x+dx,y,z)) / 2*dx; ny = (f(x,y-dy,z) - f(x,y+dy,z)) / 2*dy; nz = (f(x,y,z-dz) - f(x,y,z+dz)) / 2*dz;

This value is normalized to determine a unit direction vector and a magnitude. The normal is computed in voxel space, and dx = dy = dz = SampleSpacingInVoxels. A scaling factor is applied to convert this normal from voxel space to world coordinates.

See also:
vtkEncodedGradientEstimator
Examples:
vtkFiniteDifferenceGradientEstimator (examples)

Definition at line 73 of file vtkFiniteDifferenceGradientEstimator.h.


Constructor & Destructor Documentation

vtkFiniteDifferenceGradientEstimator::vtkFiniteDifferenceGradientEstimator   [protected]
 

vtkFiniteDifferenceGradientEstimator::~vtkFiniteDifferenceGradientEstimator   [protected]
 

vtkFiniteDifferenceGradientEstimator::vtkFiniteDifferenceGradientEstimator const vtkFiniteDifferenceGradientEstimator &    [inline, protected]
 

Definition at line 94 of file vtkFiniteDifferenceGradientEstimator.h.


Member Function Documentation

virtual const char* vtkFiniteDifferenceGradientEstimator::GetClassName   [virtual]
 

Return the class name as a string. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkEncodedGradientEstimator.

int vtkFiniteDifferenceGradientEstimator::IsTypeOf const char *    type [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 vtkEncodedGradientEstimator.

virtual int vtkFiniteDifferenceGradientEstimator::IsA const char *    type [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 vtkEncodedGradientEstimator.

vtkFiniteDifferenceGradientEstimator* vtkFiniteDifferenceGradientEstimator::SafeDownCast vtkObject   o [static]
 

Will cast the supplied object to vtkObject* is this is a safe operation (i.e., a safe downcast); otherwise NULL is returned. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkEncodedGradientEstimator.

void vtkFiniteDifferenceGradientEstimator::PrintSelf ostream &    os,
vtkIndent    index
[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 vtkEncodedGradientEstimator.

vtkFiniteDifferenceGradientEstimator* vtkFiniteDifferenceGradientEstimator::New   [static]
 

Construct a vtkFiniteDifferenceGradientEstimator with a SampleSpacingInVoxels of 1.

Reimplemented from vtkObject.

virtual void vtkFiniteDifferenceGradientEstimator::SetSampleSpacingInVoxels int    [virtual]
 

Set/Get the spacing between samples for the finite differences method used to compute the normal. This spacing is in voxel units.

virtual int vtkFiniteDifferenceGradientEstimator::GetSampleSpacingInVoxels   [virtual]
 

void vtkFiniteDifferenceGradientEstimator::operator= const vtkFiniteDifferenceGradientEstimator &    [inline, protected]
 

Definition at line 95 of file vtkFiniteDifferenceGradientEstimator.h.

void vtkFiniteDifferenceGradientEstimator::UpdateNormals void    [protected, virtual]
 

Recompute the encoded normals and gradient magnitudes.

Reimplemented from vtkEncodedGradientEstimator.


Member Data Documentation

int vtkFiniteDifferenceGradientEstimator::SampleSpacingInVoxels
 

Definition at line 89 of file vtkFiniteDifferenceGradientEstimator.h.


The documentation for this class was generated from the following file:
Generated on Wed Nov 21 12:47:57 2001 for VTK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001