OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimBuckeyeSensor.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: Garrett Potts
6 //
7 // Description:
8 //
9 //
10 //*******************************************************************
11 // $Id$
12 #ifndef ossimBuckeyeSensor_HEADER
13 #define ossimBuckeyeSensor_HEADER
14 
52 
53 class OSSIM_DLL ossimBuckeyeSensor : public ossimSensorModel
54 {
55 public:
56  ossimBuckeyeSensor();
57  ossimBuckeyeSensor(const ossimDrect& imageRect, // center in image space
58  const ossimGpt& platformPosition,
59  double roll,
60  double pitch,
61  double heading,
62  const ossimDpt& principalPoint, // in millimeters
63  double focalLength, // in millimeters
64  const ossimDpt& pixelSize); // in millimeters
65  ossimBuckeyeSensor(const ossimBuckeyeSensor& src);
66  virtual ossimObject* dup()const;
67 
68  virtual void imagingRay(const ossimDpt& image_point,
69  ossimEcefRay& image_ray) const;
70 
71  void lineSampleToWorld(const ossimDpt& image_point,
72  ossimGpt& gpt) const;
73 
74 
75  virtual void lineSampleHeightToWorld(const ossimDpt& image_point,
76  const double& heightEllipsoid,
77  ossimGpt& worldPoint) const;
78  virtual void worldToLineSample(const ossimGpt& world_point,
79  ossimDpt& image_point) const;
80 
81  virtual void updateModel();
82 
83  void setPrincipalPoint(ossimDpt principalPoint);
84 
85  virtual bool insideImage(const ossimDpt& p) const
86  {
87  return theImageClipRect.pointWithin(p, theImageClipRect.width());
88  }
89 
90 
91  void setRollPitchHeading(double roll,
92  double pitch,
93  double heading);
94 
95  void setPixelSize(const ossimDpt& pixelSize);
96  void setImageRect(const ossimDrect& rect);
97  void setFocalLength(double focalLength);
98  void setPlatformPosition(const ossimGpt& gpt);
99 
100  virtual bool saveState(ossimKeywordlist& kwl,
101  const char* prefix=0) const;
102 
103  virtual bool loadState(const ossimKeywordlist& kwl,
104  const char* prefix=0);
105  virtual void initAdjustableParameters();
106 
107  void setLensDistortion(ossimSmacCallibrationSystem* lensDistortion);
111 // inline virtual bool useForward()const {return true;} //!ground to image faster (you don't need DEM)
112  inline virtual bool useForward()const {return false;}
113  virtual bool setupOptimizer(const ossimString& init_file);
114 
123  virtual bool getImageGeometry(
124  const ossimString& key, const ossimString& value,
125  ossimKeywordlist& geomKwl ) const;
126 
127 protected:
128 
129  NEWMAT::Matrix theCompositeMatrix;
130  NEWMAT::Matrix theCompositeMatrixInverse;
131  double theRoll;
132  double thePitch;
133  double theHeading;
134  ossimDpt thePrincipalPoint;
135  ossimDpt thePixelSize;
136  double theFocalLength;
137  ossimEcefPoint theEcefPlatformPosition;
139 
140 
141  ossimEcefPoint theAdjEcefPlatformPosition;
142 
143 TYPE_DATA
144 };
145 
146 #endif
virtual ossimObject * dup() const =0
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
virtual bool setupOptimizer(const ossimString &setup)
setupFromString() Derived classes should implement as needed. Initialize parameters needed for optimi...
Represents serializable keyword/value map.
virtual void lineSampleToWorld(const ossimDpt &image_point, ossimGpt &world_point) const
#define TYPE_DATA
Definition: ossimRtti.h:339
virtual void lineSampleHeightToWorld(const ossimDpt &lineSampPt, const double &heightEllipsoid, ossimGpt &worldPt) const =0
virtual void imagingRay(const ossimDpt &image_point, ossimEcefRay &image_ray) const
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual void updateModel()
Proecedure for compensation of aerial camera lens distortion as computed by the Simultaneous Multif...
void setImageRect(const ossimDrect &imageRect)
virtual void worldToLineSample(const ossimGpt &world_point, ossimDpt &image_point) const
virtual bool getImageGeometry(const ossimString &, const ossimString &, ossimKeywordlist &) const
Extracts geometry info from a non-ossim key,value pair to an ossim keyword list.
virtual bool useForward() const =0
#define OSSIM_DLL
virtual bool insideImage(const ossimDpt &p) const