34 #ifndef vtkEncodedGradientEstimator_h
35 #define vtkEncodedGradientEstimator_h
38 #include "vtkRenderingVolumeModule.h"
67 vtkSetMacro(GradientMagnitudeScale,
float);
68 vtkGetMacro(GradientMagnitudeScale,
float);
69 vtkSetMacro(GradientMagnitudeBias,
float);
70 vtkGetMacro(GradientMagnitudeBias,
float);
89 vtkSetVector6Macro(Bounds,
int);
90 vtkGetVectorMacro(Bounds,
int, 6);
121 vtkSetClampMacro(NumberOfThreads,
int, 1, VTK_MAX_THREADS);
122 vtkGetMacro(NumberOfThreads,
int);
161 vtkGetMacro(LastUpdateTimeInSeconds,
float);
162 vtkGetMacro(LastUpdateTimeInCPUSeconds,
float);
165 vtkGetMacro(UseCylinderClip,
int);
178 vtkGetMacro(ZeroNormalThreshold,
float);
201 int EncodedNormalsSize[3];
209 vtkGetVectorMacro(InputSize,
int, 3);
210 vtkGetVectorMacro(InputAspect,
float, 3);
245 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)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void UpdateNormals(void)=0
~vtkEncodedGradientEstimator() override
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
vtkTypeBool ComputeGradientMagnitudes
vtkMultiThreader * Threader
float LastUpdateTimeInSeconds
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