22#ifndef vtkEncodedGradientEstimator_h 
   23#define vtkEncodedGradientEstimator_h 
   26#include "vtkRenderingVolumeModule.h"  
   27#include "vtkThreads.h"                
   29VTK_ABI_NAMESPACE_BEGIN
 
   57  vtkSetMacro(GradientMagnitudeScale, 
float);
 
   58  vtkGetMacro(GradientMagnitudeScale, 
float);
 
   59  vtkSetMacro(GradientMagnitudeBias, 
float);
 
   60  vtkGetMacro(GradientMagnitudeBias, 
float);
 
   79  vtkSetVector6Macro(Bounds, 
int);
 
   80  vtkGetVectorMacro(Bounds, 
int, 6);
 
  111  vtkSetClampMacro(NumberOfThreads, 
int, 1, VTK_MAX_THREADS);
 
  112  vtkGetMacro(NumberOfThreads, 
int);
 
  151  vtkGetMacro(LastUpdateTimeInSeconds, 
float);
 
  152  vtkGetMacro(LastUpdateTimeInCPUSeconds, 
float);
 
  155  vtkGetMacro(UseCylinderClip, 
int);
 
  168  vtkGetMacro(ZeroNormalThreshold, 
float);
 
  191  int EncodedNormalsSize[3];
 
  199  vtkGetVectorMacro(InputSize, 
int, 3);
 
  200  vtkGetVectorMacro(InputAspect, 
float, 3);
 
  235  float InputAspect[3];
 
encode a direction into a one or two byte value
 
Superclass for gradient estimation.
 
float ZeroNormalThreshold
 
virtual void UpdateNormals()=0
 
void ComputeCircleLimits(int size)
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
~vtkEncodedGradientEstimator() override
 
float LastUpdateTimeInCPUSeconds
 
virtual void SetInputData(vtkImageData *)
Set/Get the scalar input for which the normals will be calculated.
 
vtkDirectionEncoder * DirectionEncoder
 
unsigned short * GetEncodedNormals()
Get the encoded normals.
 
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
 
unsigned char * GetGradientMagnitudes()
Get the gradient magnitudes.
 
vtkMultiThreader * Threader
 
float LastUpdateTimeInSeconds
 
float GradientMagnitudeScale
 
int GetEncodedNormalIndex(int xIndex, int yIndex, int zIndex)
Get the encoded normal at an x,y,z location in the volume.
 
int GetEncodedNormalIndex(vtkIdType xyzIndex)
Get the encoded normal at an x,y,z location in the volume.
 
vtkEncodedGradientEstimator()
 
unsigned short * EncodedNormals
 
void Update()
Recompute the encoded normals and gradient magnitudes.
 
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