OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimMeanRadialLensDistortion.h
Go to the documentation of this file.
1 //*******************************************************************
2 // Copyright (C) 2000 ImageLinks Inc.
3 //
4 // MIT
5 //
6 // Author: Garrett Potts (gpotts@imagelinks.com)
7 //
8 // Description:
9 //
10 // MeanRadialLensDistortion
11 //*******************************************************************
12 // $Id: ossimMeanRadialLensDistortion.h 15929 2009-11-16 18:20:46Z gpotts $
13 #ifndef ossimMeanRadialLensDistortion_HEADER
14 #define ossimMeanRadialLensDistortion_HEADER
15 #include <vector>
16 #include <ossim/matrix/newmat.h>
17 #include <ossim/base/ossimDpt.h>
20 {
21 public:
23  {
24  theCoefficients.resize(4);
25  theCoefficients[0] = 0.0;
26  theCoefficients[1] = 0.0;
27  theCoefficients[2] = 0.0;
28  theCoefficients[3] = 0.0;
29  }
30 
59 /* ossimMeanRadialLensDistortion(ossimDpt calibratedPrincipalPoint, */
60 /* const NEWMAT::ColumnVector &radialDistance, */
61 /* const NEWMAT::ColumnVector &radialDistortion) */
62  ossimMeanRadialLensDistortion(ossimDpt calibratedPrincipalPoint,
63  const NEWMAT::ColumnVector &radialDistance,
64  const NEWMAT::ColumnVector &radialDistortion)
65  :ossimLensDistortion(calibratedPrincipalPoint)
66  {
67  theCoefficients.resize(4);
68  solveCoefficients(radialDistance, radialDistortion);
69  }
70 
76  const std::vector<double>& getCoefficients()const{return theCoefficients;}
77  std::vector<double>& getCoefficients(){return theCoefficients;}
78 
79 
80 // ossimDpt adjustPoint(const ossimDpt &position)const;
81  virtual std::ostream& print(std::ostream& out) const
82  {return out;}
83 
89  double deltaR(double r)const;
90 
91  virtual void undistort(const ossimDpt& input, ossimDpt& output)const;
92 
97  void solveCoefficients(const NEWMAT::ColumnVector &radialDistance,
98  const NEWMAT::ColumnVector &radialDistortion);
103  void solveCoefficients(const std::vector<double>& radialDistance,
104  const std::vector<double>& radialDistortion);
105 
106  virtual bool saveState(ossimKeywordlist& kwl,
107  const char* prefix = 0)const;
108 
109  virtual bool loadState(const ossimKeywordlist& kwl,
110  const char* prefix = 0);
111 
112 protected:
113  std::vector<double> theCoefficients;
114 
115 TYPE_DATA
116 };
117 
118 
119 #endif
virtual std::ostream & print(std::ostream &out) const
Generic print method.
ossimMeanRadialLensDistortion(ossimDpt calibratedPrincipalPoint, const NEWMAT::ColumnVector &radialDistance, const NEWMAT::ColumnVector &radialDistortion)
Represents serializable keyword/value map.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
const std::vector< double > & getCoefficients() const
void solveCoefficients(const NEWMAT::ColumnVector &radialDistance, const NEWMAT::ColumnVector &radialDistortion)
#define TYPE_DATA
Definition: ossimRtti.h:339
virtual void undistort(const ossimDpt &input, ossimDpt &output) const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23