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];
encode a direction into a one or two byte value
Superclass for gradient estimation.
void Update(void)
Recompute the encoded normals and gradient magnitudes.
int GetEncodedNormalIndex(int x_index, int y_index, int z_index)
float ZeroNormalThreshold
int GetEncodedNormalIndex(vtkIdType xyz_index)
Get the encoded normal at an x,y,z location in the volume.
void ComputeCircleLimits(int size)
virtual void UpdateNormals(void)=0
int ComputeGradientMagnitudes
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
float LastUpdateTimeInCPUSeconds
virtual void SetInputData(vtkImageData *)
Set/Get the scalar input for which the normals will be calculated.
vtkDirectionEncoder * DirectionEncoder
float GradientMagnitudeBias
void ReportReferences(vtkGarbageCollector *) override
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...
unsigned char * GradientMagnitudes
vtkMultiThreader * Threader
float LastUpdateTimeInSeconds
~vtkEncodedGradientEstimator()
float GradientMagnitudeScale
vtkEncodedGradientEstimator()
unsigned char * GetGradientMagnitudes(void)
Get the gradient magnitudes.
unsigned short * EncodedNormals
unsigned short * GetEncodedNormals(void)
Get the encoded normals.
Detect and break reference loops.
topologically and geometrically regular array of data
a simple class to control print indentation
A class for performing multithreaded execution.
abstract base class for most VTK objects
record modification and/or execution time
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.