Go to the documentation of this file.
34 #ifndef vtkEncodedGradientEstimator_h
35 #define vtkEncodedGradientEstimator_h
37 #include "vtkRenderingVolumeModule.h"
68 vtkGetMacro( GradientMagnitudeScale,
float );
70 vtkGetMacro( GradientMagnitudeBias,
float );
78 vtkSetClampMacro( BoundsClip,
int, 0, 1 );
79 vtkGetMacro( BoundsClip,
int );
89 vtkSetVector6Macro( Bounds,
int );
90 vtkGetVectorMacro( Bounds,
int, 6 );
121 vtkSetClampMacro( NumberOfThreads,
int, 1, VTK_MAX_THREADS );
122 vtkGetMacro( NumberOfThreads,
int );
142 vtkGetMacro( ComputeGradientMagnitudes,
int );
153 vtkGetMacro( CylinderClip,
int );
161 vtkGetMacro( LastUpdateTimeInSeconds,
float );
162 vtkGetMacro( LastUpdateTimeInCPUSeconds,
float );
165 vtkGetMacro( UseCylinderClip,
int );
178 vtkGetMacro( ZeroNormalThreshold,
float );
186 vtkSetClampMacro( ZeroPad,
int, 0, 1 );
187 vtkGetMacro( ZeroPad,
int );
202 int EncodedNormalsSize[3];
210 vtkGetVectorMacro( InputSize,
int, 3 );
211 vtkGetVectorMacro( InputAspect,
float, 3 );
246 float InputAspect[3];
void ComputeCircleLimits(int size)
virtual void SetInputData(vtkImageData *)
Set/Get the scalar input for which the normals will be calculated.
unsigned short * EncodedNormals
vtkDirectionEncoder * DirectionEncoder
int GetEncodedNormalIndex(int x_index, int y_index, int z_index)
float GradientMagnitudeScale
void Update(void)
Recompute the encoded normals and gradient magnitudes.
unsigned short * GetEncodedNormals(void)
Get the encoded normals.
~vtkEncodedGradientEstimator()
int GetEncodedNormalIndex(vtkIdType xyz_index)
Get the encoded normal at an x,y,z location in the volume.
record modification and/or execution time
float GradientMagnitudeBias
abstract base class for most VTK objects
vtkMultiThreader * Threader
unsigned char * GetGradientMagnitudes(void)
Get the gradient magnitudes.
A class for performing multithreaded execution.
Superclass for gradient estimation.
float LastUpdateTimeInSeconds
float LastUpdateTimeInCPUSeconds
int ComputeGradientMagnitudes
topologically and geometrically regular array of data
a simple class to control print indentation
virtual void UpdateNormals(void)=0
void SetDirectionEncoder(vtkDirectionEncoder *direnc)
Set / Get the direction encoder used to encode normal directions to fit within two bytes.
void SetZeroNormalThreshold(float v)
Set / Get the ZeroNormalThreshold - this defines the minimum magnitude of a gradient that is consider...
Detect and break reference loops.
float ZeroNormalThreshold
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
encode a direction into a one or two byte value
unsigned char * GradientMagnitudes
vtkEncodedGradientEstimator()
void ReportReferences(vtkGarbageCollector *) override
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.