VTK  9.2.6
vtkImageBSplineCoefficients.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkImageBSplineCoefficients.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
44
45#ifndef vtkImageBSplineCoefficients_h
46#define vtkImageBSplineCoefficients_h
47
48#include "vtkImageBSplineInterpolator.h" // for constants
49#include "vtkImagingCoreModule.h" // For export macro
51
52class VTKIMAGINGCORE_EXPORT vtkImageBSplineCoefficients : public vtkThreadedImageAlgorithm
53{
54public:
57
58 void PrintSelf(ostream& os, vtkIndent indent) override;
59
61
65 vtkSetClampMacro(SplineDegree, int, 0, VTK_IMAGE_BSPLINE_DEGREE_MAX);
66 vtkGetMacro(SplineDegree, int);
68
70
84 const char* GetBorderModeAsString();
86
88
93 vtkSetClampMacro(OutputScalarType, int, VTK_FLOAT, VTK_DOUBLE);
94 vtkGetMacro(OutputScalarType, int);
99
101
108 vtkSetMacro(Bypass, vtkTypeBool);
109 vtkBooleanMacro(Bypass, vtkTypeBool);
110 vtkGetMacro(Bypass, vtkTypeBool);
112
119 int CheckBounds(const double point[3]);
120
122
128 void Evaluate(const double point[3], double* value);
129 double Evaluate(double x, double y, double z);
130 double Evaluate(const double point[3]) { return this->Evaluate(point[0], point[1], point[2]); }
132
133protected:
136
137 void AllocateOutputData(vtkImageData* out, vtkInformation* outInfo, int* uExtent) override;
139
143
145 vtkImageData* inData, vtkImageData* outData, int outExt[6], int threadId) override;
146
153
154private:
156 void operator=(const vtkImageBSplineCoefficients&) = delete;
157};
158
159#endif
general representation of visualization data
void Evaluate(const double point[3], double *value)
Interpolate a value from the image.
void SetOutputScalarTypeToFloat()
Set the scalar type of the output.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetBorderMode(vtkImageBorderMode)
Set the border mode.
const char * GetOutputScalarTypeAsString()
Set the scalar type of the output.
void SetOutputScalarTypeToDouble()
Set the scalar type of the output.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called in response to a REQUEST_DATA request from the executive.
const char * GetBorderModeAsString()
Set the border mode.
static vtkImageBSplineCoefficients * New()
double Evaluate(const double point[3])
Interpolate a value from the image.
vtkImageData * AllocateOutputData(vtkDataObject *out, vtkInformation *outInfo) override
Allocate the output data.
int CheckBounds(const double point[3])
Check a point against the image bounds.
void SetBorderModeToMirror()
Set the border mode.
void AllocateOutputData(vtkImageData *out, vtkInformation *outInfo, int *uExtent) override
Allocate the output data.
void SetBorderModeToRepeat()
Set the border mode.
void SetBorderModeToClamp()
Set the border mode.
virtual void SetOutputScalarType(int)
Set the scalar type of the output.
double Evaluate(double x, double y, double z)
Interpolate a value from the image.
void ThreadedExecute(vtkImageData *inData, vtkImageData *outData, int outExt[6], int threadId) override
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
~vtkImageBSplineCoefficients() override
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to translate the update extent requests from each output port ...
topologically and geometrically regular array of data
a simple class to control print indentation
Definition vtkIndent.h:34
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
int vtkTypeBool
Definition vtkABI.h:69
#define VTK_IMAGE_BSPLINE_DEGREE_MAX
#define VTK_DOUBLE
Definition vtkType.h:55
#define VTK_FLOAT
Definition vtkType.h:54