VTK
9.1.0
|
Superclass for gradient estimation. More...
#include <vtkEncodedGradientEstimator.h>
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
vtkEncodedGradientEstimator * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
void | Update (void) |
Recompute the encoded normals and gradient magnitudes. | |
unsigned short * | GetEncodedNormals (void) |
Get the encoded normals. | |
unsigned char * | GetGradientMagnitudes (void) |
Get the gradient magnitudes. | |
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 *) |
Set/Get the scalar input for which the normals will be calculated. | |
virtual vtkImageData * | GetInputData () |
Set/Get the scalar input for which the normals will be calculated. | |
virtual void | SetGradientMagnitudeScale (float) |
Set/Get the scale and bias for the gradient magnitude. | |
virtual float | GetGradientMagnitudeScale () |
Set/Get the scale and bias for the gradient magnitude. | |
virtual void | SetGradientMagnitudeBias (float) |
Set/Get the scale and bias for the gradient magnitude. | |
virtual float | GetGradientMagnitudeBias () |
Set/Get the scale and bias for the gradient magnitude. | |
virtual void | SetBoundsClip (vtkTypeBool) |
Turn on / off the bounding of the normal computation by the this->Bounds bounding box. | |
virtual vtkTypeBool | GetBoundsClip () |
Turn on / off the bounding of the normal computation by the this->Bounds bounding box. | |
virtual void | BoundsClipOn () |
Turn on / off the bounding of the normal computation by the this->Bounds bounding box. | |
virtual void | BoundsClipOff () |
Turn on / off the bounding of the normal computation by the this->Bounds bounding box. | |
virtual void | SetBounds (int, int, int, int, int, int) |
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 | SetBounds (int[6]) |
Set / Get the bounds of the computation (used if this->ComputationBounds is 1.) The bounds are specified xmin, xmax, ymin, ymax, zmin, zmax. | |
virtual int * | GetBounds () |
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 | GetBounds (int data[6]) |
Set / Get the bounds of the computation (used if this->ComputationBounds is 1.) The bounds are specified xmin, xmax, ymin, ymax, zmin, zmax. | |
int | GetEncodedNormalIndex (vtkIdType xyzIndex) |
Get the encoded normal at an x,y,z location in the volume. | |
int | GetEncodedNormalIndex (int xIndex, int yIndex, int zIndex) |
Get the encoded normal at an x,y,z location in the volume. | |
virtual void | SetNumberOfThreads (int) |
Get/Set the number of threads to create when encoding normals This defaults to the number of available processors on the machine. | |
virtual int | GetNumberOfThreads () |
Get/Set the number of threads to create when encoding normals This defaults to the number of available processors on the machine. | |
void | SetDirectionEncoder (vtkDirectionEncoder *direnc) |
Set / Get the direction encoder used to encode normal directions to fit within two bytes. | |
virtual vtkDirectionEncoder * | GetDirectionEncoder () |
Set / Get the direction encoder used to encode normal directions to fit within two bytes. | |
virtual void | SetComputeGradientMagnitudes (vtkTypeBool) |
If you don't want to compute gradient magnitudes (but you do want normals for shading) this can be used. | |
virtual vtkTypeBool | GetComputeGradientMagnitudes () |
If you don't want to compute gradient magnitudes (but you do want normals for shading) this can be used. | |
virtual void | ComputeGradientMagnitudesOn () |
If you don't want to compute gradient magnitudes (but you do want normals for shading) this can be used. | |
virtual void | ComputeGradientMagnitudesOff () |
If you don't want to compute gradient magnitudes (but you do want normals for shading) this can be used. | |
virtual void | SetCylinderClip (vtkTypeBool) |
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. | |
virtual vtkTypeBool | GetCylinderClip () |
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. | |
virtual void | CylinderClipOn () |
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. | |
virtual void | CylinderClipOff () |
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. | |
virtual float | GetLastUpdateTimeInSeconds () |
Get the time required for the last update in seconds or cpu seconds. | |
virtual float | GetLastUpdateTimeInCPUSeconds () |
Get the time required for the last update in seconds or cpu seconds. | |
void | SetZeroNormalThreshold (float v) |
Set / Get the ZeroNormalThreshold - this defines the minimum magnitude of a gradient that is considered sufficient to define a direction. | |
virtual float | GetZeroNormalThreshold () |
Set / Get the ZeroNormalThreshold - this defines the minimum magnitude of a gradient that is considered sufficient to define a direction. | |
virtual void | SetZeroPad (vtkTypeBool) |
Assume that the data value outside the volume is zero when computing normals. | |
virtual vtkTypeBool | GetZeroPad () |
Assume that the data value outside the volume is zero when computing normals. | |
virtual void | ZeroPadOn () |
Assume that the data value outside the volume is zero when computing normals. | |
virtual void | ZeroPadOff () |
Assume that the data value outside the volume is zero when computing normals. | |
Public Member Functions inherited from vtkObject | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. | |
virtual void | DebugOff () |
Turn debugging output off. | |
bool | GetDebug () |
Get the value of the debug flag. | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. | |
virtual void | Modified () |
Update the modification time for this object. | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
vtkTypeBool | HasObserver (unsigned long event) |
vtkTypeBool | HasObserver (const char *event) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. | |
int | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
int | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
Return the class name as a string. | |
virtual vtkTypeBool | IsA (const char *name) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
virtual void | Delete () |
Delete a VTK object. | |
virtual void | FastDelete () |
Delete a reference to this object. | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. | |
virtual void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). | |
int | GetReferenceCount () |
Return the current reference count of this object. | |
void | SetReferenceCount (int) |
Sets the reference count. | |
bool | GetIsInMemkind () const |
A local state flag that remembers whether this object lives in the normal or extended memory space. | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. | |
Static Public Member Functions | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkEncodedGradientEstimator * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkObject | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. | |
static void | SetGlobalWarningDisplay (int val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static int | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
Static Public Member Functions inherited from vtkObjectBase | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. | |
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name) |
Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. | |
static void | SetMemkindDirectory (const char *directoryname) |
The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. | |
static bool | GetUsingMemkind () |
A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. | |
Public Attributes | |
vtkImageData * | InputData |
unsigned short * | EncodedNormals |
int | EncodedNormalsSize [3] |
unsigned char * | GradientMagnitudes |
vtkTimeStamp | BuildTime |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkEncodedGradientEstimator () | |
~vtkEncodedGradientEstimator () override | |
void | ReportReferences (vtkGarbageCollector *) override |
virtual void | UpdateNormals (void)=0 |
void | ComputeCircleLimits (int size) |
Protected Member Functions inherited from vtkObject | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
These methods allow a command to exclusively grab all events. | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. | |
Protected Member Functions inherited from vtkObjectBase | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
int | NumberOfThreads |
vtkMultiThreader * | Threader |
vtkDirectionEncoder * | DirectionEncoder |
float | GradientMagnitudeScale |
float | GradientMagnitudeBias |
float | LastUpdateTimeInSeconds |
float | LastUpdateTimeInCPUSeconds |
float | ZeroNormalThreshold |
vtkTypeBool | CylinderClip |
int * | CircleLimits |
int | CircleLimitsSize |
int | UseCylinderClip |
vtkTypeBool | BoundsClip |
int | Bounds [6] |
int | InputSize [3] |
float | InputAspect [3] |
vtkTypeBool | ComputeGradientMagnitudes |
vtkTypeBool | ZeroPad |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
std::atomic< int32_t > | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Additional Inherited Members | |
Static Protected Member Functions inherited from vtkObjectBase | |
static vtkMallocingFunction | GetCurrentMallocFunction () |
static vtkReallocingFunction | GetCurrentReallocFunction () |
static vtkFreeingFunction | GetCurrentFreeFunction () |
static vtkFreeingFunction | GetAlternateFreeFunction () |
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.
Definition at line 45 of file vtkEncodedGradientEstimator.h.
Definition at line 48 of file vtkEncodedGradientEstimator.h.
|
protected |
|
overrideprotected |
|
static |
|
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 vtkObjectBase.
Reimplemented in vtkFiniteDifferenceGradientEstimator.
|
static |
|
protectedvirtual |
Reimplemented in vtkFiniteDifferenceGradientEstimator.
vtkEncodedGradientEstimator * vtkEncodedGradientEstimator::NewInstance | ( | ) | const |
|
overridevirtual |
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.
|
virtual |
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.
|
virtual |
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.
|
virtual |
Set/Get the scale and bias for the gradient magnitude.
|
virtual |
Set/Get the scale and bias for the gradient magnitude.
|
virtual |
Set/Get the scale and bias for the gradient magnitude.
|
virtual |
Set/Get the scale and bias for the gradient magnitude.
|
virtual |
Turn on / off the bounding of the normal computation by the this->Bounds bounding box.
|
virtual |
Turn on / off the bounding of the normal computation by the this->Bounds bounding box.
|
virtual |
Turn on / off the bounding of the normal computation by the this->Bounds bounding box.
|
virtual |
Turn on / off the bounding of the normal computation by the this->Bounds bounding box.
|
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 |
Set / Get the bounds of the computation (used if this->ComputationBounds is 1.) The bounds are specified xmin, xmax, ymin, ymax, zmin, zmax.
|
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 |
Set / Get the bounds of the computation (used if this->ComputationBounds is 1.) The bounds are specified xmin, xmax, ymin, ymax, zmin, zmax.
void vtkEncodedGradientEstimator::Update | ( | void | ) |
Recompute the encoded normals and gradient magnitudes.
unsigned short * vtkEncodedGradientEstimator::GetEncodedNormals | ( | void | ) |
Get the encoded normals.
int vtkEncodedGradientEstimator::GetEncodedNormalIndex | ( | vtkIdType | xyzIndex | ) |
Get the encoded normal at an x,y,z location in the volume.
int vtkEncodedGradientEstimator::GetEncodedNormalIndex | ( | int | xIndex, |
int | yIndex, | ||
int | zIndex | ||
) |
Get the encoded normal at an x,y,z location in the volume.
unsigned char * vtkEncodedGradientEstimator::GetGradientMagnitudes | ( | void | ) |
Get the gradient magnitudes.
|
virtual |
Get/Set the number of threads to create when encoding normals This defaults to the number of available processors on the machine.
|
virtual |
Get/Set the number of threads to create when encoding normals This defaults to the number of available processors on the machine.
void vtkEncodedGradientEstimator::SetDirectionEncoder | ( | vtkDirectionEncoder * | direnc | ) |
Set / Get the direction encoder used to encode normal directions to fit within two bytes.
|
virtual |
Set / Get the direction encoder used to encode normal directions to fit within two bytes.
|
virtual |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Get the time required for the last update in seconds or cpu seconds.
|
virtual |
Get the time required for the last update in seconds or cpu seconds.
|
virtual |
|
inline |
Definition at line 167 of file vtkEncodedGradientEstimator.h.
void vtkEncodedGradientEstimator::SetZeroNormalThreshold | ( | float | v | ) |
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 |
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 |
Assume that the data value outside the volume is zero when computing normals.
|
virtual |
Assume that the data value outside the volume is zero when computing normals.
|
virtual |
Assume that the data value outside the volume is zero when computing normals.
|
virtual |
Assume that the data value outside the volume is zero when computing normals.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
overrideprotectedvirtual |
Reimplemented from vtkObjectBase.
|
protectedpure virtual |
Implemented in vtkFiniteDifferenceGradientEstimator.
|
protected |
vtkImageData* vtkEncodedGradientEstimator::InputData |
Definition at line 198 of file vtkEncodedGradientEstimator.h.
unsigned short* vtkEncodedGradientEstimator::EncodedNormals |
Definition at line 201 of file vtkEncodedGradientEstimator.h.
int vtkEncodedGradientEstimator::EncodedNormalsSize[3] |
Definition at line 202 of file vtkEncodedGradientEstimator.h.
unsigned char* vtkEncodedGradientEstimator::GradientMagnitudes |
Definition at line 205 of file vtkEncodedGradientEstimator.h.
vtkTimeStamp vtkEncodedGradientEstimator::BuildTime |
Definition at line 208 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 220 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 222 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 224 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 228 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 229 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 231 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 232 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 234 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 236 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 237 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 238 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 239 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 242 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 243 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 245 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 246 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 248 of file vtkEncodedGradientEstimator.h.
|
protected |
Definition at line 250 of file vtkEncodedGradientEstimator.h.