VTK  9.2.5
vtkWarpLens.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkWarpLens.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=========================================================================*/
26#ifndef vtkWarpLens_h
27#define vtkWarpLens_h
28
29#include "vtkFiltersGeneralModule.h" // For export macro
31
32class VTKFILTERSGENERAL_EXPORT vtkWarpLens : public vtkPointSetAlgorithm
33{
34public:
35 static vtkWarpLens* New();
37 void PrintSelf(ostream& os, vtkIndent indent) override;
38
40
44 void SetKappa(double kappa);
45 double GetKappa();
47
49
53 void SetCenter(double centerX, double centerY);
54 double* GetCenter() VTK_SIZEHINT(2);
56
58
61 vtkSetVector2Macro(PrincipalPoint, double);
62 vtkGetVectorMacro(PrincipalPoint, double, 2);
64
66
69 vtkSetMacro(K1, double);
70 vtkGetMacro(K1, double);
71 vtkSetMacro(K2, double);
72 vtkGetMacro(K2, double);
74
76
79 vtkSetMacro(P1, double);
80 vtkGetMacro(P1, double);
81 vtkSetMacro(P2, double);
82 vtkGetMacro(P2, double);
84
86
89 vtkSetMacro(FormatWidth, double);
90 vtkGetMacro(FormatWidth, double);
91 vtkSetMacro(FormatHeight, double);
92 vtkGetMacro(FormatHeight, double);
94
96
99 vtkSetMacro(ImageWidth, int);
100 vtkGetMacro(ImageWidth, int);
101 vtkSetMacro(ImageHeight, int);
102 vtkGetMacro(ImageHeight, int);
104
105 int FillInputPortInformation(int port, vtkInformation* info) override;
106
107protected:
109 ~vtkWarpLens() override = default;
110
111 int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
112 vtkInformationVector* outputVector) override;
114
115 double PrincipalPoint[2]; // The calibrated principal point of camera/lens in mm
116 double K1; // Symmetric radial distortion parameters
117 double K2;
118 double P1; // Decentering distortion parameters
119 double P2;
120 double FormatWidth; // imager format width in mm
121 double FormatHeight; // imager format height in mm
122 int ImageWidth; // image width in pixels
123 int ImageHeight; // image height in pixels
124private:
125 vtkWarpLens(const vtkWarpLens&) = delete;
126 void operator=(const vtkWarpLens&) = delete;
127};
128
129#endif
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce output of the same type as input.
deform geometry by applying lens distortion
Definition: vtkWarpLens.h:33
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetCenter(double centerX, double centerY)
Specify the center of radial distortion in pixels.
double GetKappa()
Specify second order symmetric radial lens distortion parameter.
void SetKappa(double kappa)
Specify second order symmetric radial lens distortion parameter.
double * GetCenter()
Specify the center of radial distortion in pixels.
static vtkWarpLens * New()
#define VTK_SIZEHINT(...)