USGS

Isis 3.0 Object Programmers' Reference

Home

CameraDistortionMap.h
Go to the documentation of this file.
1 
23 #ifndef CameraDistortionMap_h
24 #define CameraDistortionMap_h
25 
26 #include <vector>
27 #include "Camera.h"
28 
29 namespace Isis {
55  public:
56  CameraDistortionMap(Camera *parent, double zDirection = 1.0);
57 
58  void SetDistortion(int naifIkCode);
59 
61  virtual ~CameraDistortionMap() {}
62 
63  virtual bool SetFocalPlane(double dx, double dy);
64 
65  virtual bool SetUndistortedFocalPlane(double ux, double uy);
66 
67  std::vector<double> OpticalDistortionCoefficients() const;
68 
69  double ZDirection() const;
70 
72  inline double FocalPlaneX() const {
73  return p_focalPlaneX;
74  }
75 
77  inline double FocalPlaneY() const {
78  return p_focalPlaneY;
79  }
80 
82  inline double UndistortedFocalPlaneX() const {
83  return p_undistortedFocalPlaneX;
84  }
85 
87  inline double UndistortedFocalPlaneY() const {
88  return p_undistortedFocalPlaneY;
89  }
90 
92  inline double UndistortedFocalPlaneZ() const {
93  return p_zDirection * p_camera->FocalLength();
94  }
95 
96  protected:
97  Camera *p_camera;
98 
99  double p_focalPlaneX;
100  double p_focalPlaneY;
101  double p_undistortedFocalPlaneX;
102  double p_undistortedFocalPlaneY;
103  double p_zDirection;
104 
105  std::vector<double> p_odk;
106  };
107 };
108 #endif