OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ossimplugins::ossimFormosatModel Class Reference

#include <ossimFormosatModel.h>

Inheritance diagram for ossimplugins::ossimFormosatModel:
ossimSensorModel ossimProjection ossimOptimizableProjection ossimAdjustableParameterInterface ossimObject ossimErrorStatusInterface ossimReferenced

Public Types

enum  AdjustParamIndex {
  ROLL_OFFSET = 0, PITCH_OFFSET, YAW_OFFSET, ROLL_RATE,
  PITCH_RATE, YAW_RATE, FOCAL_LEN_OFFSET, NUM_ADJUSTABLE_PARAMS
}
 
- Public Types inherited from ossimSensorModel
enum  CovMatStatus { COV_INVALID = 0, COV_PARTIAL = 1, COV_FULL = 2 }
 
enum  DeriveMode {
  OBS_INIT =-99, EVALUATE =-98, P_WRT_X = -1, P_WRT_Y = -2,
  P_WRT_Z = -3
}
 

Public Member Functions

 ossimFormosatModel ()
 
 ossimFormosatModel (ossimFormosatDimapSupportData *sd)
 
 ossimFormosatModel (const ossimFilename &init_file)
 
 ossimFormosatModel (const ossimKeywordlist &geom_kwl)
 
 ossimFormosatModel (const ossimFormosatModel &rhs)
 
virtual ~ossimFormosatModel ()
 
virtual ossimObjectdup () const
 
virtual std::ostream & print (std::ostream &out) const
 
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=NULL) const
 
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=NULL)
 
virtual void lineSampleHeightToWorld (const ossimDpt &image_point, const ossim_float64 &heightEllipsoid, ossimGpt &worldPoint) const
 
virtual void imagingRay (const ossimDpt &image_point, ossimEcefRay &image_ray) const
 
virtual void updateModel ()
 
virtual bool useForward () const
 
virtual bool setupOptimizer (const ossimString &init_file)
 image to ground faster More...
 
bool initFromMetadata (ossimFormosatDimapSupportData *sd)
 uses file path to init model More...
 
- Public Member Functions inherited from ossimSensorModel
 ossimSensorModel ()
 
 ossimSensorModel (const ossimSensorModel &copy_this)
 
 ossimSensorModel (const ossimKeywordlist &geom_kwl)
 
const ossimSensorModeloperator= (const ossimSensorModel &rhs)
 assignment operator More...
 
virtual ossimObjectgetBaseObject ()
 
virtual const ossimObjectgetBaseObject () const
 
virtual ossimGpt origin () const
 
virtual ossimDpt getMetersPerPixel () const
 
virtual const double & getNominalPosError () const
 Returns the estimated Absolute horizontal position error (CE90) of the sensor model. More...
 
virtual const double & getRelativePosError () const
 Returns the estimated RELATIVE horizontal position error (CE90) of the sensor model. More...
 
virtual void setNominalPosError (const double &ce90)
 Assigns the absolute image position error uncertainty (abs CE90) More...
 
virtual void setRelativePosError (const double &ce90)
 Assigns the relative image position error uncertainty (rel CE90) More...
 
virtual void lineSampleToWorld (const ossimDpt &image_point, ossimGpt &world_point) const
 
virtual void worldToLineSample (const ossimGpt &world_point, ossimDpt &image_point) const
 
void setRefImgPt (const ossimDpt &pt)
 Sets the center line sampe of the image. More...
 
void setRefGndPt (const ossimGpt &pt)
 Sets the center latitude, longitude, height of the image. More...
 
void setImageRect (const ossimDrect &imageRect)
 
void setGroundRect (const ossimGpt &ul, const ossimGpt &ur, const ossimGpt &lr, const ossimGpt &ll)
 
ossimDpt imageSize () const
 
void setImageSize (const ossimDpt &size)
 
virtual void adjustableParametersChanged ()
 
virtual bool insideImage (const ossimDpt &p) const
 
virtual bool operator== (const ossimProjection &proj) const
 
const ossimStringgetImageID () const
 Access methods: More...
 
const ossimDrectgetImageClipRect () const
 
virtual ossim_uint32 degreesOfFreedom () const
 
virtual bool needsInitialState () const
 needsInitialState() More...
 
virtual double optimizeFit (const ossimTieGptSet &tieSet, double *targetVariance=0)
 
virtual ossimDpt getForwardDeriv (int parmIdx, const ossimGpt &gpos, double hdelta=1e-11)
 
virtual ossimGpt getInverseDeriv (int parmIdx, const ossimDpt &ipos, double hdelta=1e-11)
 
virtual ossimSensorModel::CovMatStatus getObsCovMat (const ossimDpt &ipos, NEWMAT::SymmetricMatrix &Cov, const ossim_float64 defPointingSigma=0.5) const
 Gives 2X2 covariance matrix of observations. More...
 
virtual bool isAffectedByElevation () const
 Implementation of pure virtual ossimProjection::isAffectedByElevation method. More...
 
void computeGsd ()
 This method computes the ground sample distance(gsd) and sets class attributes theGSD and theMeanGSD by doing a lineSampleHeightToWorld on four points and calculating the distance from them. More...
 
virtual bool getImageGeometry (const ossimString &, const ossimString &, ossimKeywordlist &) const
 Extracts geometry info from a non-ossim key,value pair to an ossim keyword list. More...
 
- Public Member Functions inherited from ossimProjection
 ossimProjection ()
 
virtual ~ossimProjection ()
 
virtual ossimDpt forward (const ossimGpt &wp) const
 
virtual ossimGpt inverse (const ossimDpt &pp) const
 
virtual void getRoundTripError (const ossimDpt &imagePoint, ossimDpt &errorResult) const
 
virtual void getRoundTripError (const ossimGpt &groundPoint, ossimDpt &errorResult) const
 
virtual void getGroundClipPoints (ossimGeoPolygon &gpts) const
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
virtual bool operator!= (const ossimProjection &projection) const
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
virtual ossimString getShortName () const
 
virtual ossimString getLongName () const
 
virtual ossimString getDescription () const
 
virtual ossimString getClassName () const
 
virtual RTTItypeid getType () const
 
virtual bool canCastTo (ossimObject *obj) const
 
virtual bool canCastTo (const RTTItypeid &id) const
 
virtual bool canCastTo (const ossimString &parentClassName) const
 
virtual void accept (ossimVisitor &visitor)
 
- Public Member Functions inherited from ossimReferenced
 ossimReferenced ()
 
 ossimReferenced (const ossimReferenced &)
 
ossimReferencedoperator= (const ossimReferenced &)
 
void ref () const
 increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
void unref () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
void unref_nodelete () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
int referenceCount () const
 
- Public Member Functions inherited from ossimErrorStatusInterface
 ossimErrorStatusInterface ()
 
virtual ~ossimErrorStatusInterface ()
 
virtual ossimErrorCode getErrorStatus () const
 
virtual ossimString getErrorStatusString () const
 
virtual void setErrorStatus (ossimErrorCode error_status) const
 
virtual void setErrorStatus () const
 
virtual void clearErrorStatus () const
 
bool hasError () const
 
- Public Member Functions inherited from ossimOptimizableProjection
 ossimOptimizableProjection ()
 
 ossimOptimizableProjection (const ossimOptimizableProjection &source)
 
virtual ~ossimOptimizableProjection ()
 
virtual ossimOptimizableProjectionoperator= (const ossimOptimizableProjection &source)
 
- Public Member Functions inherited from ossimAdjustableParameterInterface
 ossimAdjustableParameterInterface ()
 
 ossimAdjustableParameterInterface (const ossimAdjustableParameterInterface &rhs)
 
virtual ~ossimAdjustableParameterInterface ()
 
void newAdjustment (ossim_uint32 numberOfParameters=0)
 
void setAdjustmentDescription (const ossimString &description)
 
ossimString getAdjustmentDescription () const
 
ossimString getAdjustmentDescription (ossim_uint32 adjustmentIdx) const
 Returns adjustmentDescription of specific adjustmentInfo. More...
 
void setCurrentAdjustment (ossim_uint32 adjustmentIndex, bool notify=false)
 
bool setCurrentAdjustment (const ossimString &description, bool notify=false)
 Sets the current adjustment to the adjustment with a matching description. More...
 
void eraseAdjustment (bool notify)
 
void eraseAdjustment (ossim_uint32 idx, bool notify)
 
void resetAdjustableParameters (bool notify=false)
 
void copyAdjustment (ossim_uint32 idx, bool notify)
 
void copyAdjustment (bool notify=false)
 
void keepAdjustment (ossim_uint32 idx, bool createCopy)
 
virtual void keepAdjustment (bool createCopy=true)
 
const ossimAdjustableParameterInterfaceoperator= (const ossimAdjustableParameterInterface &rhs)
 
void removeAllAdjustments ()
 
ossim_uint32 getNumberOfAdjustableParameters () const
 
double getAdjustableParameter (ossim_uint32 idx) const
 
virtual void setAdjustableParameter (ossim_uint32 idx, double value, bool notify=false)
 
virtual void setAdjustableParameter (ossim_uint32 idx, double value, double sigma, bool notify=false)
 
double getParameterSigma (ossim_uint32 idx) const
 
void setParameterSigma (ossim_uint32 idx, double value, bool notify=false)
 
ossimUnitType getParameterUnit (ossim_uint32 idx) const
 
void setParameterUnit (ossim_uint32 idx, ossimUnitType unit)
 
void setParameterUnit (ossim_uint32 idx, const ossimString &unit)
 
void setParameterCenter (ossim_uint32 idx, double center, bool notify=false)
 
double getParameterCenter (ossim_uint32 idx) const
 
double computeParameterOffset (ossim_uint32 idx) const
 
void setParameterOffset (ossim_uint32 idx, ossim_float64 value, bool notify=false)
 
ossimString getParameterDescription (ossim_uint32 idx) const
 
void setParameterDescription (ossim_uint32 idx, const ossimString &descrption)
 
ossim_int32 findParameterIdxGivenDescription (ossim_uint32 adjustmentIdx, const ossimString &name) const
 
ossim_int32 findParameterIdxContainingDescription (ossim_uint32 adjustmentIdx, const ossimString &name) const
 
bool isParameterLocked (ossim_uint32 idx) const
 
void setParameterLockFlag (ossim_uint32 idxParam, bool flag)
 
bool getParameterLockFlag (ossim_uint32 idx) const
 
void lockAllParametersCurrentAdjustment ()
 
void unlockAllParametersCurrentAdjustment ()
 
void lockAllParameters (ossim_uint32 idxAdjustment)
 
void unlockAllParameters (ossim_uint32 idxAdjustment)
 
void resizeAdjustableParameterArray (ossim_uint32 numberOfParameters)
 
void setAdjustment (const ossimAdjustmentInfo &adj, bool notify=false)
 
void setAdjustment (ossim_uint32 idx, const ossimAdjustmentInfo &adj, bool notify=false)
 
void addAdjustment (const ossimAdjustmentInfo &adj, bool notify)
 
void getAdjustment (ossimAdjustmentInfo &adj) const
 
void getAdjustment (ossim_uint32 idx, ossimAdjustmentInfo &adj) const
 
ossim_uint32 getNumberOfAdjustments () const
 
ossim_uint32 getCurrentAdjustmentIdx () const
 
void setDirtyFlag (bool flag=true)
 
void setAllDirtyFlag (bool flag=true)
 
bool hasDirtyAdjustments () const
 
virtual void saveCurrentAdjustmentOnly (ossimKeywordlist &kwl, const ossimString &prefix=ossimString(""))
 Saves the current active adjustment to the KWL file. More...
 
bool saveAdjustments (ossimKeywordlist &kwl, const ossimString &prefix=ossimString("")) const
 Save all adjustments to the KWL file. More...
 
bool loadAdjustments (const ossimKeywordlist &kwl, const ossimString &prefix=ossimString(""))
 
std::ostream & print (std::ostream &out) const
 Dumps the currently active adjustment to ostream. More...
 

Static Public Member Functions

static void writeGeomTemplate (ostream &os)
 
- Static Public Member Functions inherited from ossimSensorModel
static void writeGeomTemplate (ostream &os)
 

Protected Member Functions

void initAdjustableParameters ()
 
void loadGeometry (FILE *)
 
void loadSupportData ()
 
void computeSatToOrbRotation (NEWMAT::Matrix &result, ossim_float64 t) const
 
- Protected Member Functions inherited from ossimSensorModel
virtual ~ossimSensorModel ()
 
virtual ossimDpt extrapolate (const ossimGpt &gp) const
 
virtual ossimGpt extrapolate (const ossimDpt &ip, const double &height=ossim::nan()) const
 
void buildNormalEquation (const ossimTieGptSet &tieSet, NEWMAT::SymmetricMatrix &A, NEWMAT::ColumnVector &residue, NEWMAT::ColumnVector &projResidue, double pstep_scale)
 
NEWMAT::ColumnVector getResidue (const ossimTieGptSet &tieSet)
 
NEWMAT::ColumnVector solveLeastSquares (NEWMAT::SymmetricMatrix &A, NEWMAT::ColumnVector &r) const
 
NEWMAT::Matrix invert (const NEWMAT::Matrix &m) const
 stable invert stolen from ossimRpcSolver More...
 
- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 
- Protected Member Functions inherited from ossimAdjustableParameterInterface
bool paramChanged (ossim_uint32 param_idx) const
 Returns true if specified parameter has been modified since last setAllChangeFlag(false) call. More...
 
void setAllChangeFlags (bool areChanged)
 Sets all the change flags to the boolean indicated to indicate parameters are changed (TRUE) or not (FALSE). More...
 
void initChangeFlags ()
 Initializes the change flags to TRUE. More...
 

Protected Attributes

ossimRefPtr< ossimFormosatDimapSupportDatatheSupportData
 
ossimFilename theMetaDataFile
 
ossim_float64 theIllumAzimuth
 
ossim_float64 theIllumElevation
 
ossim_float64 theSatAzimuth
 
ossim_float64 thePositionError
 
ossim_float64 theRefImagingTime
 
ossim_float64 theRefImagingTimeLine
 relative to full image More...
 
ossim_float64 theLineSamplingPeriod
 
ossimDpt theSpotSubImageOffset
 
ossim_float64 theRollOffset
 
ossim_float64 thePitchOffset
 
ossim_float64 theYawOffset
 
ossim_float64 theRollRate
 
ossim_float64 thePitchRate
 
ossim_float64 theYawRate
 
ossim_float64 theFocalLenOffset
 
- Protected Attributes inherited from ossimSensorModel
ossimIpt theImageSize
 
ossimDpt theSubImageOffset
 
ossimString theImageID
 
ossimString theSensorID
 
ossimDpt theGSD
 
ossim_float64 theMeanGSD
 
ossimGpt theRefGndPt
 
ossimDpt theRefImgPt
 
ossimPolygon theBoundGndPolygon
 
ossimDrect theImageClipRect
 
ossim_float64 theRelPosError
 
ossim_float64 theNominalPosError
 
ossimDpt theParWRTx
 Partials for current point. More...
 
ossimDpt theParWRTy
 
ossimDpt theParWRTz
 
ossimDpt theObs
 Observations & residuals for current point. More...
 
ossimDpt theResid
 
ossimRefPtr< ossimProjectiontheSeedFunction
 Used as an initial guess for iterative solutions and a guess for points outside the support bounds. More...
 
bool theExtrapolateImageFlag
 
bool theExtrapolateGroundFlag
 
- Protected Attributes inherited from ossimErrorStatusInterface
ossimErrorCode theErrorStatus
 

Detailed Description

Definition at line 34 of file ossimFormosatModel.h.

Member Enumeration Documentation

◆ AdjustParamIndex

Constructor & Destructor Documentation

◆ ossimFormosatModel() [1/5]

ossimplugins::ossimFormosatModel::ossimFormosatModel ( )

CONSTRUCTORS:

Definition at line 70 of file ossimFormosatModel.cpp.

References initAdjustableParameters().

71  :
73  theSupportData (NULL),
74  theMetaDataFile ("NOT ASSIGNED"),
75  theIllumAzimuth (0.0),
76  theIllumElevation (0.0),
77  theSatAzimuth (0.0),
78  thePositionError (0.0),
79  theRefImagingTime (0.0),
82 // theSatToOrbRotation (3, 3),
83 // theOrbToEcfRotation (3, 3),
84  theRollOffset (0.0),
85  thePitchOffset (0.0),
86  theYawOffset (0.0),
87  theRollRate (0.0),
88  thePitchRate (0.0),
89  theYawRate (0.0),
90  theFocalLenOffset (0.0)
91 {
93 }
ossimRefPtr< ossimFormosatDimapSupportData > theSupportData
ossim_float64 theRefImagingTimeLine
relative to full image

◆ ossimFormosatModel() [2/5]

ossimplugins::ossimFormosatModel::ossimFormosatModel ( ossimFormosatDimapSupportData sd)

Definition at line 95 of file ossimFormosatModel.cpp.

References ossimErrorStatusInterface::getErrorStatus(), initAdjustableParameters(), loadSupportData(), ossimErrorCodes::OSSIM_OK, ossimNotify(), ossimNotifyLevel_DEBUG, and updateModel().

96  :
98  theSupportData (sd),
99  theMetaDataFile ("NOT ASSIGNED"),
100  theIllumAzimuth (0.0),
101  theIllumElevation (0.0),
102  theSatAzimuth (0.0),
103  thePositionError (0.0),
104  theRefImagingTime (0.0),
105  theRefImagingTimeLine (0.0),
106  theLineSamplingPeriod (0.0),
107 // theSatToOrbRotation (3, 3),
108 // theOrbToEcfRotation (3, 3),
109  theRollOffset (0.0),
110  thePitchOffset (0.0),
111  theYawOffset (0.0),
112  theRollRate (0.0),
113  thePitchRate (0.0),
114  theYawRate (0.0),
115  theFocalLenOffset (0.0)
116 {
117  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimFormosatModel(dimap_file) Constructor: entering..." << std::endl;
118 
119  //---
120  // Instantiate the support data classes after establishing the filenames:
121  //---
122  loadSupportData();
123 
125  {
126  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimFormosatModel(dimap_file) Constructor: returning with error..." << std::endl;
127  return;
128  }
129 
130  //---
131  // initialize remaining data members:
132  //---
134  updateModel();
135 
136  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimFormosatModel(dimap_file) Constructor: returning..." << std::endl;
137 }
static const ossimErrorCode OSSIM_OK
ossimRefPtr< ossimFormosatDimapSupportData > theSupportData
ossim_float64 theRefImagingTimeLine
relative to full image
virtual ossimErrorCode getErrorStatus() const
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ ossimFormosatModel() [3/5]

ossimplugins::ossimFormosatModel::ossimFormosatModel ( const ossimFilename init_file)

◆ ossimFormosatModel() [4/5]

ossimplugins::ossimFormosatModel::ossimFormosatModel ( const ossimKeywordlist geom_kwl)

◆ ossimFormosatModel() [5/5]

ossimplugins::ossimFormosatModel::ossimFormosatModel ( const ossimFormosatModel rhs)

Definition at line 152 of file ossimFormosatModel.cpp.

References ossimFormosatDimapSupportData::dup(), loadSupportData(), theSupportData, updateModel(), and ossimRefPtr< T >::valid().

153  :ossimSensorModel(rhs)
154 {
155  if(rhs.theSupportData.valid())
156  {
157  theSupportData = (ossimFormosatDimapSupportData*)rhs.theSupportData->dup();
158  }
159  loadSupportData();
160  updateModel();
161 }
ossimRefPtr< ossimFormosatDimapSupportData > theSupportData

◆ ~ossimFormosatModel()

ossimplugins::ossimFormosatModel::~ossimFormosatModel ( )
virtual

Definition at line 143 of file ossimFormosatModel.cpp.

References ossimNotify(), and ossimNotifyLevel_DEBUG.

144 {
145  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG DESTRUCTOR: ~ossimFormosatModel(): entering..." << std::endl;
146 
147  theSupportData = 0;
148 
149  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG DESTRUCTOR: ~ossimFormosatModel(): returning..." << std::endl;
150 }
ossimRefPtr< ossimFormosatDimapSupportData > theSupportData
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

Member Function Documentation

◆ computeSatToOrbRotation()

void ossimplugins::ossimFormosatModel::computeSatToOrbRotation ( NEWMAT::Matrix &  result,
ossim_float64  t 
) const
protected

Definition at line 164 of file ossimFormosatModel.cpp.

References ossimNotify(), ossimNotifyLevel_DEBUG, ossimDpt3d::x, ossimDpt3d::y, and ossimDpt3d::z.

165 {
166  if (traceExec())
167  {
169  << "DEBUG ossimFormosatModel::computeSatToOrbRotation(): entering..."
170  << std::endl;
171  }
172  //---
173  // Linearly interpolate attitudes angles:
174  //---
175  ossimDpt3d att;
176  theSupportData->getAttitude(t, att);
177 
178  //---
179  // Apply the attitude adjustable parameters:
180  //---
181  double dt = theRefImagingTime - t;
182  att.x += thePitchOffset + dt*thePitchRate;
183  att.y += theRollOffset + dt*theRollRate;
184  att.z += theYawOffset + dt*theYawRate;
185 
186  //---
187  // Compute trig functions to populate rotation matrices: ANGLES IN RADIANS
188  //---
189  double cp = cos(att.x);
190  double sp = sin(att.x);
191  double cr = cos(att.y);
192  double sr = sin(att.y);
193  double cy = cos(att.z);
194  double sy = sin(att.z);
195 
196  //---
197  // Populate rotation matrix:
198  //---
199  result = NEWMAT::Matrix(3,3);
200  result << (cr*cy) << (-cr*sy) << (-sr)
201  << (cp*sy+sp*sr*cy) << (cp*cy-sp*sr*sy) << (sp*cr)
202  << (-sp*sy+cp*sr*cy) << (-sp*cy-cp*sr*sy) << cp*cr;
203 
204 
205  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimFormosatModel::computeSatToOrbRotation(): returning..." << std::endl;
206 }
void getAttitude(ossim_uint32 sample, ossimDpt3d &at) const
ossimRefPtr< ossimFormosatDimapSupportData > theSupportData
double z
Definition: ossimDpt3d.h:145
double x
Definition: ossimDpt3d.h:143
double y
Definition: ossimDpt3d.h:144
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ dup()

ossimObject * ossimplugins::ossimFormosatModel::dup ( ) const
virtual

Returns pointer to a new instance, copy of this. Not implemented yet! Returns NULL...

Implements ossimProjection.

Definition at line 451 of file ossimFormosatModel.cpp.

452 {
453  return new ossimFormosatModel(*this);
454 }

◆ imagingRay()

void ossimplugins::ossimFormosatModel::imagingRay ( const ossimDpt image_point,
ossimEcefRay image_ray 
) const
virtual

Given an image point, returns a ray originating at some arbitrarily high point (ideally at the sensor position) and pointing towards the target.

Reimplemented from ossimSensorModel.

Definition at line 536 of file ossimFormosatModel.cpp.

References ossimColumnVector3d::cross(), ossimDpt::line, ossimNotify(), ossimNotifyLevel_DEBUG, ossimDpt::samp, ossimColumnVector3d::unit(), ossimEcefPoint::x(), ossimEcefPoint::y(), and ossimEcefPoint::z().

538 {
539  bool runtime_dbflag = 0;
540  NEWMAT::Matrix satToOrbit;
541  ossimDpt iPt = image_point;
544 
545  //
546  // 1. Establish time of line imaging:
547  //
548  double t_line = theRefImagingTime +
550  if (traceDebug() || runtime_dbflag)
551  {
552  ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG FormosatModel::imagingRay():------------ BEGIN DEBUG PASS ---------------" << std::endl;
553  ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG FormosatModel::imagingRay(): t_line = " << t_line << std::endl;
554  }
555 
556  //
557  // 2. Interpolate ephemeris position and velocity (in ECF):
558  //
559  ossimEcefPoint tempEcefPoint;
560  ossimEcefPoint P_ecf;
561  theSupportData->getPositionEcf(t_line, P_ecf);
562  theSupportData->getVelocityEcf(t_line, tempEcefPoint);
563  ossimEcefVector V_ecf(tempEcefPoint.x(),
564  tempEcefPoint.y(),
565  tempEcefPoint.z());
566  if (traceDebug() || runtime_dbflag)
567  {
569  << "DEBUG:\n\tP_ecf = " << P_ecf
570  << "\n\t V_ecf = " << V_ecf << std::endl;
571  }
572 
573  //
574  // 3. Establish the look direction in Vehicle LSR space (S_sat).
575  // ANGLES IN RADIANS
576  //
577  ossim_float64 Psi_x;
579  ossim_float64 Psi_y;
581  if (traceDebug() || runtime_dbflag)
582  {
584  << "DEBUG:\n\t Psi_x = " << Psi_x
585  << "\n\t Psi_y = " << Psi_y << endl;
586  }
587 
588  ossimColumnVector3d u_sat (-tan(Psi_y), tan(Psi_x), -(1.0 + theFocalLenOffset));
589  if (traceDebug() || runtime_dbflag)
590  {
592  << "DEBUG \n\t u_sat = " << u_sat << endl;
593  }
594 
595  //
596  // 4. Transform vehicle LSR space look direction vector to orbital LSR space
597  // (S_orb):
598  //
599  computeSatToOrbRotation(satToOrbit, t_line);
600 
601  ossimColumnVector3d u_orb = (satToOrbit*u_sat).unit();
602  if (traceDebug() || runtime_dbflag)
603  {
605  << "DEBUG:\n\t theSatToOrbRotation = " << satToOrbit
606  << "\n\t u_orb = " << u_orb << endl;
607  }
608 
609  //
610  // 5. Transform orbital LSR space look direction vector to ECF.
611  //
612  // a. S_orb space Z-axis (Z_orb) is || to the ECF radial vector (P_ecf),
613  // b. X_orb axis is computed as cross-product between velocity and radial,
614  // c. Y_orb completes the orthogonal S_orb coordinate system.
615  //
616  ossimColumnVector3d Z_orb (P_ecf.x(),
617  P_ecf.y(),
618  P_ecf.z());
619  Z_orb = Z_orb.unit();
620 
621  ossimColumnVector3d X_orb = ossimColumnVector3d(V_ecf.x(),
622  V_ecf.y(),
623  V_ecf.z()).cross(Z_orb).unit();
624  ossimColumnVector3d Y_orb = Z_orb.cross(X_orb);
625 
626  NEWMAT::Matrix orbToEcfRotation = NEWMAT::Matrix(3, 3);
627  orbToEcfRotation << X_orb[0] << Y_orb[0] << Z_orb[0]
628  << X_orb[1] << Y_orb[1] << Z_orb[1]
629  << X_orb[2] << Y_orb[2] << Z_orb[2];
630 
631 
632  ossimColumnVector3d u_ecf = (orbToEcfRotation*u_orb);
633  if (traceDebug() || runtime_dbflag)
634  {
636  << "DEBUG:\n\t orbToEcfRotation = " << orbToEcfRotation
637  << "\n\t u_ecf = " << u_ecf << endl;
638  }
639 
640  //
641  // Establish the imaging ray given direction and origin:
642  //
643  image_ray = ossimEcefRay(P_ecf, ossimEcefVector(u_ecf[0], u_ecf[1], u_ecf[2]));
644 
645  if (traceExec())
646  {
648  << "DEBUG FormosatModel::imagingRay(): returning..." << std::endl;
649  }
650 }
void getPixelLookAngleY(ossim_uint32 sample, ossim_float64 &pa) const
ossimColumnVector3d cross(const ossimColumnVector3d &rhs) const
double samp
Definition: ossimDpt.h:164
void getVelocityEcf(ossim_uint32 sample, ossimEcefPoint &ve) const
double x() const
ossimColumnVector3d unit() const
ossimRefPtr< ossimFormosatDimapSupportData > theSupportData
double ossim_float64
double line
Definition: ossimDpt.h:165
void computeSatToOrbRotation(NEWMAT::Matrix &result, ossim_float64 t) const
ossim_float64 theRefImagingTimeLine
relative to full image
void getPositionEcf(ossim_uint32 sample, ossimEcefPoint &pe) const
double y() const
void getPixelLookAngleX(ossim_uint32 sample, ossim_float64 &pa) const
double z() const
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ initAdjustableParameters()

void ossimplugins::ossimFormosatModel::initAdjustableParameters ( )
protectedvirtual

Sets adjustables to default values.

Reimplemented from ossimAdjustableParameterInterface.

Definition at line 315 of file ossimFormosatModel.cpp.

References ossimNotify(), and ossimNotifyLevel_DEBUG.

Referenced by ossimFormosatModel().

316 {
317  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimFormosatModel::initAdjustableParameters(): entering..." << std::endl;
318 
319  //---
320  // Allocate storage for adjustables and assign their names and units
321  // strings.
322  //---
325 
326  //---
327  // Initialize base-class adjustable parameter array:
328  //---
329  for (ossim_uint32 i=0; i<numParams; ++i)
330  {
331  setAdjustableParameter(i, 0.0);
332  setParameterDescription(i, PARAM_NAMES[i]);
333  setParameterUnit(i,PARAM_UNITS[i]);
334  setParameterSigma(i, SIGMA[i]);
335  }
336 
337  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimFormosatModel::initAdjustableParameters(): returning..." << std::endl;
338 }
void setParameterDescription(ossim_uint32 idx, const ossimString &descrption)
unsigned int ossim_uint32
void setParameterUnit(ossim_uint32 idx, ossimUnitType unit)
virtual void setAdjustableParameter(ossim_uint32 idx, double value, bool notify=false)
void resizeAdjustableParameterArray(ossim_uint32 numberOfParameters)
void setParameterSigma(ossim_uint32 idx, double value, bool notify=false)
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ initFromMetadata()

bool ossimplugins::ossimFormosatModel::initFromMetadata ( ossimFormosatDimapSupportData sd)

uses file path to init model

Definition at line 760 of file ossimFormosatModel.cpp.

References ossimErrorCodes::OSSIM_OK, ossimNotify(), and ossimNotifyLevel_DEBUG.

761 {
762  // init parms
763  theSupportData = sd;
764  theMetaDataFile = "NOT ASSIGNED";
765  theIllumAzimuth = 0.0;
766  theIllumElevation = 0.0;
767  theSatAzimuth = 0.0;
768  thePositionError = 0.0;
769  theRefImagingTime = 0.0;
770  theLineSamplingPeriod = 0.0;
771 // theSatToOrbRotation = 0.0; //matrix
772 // theOrbToEcfRotation = 0.0; //matrix
773  theRollOffset = 0.0;
774  thePitchOffset = 0.0;
775  theYawOffset = 0.0;
776  theRollRate = 0.0;
777  thePitchRate = 0.0;
778  theYawRate = 0.0;
779  theFocalLenOffset = 0.0;
780 
781  //---
782  // Instantiate the support data classes after establishing the filenames:
783  //---
784  loadSupportData();
786  {
787  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimplugins::ossimFormosatModel::initFromMetadata(dimap_file): returning with error..." << std::endl;
788  return false;
789  }
790 
791  //---
792  // initialize remaining data members:
793  //---
795  updateModel();
796  return true;
797 }
static const ossimErrorCode OSSIM_OK
ossimRefPtr< ossimFormosatDimapSupportData > theSupportData
virtual ossimErrorCode getErrorStatus() const
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ lineSampleHeightToWorld()

void ossimplugins::ossimFormosatModel::lineSampleHeightToWorld ( const ossimDpt image_point,
const ossim_float64 heightEllipsoid,
ossimGpt worldPoint 
) const
virtual

Given an image point and height, initializes worldPoint.

Implements ossimSensorModel.

Definition at line 652 of file ossimFormosatModel.cpp.

References ossimEcefRay::intersectAboveEarthEllipsoid(), ossimNotify(), and ossimNotifyLevel_DEBUG.

655 {
656  if (!insideImage(image_point))
657  {
658  if(theSeedFunction.valid())
659  {
660  theSeedFunction->lineSampleToWorld(image_point, worldPoint);
661  }
662  else
663  {
664  worldPoint = extrapolate(image_point, heightEllipsoid);
665  }
666  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimFormosatModel::lineSampleHeightToWorld(): returning..." << std::endl;
667  return;
668  }
669 
670  //***
671  // First establish imaging ray from image point:
672  //***
673  ossimEcefRay imaging_ray;
674  imagingRay(image_point, imaging_ray);
675  ossimEcefPoint Pecf (imaging_ray.intersectAboveEarthEllipsoid(heightEllipsoid));
676  worldPoint = ossimGpt(Pecf);
677 }
virtual void imagingRay(const ossimDpt &image_point, ossimEcefRay &image_ray) const
ossimEcefPoint intersectAboveEarthEllipsoid(const double &heightAboveEllipsoid, const ossimDatum *aDatum=ossimDatumFactory::instance() ->wgs84()) const
bool valid() const
Definition: ossimRefPtr.h:75
virtual ossimDpt extrapolate(const ossimGpt &gp) const
ossimRefPtr< ossimProjection > theSeedFunction
Used as an initial guess for iterative solutions and a guess for points outside the support bounds...
virtual bool insideImage(const ossimDpt &p) const
virtual void lineSampleToWorld(const ossimDpt &lineSampPt, ossimGpt &worldPt) const =0
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ loadGeometry()

void ossimplugins::ossimFormosatModel::loadGeometry ( FILE *  )
protected

◆ loadState()

bool ossimplugins::ossimFormosatModel::loadState ( const ossimKeywordlist kwl,
const char *  prefix = NULL 
)
virtual

Method to the load (recreate) the state of the object from a keyword list. Return true if ok or false on error.

Reimplemented from ossimSensorModel.

Definition at line 508 of file ossimFormosatModel.cpp.

References ossimSensorModel::loadState(), and ossimErrorCodes::OSSIM_OK.

510 {
511  ossimString supportPrefix = ossimString(prefix) + "support_data.";
512 
513  if(!theSupportData)
514  {
516  }
517 
518  if(theSupportData->loadState(kwl, supportPrefix))
519  {
520  if(!ossimSensorModel::loadState(kwl, prefix))
521  {
522  return false;
523  }
524  }
525  else
526  {
527  return false;
528  }
529 
530  loadSupportData();
531  updateModel();
532 
534 }
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
static const ossimErrorCode OSSIM_OK
ossimRefPtr< ossimFormosatDimapSupportData > theSupportData
virtual ossimErrorCode getErrorStatus() const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)

◆ loadSupportData()

void ossimplugins::ossimFormosatModel::loadSupportData ( )
protected

Definition at line 340 of file ossimFormosatModel.cpp.

References ossimErrorCodes::OSSIM_OK, ossimNotify(), ossimNotifyLevel_DEBUG, and ossimNotifyLevel_FATAL.

Referenced by ossimFormosatModel().

341 {
342  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "ossimFormosatModel::loadSupportData(): entering..." << std::endl;
343 
344  //---
345  // Check for good support data:
346  //---
347  if (!theSupportData)
348  {
349  setErrorStatus();
350  ossimNotify(ossimNotifyLevel_FATAL) << "FATAL ossimFormosatModel::loadSupportData(): Null FormosatDimapSupportData pointer passed to"
351  << " constructor! Aborting..." << std::endl;
352  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimFormosatModel::loadSupportData(): returning..." << std::endl;
353  return;
354  }
355 
356  if (traceExec())
357  {
358  ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimFormosatModel::loadSupportData(): theSupportData->getErrorStatus(): "
359  << theSupportData->getErrorStatus() <<std::endl;
360  }
361 
363  {
364  setErrorStatus();
365  ossimNotify(ossimNotifyLevel_FATAL) << "FATAL ossimFormosatModel::loadSupportData(): Bad FormosatDimapSupportData detected. Aborting..."
366  << std::endl;
367  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimFormosatModel::loadSupportData(): returning..." << std::endl;
368  return;
369  }
370 
371  //---
372  // Initialize some member variables from the support data:
373  //---
377 
378  // Center of frame, sub image if we have one.
380 
384 
385  ossimDpt sz;
387  theImageSize = sz;
390 
393 
394  //---
395  // We make this zero base as the base ossimSensorModel does not know about
396  // any sub image we have.
397  //---
400 
401  ossimGpt p1;
402  ossimGpt p2;
403  ossimGpt p3;
404  ossimGpt p4;
405 
406 
407  // I need to find the nominal scale of the spot 5 dataset
408 
409  //---
410  // Position error is a function of whether star tracker information was
411  // available:
412  //---
414  {
415  thePositionError = 50.0;
416  }
417  else
418  {
419  thePositionError = 200.0; // meters
420  }
421  updateModel();
426 
427  ossimDpt v[4]; // temporarily holds vertices for ground polygon
428  v[0] = p1;
429  v[1] = p2;
430  v[2] = p3;
431  v[3] = p4;
433 
434 
435  ossimGpt cgpt, hgpt, vgpt;
436  // ossimEcefPoint hVector, vVector;
438 
439  lineSampleToWorld(midpt, cgpt);
440  lineSampleToWorld(midpt + ossimDpt(1,0), hgpt);
441  lineSampleToWorld(midpt + ossimDpt(0,1), vgpt);
442 
443  theGSD = ossimDpt((ossimEcefPoint(cgpt) - ossimEcefPoint(hgpt)).magnitude(),
444  (ossimEcefPoint(cgpt) - ossimEcefPoint(vgpt)).magnitude());
445 
446  theMeanGSD = (theGSD.x+theGSD.y)/2.0;
447 
448  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimFormosatModel::loadSupportData(): returning..." << std::endl;
449 }
ossimString theSensorID
void getRefLineTimeLine(ossim_float64 &rtl) const
relative to full frame.
static const ossimErrorCode OSSIM_OK
ossimString theImageID
const ossimDpt & ul() const
Definition: ossimDrect.h:339
double y
Definition: ossimDpt.h:165
void getSubImageOffset(ossimDpt &offset) const
virtual void lineSampleToWorld(const ossimDpt &image_point, ossimGpt &world_point) const
ossimRefPtr< ossimFormosatDimapSupportData > theSupportData
ossimPolygon theBoundGndPolygon
ossim_float64 theRefImagingTimeLine
relative to full image
void getImageRect(ossimDrect &rect) const
Zero based image rectangle, sub image if there is one.
ossimDrect theImageClipRect
virtual ossimErrorCode getErrorStatus() const
void getRefImagePoint(ossimDpt &rp) const
zero base center point
ossimDpt midPoint() const
Definition: ossimDrect.h:817
void getRefLineTime(ossim_float64 &rt) const
const ossimDpt & ur() const
Definition: ossimDrect.h:340
double x
Definition: ossimDpt.h:164
void getRefGroundPoint(ossimGpt &gp) const
Center of frame, sub image if there is one.
void getSunElevation(ossim_float64 &el) const
void getSatAzimuth(ossim_float64 &az) const
const ossimDpt & ll() const
Definition: ossimDrect.h:342
void getSunAzimuth(ossim_float64 &az) const
const ossimDpt & lr() const
Definition: ossimDrect.h:341
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
ossim_float64 theMeanGSD
void getLineSamplingPeriod(ossim_float64 &pe) const

◆ print()

std::ostream & ossimplugins::ossimFormosatModel::print ( std::ostream &  out) const
virtual

Extends base-class implementation. Dumps contents of object to ostream.

Reimplemented from ossimSensorModel.

Definition at line 456 of file ossimFormosatModel.cpp.

References ossimSensorModel::print().

457 {
458  // Capture stream flags since we are going to mess with them.
459  std::ios_base::fmtflags f = out.flags();
460 
461  out << "\nDump of ossimFormosatModel at address " << (hex) << this
462  << (dec)
463  << "\n------------------------------------------------"
464  << "\n theImageID = " << theImageID
465  << "\n theMetadataFile = " << theMetaDataFile
466  << "\n theIllumAzimuth = " << theIllumAzimuth
467  << "\n theIllumElevation = " << theIllumElevation
468  << "\n theSatAzimuth = " << theSatAzimuth
469  << "\n thePositionError = " << thePositionError
470  << "\n theImageSize = " << theImageSize
471  << "\n theRefGndPt = " << theRefGndPt
472  << "\n theRefImgPt = " << theRefImgPt
473  << "\n theRefImagingTime = " << theRefImagingTime
474  << "\n theRefImagingTimeLine = " << theRefImagingTimeLine
475  << "\n theLineSamplingPeriod = " << theLineSamplingPeriod
476  << "\n theRollOffset = " << theRollOffset
477  << "\n thePitchOffset = " << thePitchOffset
478  << "\n theYawOffset = " << theYawOffset
479  << "\n theRollRate = " << theRollRate
480  << "\n thePitchRate = " << thePitchRate
481  << "\n theYawRate = " << theYawRate
482  << "\n theFocalLenOffset = " << theFocalLenOffset
483  << "\n------------------------------------------------"
484  << "\n " << endl;
485 
486  // Set the flags back.
487  out.flags(f);
488 
489  return ossimSensorModel::print(out);
490 }
ossimString theImageID
virtual std::ostream & print(std::ostream &out) const
ossim_float64 theRefImagingTimeLine
relative to full image

◆ saveState()

bool ossimplugins::ossimFormosatModel::saveState ( ossimKeywordlist kwl,
const char *  prefix = NULL 
) const
virtual

Fulfills ossimObject base-class pure virtuals. Loads and saves geometry KWL files. Returns true if successful.

Reimplemented from ossimSensorModel.

Definition at line 492 of file ossimFormosatModel.cpp.

References ossimSensorModel::saveState().

494 {
495  if(theSupportData.valid())
496  {
497  ossimString supportPrefix = ossimString(prefix) + "support_data.";
498  theSupportData->saveState(kwl, supportPrefix);
499  }
500  else
501  {
502  return false;
503  }
504 
505  return ossimSensorModel::saveState(kwl, prefix);
506 }
bool valid() const
Definition: ossimRefPtr.h:75
ossimRefPtr< ossimFormosatDimapSupportData > theSupportData
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const

◆ setupOptimizer()

bool ossimplugins::ossimFormosatModel::setupOptimizer ( const ossimString init_file)
virtual

image to ground faster

Reimplemented from ossimOptimizableProjection.

Definition at line 709 of file ossimFormosatModel.cpp.

References ossimKeywordlist::addFile(), ossimString::c_str(), ossimFilename::dirCat(), ossimFilename::exists(), ossimRefPtr< T >::get(), ossimFormosatDimapSupportData::loadXmlFile(), ossimFilename::path(), and ossimFilename::setExtension().

710 {
711  ossimFilename FormosatTest = init_file;
712  ossimFilename geomFile = init_file;
713  geomFile = geomFile.setExtension("geom");
714  bool tryKwl = false;
715 
716  if(!FormosatTest.exists())
717  {
718  FormosatTest = geomFile.path();
719  FormosatTest = FormosatTest.dirCat(ossimFilename("METADATA.DIM"));
720  if(FormosatTest.exists() == false)
721  {
722  FormosatTest = geomFile.path();
723  FormosatTest = FormosatTest.dirCat(ossimFilename("metadata.dim"));
724  }
725  }
726  if(FormosatTest.exists())
727  {
729  if(meta->loadXmlFile(FormosatTest))
730  {
731  initFromMetadata(meta.get());
732  if (getErrorStatus())
733  {
734  tryKwl = true;
735  meta=0;
736  }
737  else
738  {
739  return true;
740  }
741  }
742  else
743  {
744  meta=0;
745  tryKwl = true;
746  }
747  }
748  if(tryKwl)
749  {
750  ossimKeywordlist kwl;
751  if(kwl.addFile(init_file.c_str()))
752  {
753  return loadState(kwl);
754  }
755  }
756  return false;
757 }
Represents serializable keyword/value map.
bool addFile(const char *file)
bool exists() const
bool initFromMetadata(ossimFormosatDimapSupportData *sd)
uses file path to init model
virtual ossimErrorCode getErrorStatus() const
ossimFilename dirCat(const ossimFilename &file) const
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396
bool loadXmlFile(const ossimFilename &file)
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=NULL)
ossimFilename & setExtension(const ossimString &e)
Sets the extension of a file name.
ossimFilename path() const

◆ updateModel()

void ossimplugins::ossimFormosatModel::updateModel ( )
virtual

Following a change to the adjustable parameter set, this virtual is called to permit instances to compute derived quantities after parameter change.

Reimplemented from ossimSensorModel.

Definition at line 264 of file ossimFormosatModel.cpp.

References ossimErrorCodes::OSSIM_ERROR, ossimNotify(), and ossimNotifyLevel_DEBUG.

Referenced by ossimFormosatModel().

265 {
267 
268  try
269  {
270  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimFormosatModel::updateModel(): entering..." << std::endl;
271 
273  {
274  theRollOffset = 0;
275  thePitchOffset = 0;
276  theYawOffset = 0;
277  theRollRate = 0;
278  thePitchRate = 0;
279  theYawRate = 0;
280  theFocalLenOffset = 0;
281  }
282  else
283  {
291  }
292  theSeedFunction = 0;
293  ossimGpt ulg, urg, lrg, llg;
302  ulg,
303  urg,
304  lrg,
305  llg);
306 
307  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimFormosatModel::updateModel(): returning..." << std::endl;
308  }
309  catch(...)
310  {
312  }
313 }
const ossimDpt & ul() const
Definition: ossimDrect.h:339
static const ossimErrorCode OSSIM_ERROR
virtual void lineSampleToWorld(const ossimDpt &image_point, ossimGpt &world_point) const
ossimRefPtr< ossimProjection > theSeedFunction
Used as an initial guess for iterative solutions and a guess for points outside the support bounds...
ossimDrect theImageClipRect
const ossimDpt & ur() const
Definition: ossimDrect.h:340
const ossimDpt & ll() const
Definition: ossimDrect.h:342
const ossimDpt & lr() const
Definition: ossimDrect.h:341
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ useForward()

virtual bool ossimplugins::ossimFormosatModel::useForward ( ) const
inlinevirtual

ossimOptimizableProjection

Implements ossimOptimizableProjection.

Definition at line 111 of file ossimFormosatModel.h.

111 {return false;}

◆ writeGeomTemplate()

static void ossimplugins::ossimFormosatModel::writeGeomTemplate ( ostream &  os)
static

Writes a template of geom keywords processed by loadState and saveState to output stream.

Member Data Documentation

◆ theFocalLenOffset

ossim_float64 ossimplugins::ossimFormosatModel::theFocalLenOffset
protected

Definition at line 160 of file ossimFormosatModel.h.

◆ theIllumAzimuth

ossim_float64 ossimplugins::ossimFormosatModel::theIllumAzimuth
protected

Definition at line 137 of file ossimFormosatModel.h.

◆ theIllumElevation

ossim_float64 ossimplugins::ossimFormosatModel::theIllumElevation
protected

Definition at line 138 of file ossimFormosatModel.h.

◆ theLineSamplingPeriod

ossim_float64 ossimplugins::ossimFormosatModel::theLineSamplingPeriod
protected

Definition at line 146 of file ossimFormosatModel.h.

◆ theMetaDataFile

ossimFilename ossimplugins::ossimFormosatModel::theMetaDataFile
protected

Definition at line 136 of file ossimFormosatModel.h.

◆ thePitchOffset

ossim_float64 ossimplugins::ossimFormosatModel::thePitchOffset
protected

Definition at line 155 of file ossimFormosatModel.h.

◆ thePitchRate

ossim_float64 ossimplugins::ossimFormosatModel::thePitchRate
protected

Definition at line 158 of file ossimFormosatModel.h.

◆ thePositionError

ossim_float64 ossimplugins::ossimFormosatModel::thePositionError
protected

Definition at line 140 of file ossimFormosatModel.h.

◆ theRefImagingTime

ossim_float64 ossimplugins::ossimFormosatModel::theRefImagingTime
protected

Definition at line 141 of file ossimFormosatModel.h.

◆ theRefImagingTimeLine

ossim_float64 ossimplugins::ossimFormosatModel::theRefImagingTimeLine
protected

relative to full image

Definition at line 144 of file ossimFormosatModel.h.

◆ theRollOffset

ossim_float64 ossimplugins::ossimFormosatModel::theRollOffset
protected

Definition at line 154 of file ossimFormosatModel.h.

◆ theRollRate

ossim_float64 ossimplugins::ossimFormosatModel::theRollRate
protected

Definition at line 157 of file ossimFormosatModel.h.

◆ theSatAzimuth

ossim_float64 ossimplugins::ossimFormosatModel::theSatAzimuth
protected

Definition at line 139 of file ossimFormosatModel.h.

◆ theSpotSubImageOffset

ossimDpt ossimplugins::ossimFormosatModel::theSpotSubImageOffset
protected

Definition at line 147 of file ossimFormosatModel.h.

◆ theSupportData

ossimRefPtr<ossimFormosatDimapSupportData> ossimplugins::ossimFormosatModel::theSupportData
protected

Definition at line 131 of file ossimFormosatModel.h.

Referenced by ossimFormosatModel().

◆ theYawOffset

ossim_float64 ossimplugins::ossimFormosatModel::theYawOffset
protected

Definition at line 156 of file ossimFormosatModel.h.

◆ theYawRate

ossim_float64 ossimplugins::ossimFormosatModel::theYawRate
protected

Definition at line 159 of file ossimFormosatModel.h.


The documentation for this class was generated from the following files: