20 #ifndef vtkImageDifference_h
21 #define vtkImageDifference_h
23 #include "vtkImagingCoreModule.h"
27 VTK_ABI_NAMESPACE_BEGIN
28 class vtkImageDifferenceThreadData;
29 class vtkImageDifferenceSMPThreadLocal;
65 vtkSetMacro(Threshold,
int);
66 vtkGetMacro(Threshold,
int);
77 vtkSetMacro(AllowShift,
bool);
78 vtkGetMacro(AllowShift,
bool);
79 vtkBooleanMacro(AllowShift,
bool);
89 vtkSetMacro(Averaging,
bool);
90 vtkGetMacro(Averaging,
bool);
91 vtkBooleanMacro(Averaging,
bool);
99 vtkSetMacro(AverageThresholdFactor,
double);
100 vtkGetMacro(AverageThresholdFactor,
double);
110 bool AllowShift =
true;
111 bool Averaging =
true;
113 double AverageThresholdFactor = 0.65;
116 const char* ErrorMessage =
nullptr;
118 double ThresholdedError = 0.;
126 int outExt[6],
int threadId)
override;
128 void GrowExtent(
int* uExt,
int* wholeExtent);
129 int ComputeSumedValue(
unsigned char* values,
vtkIdType* indices,
int comp);
135 vtkImageDifferenceSMPThreadLocal* SMPThreadData =
nullptr;
141 friend class vtkImageDifferenceSMPFunctor;
144 VTK_ABI_NAMESPACE_END
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
Compares images for regression tests.
void SetImageData(vtkDataObject *image)
Specify the Image to compare the input to.
void GetThresholdedError(double *e)
void SetInputData(vtkDataObject *)
Assign a data object as input.
double GetError()
Return the total error in comparing the two images.
void SetImageConnection(vtkAlgorithmOutput *output)
Specify the Image to compare the input to.
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Subclasses can reimplement this method to translate the update extent requests from each output port ...
Proxy object to connect input/output ports.
Generic filter that has one input.
a simple class to control print indentation
topologically and geometrically regular array of data
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Subclasses can reimplement this method to collect information from their inputs and set information f...
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
Set the connection for the given input port index.
virtual void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int extent[6], int threadId)
If the subclass does not define an Execute method, then the task will be broken up, multiple threads will be spawned, and each thread will call this method.
vtkImageDifferenceThreadData * ThreadData
double GetThresholdedError()
Return the total thresholded error in comparing the two images.
static vtkAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
general representation of visualization data