30#include "vtkImagingCoreModule.h"
37VTK_ABI_NAMESPACE_BEGIN
39class vtkImageSSIMThreadData;
40class vtkImageSSIMSMPThreadLocal;
99 vtkSetMacro(ClampNegativeValues,
bool);
100 vtkGetMacro(ClampNegativeValues,
bool);
101 vtkBooleanMacro(ClampNegativeValues,
bool);
110 vtkSetMacro(PatchRadius,
double);
111 vtkGetMacro(PatchRadius,
double);
135 VTK_FUTURE_CONST
int outExt[6],
int threadId)
override;
141 void SetInputToAdditiveChar(
unsigned int size);
142 void GrowExtent(
int uExt[2], VTK_FUTURE_CONST
int wholeExtent[2]);
145 bool ClampNegativeValues =
false;
156 int Mode = MODE_AUTO;
161 std::vector<std::array<double, 2>> C;
Proxy object to connect input/output ports.
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
Set the connection for the given input port index.
general representation of visualization data
dynamic, self-adjusting array of double
void SetInputData(vtkDataObject *)
Assign a data object as input.
virtual void AllocateOutputData(vtkImageData *out, vtkInformation *outInfo, VTK_FUTURE_CONST int uExtent[6])
Allocate the output data.
topologically and geometrically regular array of data
This filter implements an algorithm based on SSIM for image comparison.
void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, VTK_FUTURE_CONST int outExt[6], int threadId) override
If the subclass does not define an Execute method, then the task will be broken up,...
void SetInputToAuto()
The c1 and c2 constant will be computed automatically based on the range of each individual component...
static void ComputeErrorMetrics(vtkDoubleArray *scalars, double &tight, double &loose)
Compute error metrics of a provided scalars.
void SetInputToRGB()
Assume the input is in RGB format, using integers from 0 to 255.
void AllocateOutputData(vtkImageData *output, vtkInformation *outInfo, VTK_FUTURE_CONST int uExtent[6]) override
Allocate the output data.
void SetImageData(vtkDataObject *image)
Specify the Image to compare the input to.
static vtkImageSSIM * New()
void SetInputToGrayscale()
Assume the input is in grayscale, using integers from 0 to 255.
void SetImageConnection(vtkAlgorithmOutput *output)
Specify the Image to compare the input to.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
void SetInputRange(std::vector< int > &range)
Setup the range of each components of the input scalars.
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to translate the update extent requests from each output port ...
~vtkImageSSIM() override=default
void SetInputToLab()
Assume the input is in Lab format.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetInputToRGBA()
Assume the input is in RGBA format, using integers from 0 to 255.
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called in response to a REQUEST_DATA request from the executive.
a simple class to control print indentation
vtkThreadedImageAlgorithm()