#include <vtkFiniteDifferenceGradientEstimator.h>
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.
Definition at line 46 of file vtkFiniteDifferenceGradientEstimator.h.
void | UpdateNormals (void) |
Public Types | |
typedef vtkEncodedGradientEstimator | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual void | SetSampleSpacingInVoxels (int) |
virtual int | GetSampleSpacingInVoxels () |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkFiniteDifferenceGradientEstimator * | SafeDownCast (vtkObject *o) |
static vtkFiniteDifferenceGradientEstimator * | New () |
Public Attributes | |
int | SampleSpacingInVoxels |
Protected Member Functions | |
vtkFiniteDifferenceGradientEstimator () | |
~vtkFiniteDifferenceGradientEstimator () |
Reimplemented from vtkEncodedGradientEstimator.
Definition at line 49 of file vtkFiniteDifferenceGradientEstimator.h.
vtkFiniteDifferenceGradientEstimator::vtkFiniteDifferenceGradientEstimator | ( | ) | [protected] |
vtkFiniteDifferenceGradientEstimator::~vtkFiniteDifferenceGradientEstimator | ( | ) | [protected] |
virtual const char* vtkFiniteDifferenceGradientEstimator::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkEncodedGradientEstimator.
static int vtkFiniteDifferenceGradientEstimator::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 vtkEncodedGradientEstimator.
virtual int vtkFiniteDifferenceGradientEstimator::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 vtkEncodedGradientEstimator.
static vtkFiniteDifferenceGradientEstimator* vtkFiniteDifferenceGradientEstimator::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkEncodedGradientEstimator.
void vtkFiniteDifferenceGradientEstimator::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 vtkEncodedGradientEstimator.
static 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] |
Set/Get the spacing between samples for the finite differences method used to compute the normal. This spacing is in voxel units.
void vtkFiniteDifferenceGradientEstimator::UpdateNormals | ( | void | ) | [protected, virtual] |
Recompute the encoded normals and gradient magnitudes.
Implements vtkEncodedGradientEstimator.
Definition at line 60 of file vtkFiniteDifferenceGradientEstimator.h.