VTK  9.0.20210301
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
27 #include "vtkPointSetAlgorithm.h"
28 
29 class VTKFILTERSGENERAL_EXPORT vtkWarpLens : public vtkPointSetAlgorithm
30 {
31 public:
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 
104 protected:
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
121 private:
122  vtkWarpLens(const vtkWarpLens&) = delete;
123  void operator=(const vtkWarpLens&) = delete;
124 };
125 
126 #endif
vtkWarpLens::GetKappa
double GetKappa()
vtkWarpLens::SetCenter
void SetCenter(double centerX, double centerY)
Specify the center of radial distortion in pixels.
vtkWarpLens::GetCenter
double * GetCenter()
vtkWarpLens::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPointSetAlgorithm
Superclass for algorithms that produce output of the same type as input.
Definition: vtkPointSetAlgorithm.h:44
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:36
vtkPointSetAlgorithm.h
vtkX3D::port
@ port
Definition: vtkX3D.h:453
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:45
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:34
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:74
vtkX3D::info
@ info
Definition: vtkX3D.h:382
vtkWarpLens::SetKappa
void SetKappa(double kappa)
Specify second order symmetric radial lens distortion parameter.
vtkWarpLens
deform geometry by applying lens distortion
Definition: vtkWarpLens.h:30
vtkWarpLens::New
static vtkWarpLens * New()