VTK  9.1.0
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=========================================================================*/
23#ifndef vtkWarpLens_h
24#define vtkWarpLens_h
25
26#include "vtkFiltersGeneralModule.h" // For export macro
28
29class VTKFILTERSGENERAL_EXPORT vtkWarpLens : public vtkPointSetAlgorithm
30{
31public:
32 static vtkWarpLens* New();
34 void PrintSelf(ostream& os, vtkIndent indent) override;
35
37
41 void SetKappa(double kappa);
42 double GetKappa();
44
46
50 void SetCenter(double centerX, double centerY);
51 double* GetCenter() VTK_SIZEHINT(2);
53
55
58 vtkSetVector2Macro(PrincipalPoint, double);
59 vtkGetVectorMacro(PrincipalPoint, double, 2);
61
63
66 vtkSetMacro(K1, double);
67 vtkGetMacro(K1, double);
68 vtkSetMacro(K2, double);
69 vtkGetMacro(K2, double);
71
73
76 vtkSetMacro(P1, double);
77 vtkGetMacro(P1, double);
78 vtkSetMacro(P2, double);
79 vtkGetMacro(P2, double);
81
83
86 vtkSetMacro(FormatWidth, double);
87 vtkGetMacro(FormatWidth, double);
88 vtkSetMacro(FormatHeight, double);
89 vtkGetMacro(FormatHeight, double);
91
93
96 vtkSetMacro(ImageWidth, int);
97 vtkGetMacro(ImageWidth, int);
98 vtkSetMacro(ImageHeight, int);
99 vtkGetMacro(ImageHeight, int);
101
102 int FillInputPortInformation(int port, vtkInformation* info) override;
103
104protected:
106 ~vtkWarpLens() override = default;
107
108 int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
109 vtkInformationVector* outputVector) override;
111
112 double PrincipalPoint[2]; // The calibrated principal point of camera/lens in mm
113 double K1; // Symmetric radial distortion parameters
114 double K2;
115 double P1; // Decentering distortion parameters
116 double P2;
117 double FormatWidth; // imager format width in mm
118 double FormatHeight; // imager format height in mm
119 int ImageWidth; // image width in pixels
120 int ImageHeight; // image height in pixels
121private:
122 vtkWarpLens(const vtkWarpLens&) = delete;
123 void operator=(const vtkWarpLens&) = delete;
124};
125
126#endif
a simple class to control print indentation
Definition: vtkIndent.h:113
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:30
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(...)