|
virtual int | IsA (const char *type) |
|
vtkFiniteDifferenceGradientEstimator * | NewInstance () const |
|
void | PrintSelf (ostream &os, vtkIndent indent) |
|
|
virtual void | SetSampleSpacingInVoxels (int) |
|
virtual int | GetSampleSpacingInVoxels () |
|
vtkEncodedGradientEstimator * | NewInstance () const |
|
void | Update (void) |
|
unsigned short * | GetEncodedNormals (void) |
|
unsigned char * | GetGradientMagnitudes (void) |
|
virtual int | GetUseCylinderClip () |
|
int * | GetCircleLimits () |
|
virtual int * | GetInputSize () |
|
virtual void | GetInputSize (int data[3]) |
|
virtual float * | GetInputAspect () |
|
virtual void | GetInputAspect (float data[3]) |
|
virtual void | SetInputData (vtkImageData *) |
|
virtual vtkImageData * | GetInputData () |
|
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 int * | GetBounds () |
|
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 vtkDirectionEncoder * | GetDirectionEncoder () |
|
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 () |
|
vtkObject * | NewInstance () const |
|
virtual void | DebugOn () |
|
virtual void | DebugOff () |
|
bool | GetDebug () |
|
void | SetDebug (bool debugFlag) |
|
virtual void | Modified () |
|
virtual unsigned long | GetMTime () |
|
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
|
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
|
vtkCommand * | GetCommand (unsigned long tag) |
|
void | RemoveObserver (vtkCommand *) |
|
void | RemoveObservers (unsigned long event, vtkCommand *) |
|
void | RemoveObservers (const char *event, vtkCommand *) |
|
int | HasObserver (unsigned long event, vtkCommand *) |
|
int | HasObserver (const char *event, vtkCommand *) |
|
void | RemoveObserver (unsigned long tag) |
|
void | RemoveObservers (unsigned long event) |
|
void | RemoveObservers (const char *event) |
|
void | RemoveAllObservers () |
|
int | HasObserver (unsigned long event) |
|
int | HasObserver (const char *event) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
|
int | InvokeEvent (unsigned long event, void *callData) |
|
int | InvokeEvent (const char *event, void *callData) |
|
int | InvokeEvent (unsigned long event) |
|
int | InvokeEvent (const char *event) |
|
const char * | GetClassName () const |
|
virtual void | Delete () |
|
virtual void | FastDelete () |
|
void | Print (ostream &os) |
|
virtual void | Register (vtkObjectBase *o) |
|
virtual void | UnRegister (vtkObjectBase *o) |
|
void | SetReferenceCount (int) |
|
void | PrintRevisions (ostream &) |
|
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
|
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
|
int | GetReferenceCount () |
|
Use finite differences to estimate gradient.
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
- Tests:
- vtkFiniteDifferenceGradientEstimator (Tests)
Definition at line 47 of file vtkFiniteDifferenceGradientEstimator.h.