00001 00026 #ifndef INC_SPATMOD_IMAGEAUTOREGISTER_H 00027 #define INC_SPATMOD_IMAGEAUTOREGISTER_H 00028 00029 #ifndef INC_SPATMOD_IMAGERESAMPLEMETHOD_H 00030 #include <spatmod/imageresamplemethod.h> 00031 #endif 00032 00033 #ifndef INC_SPATMOD_GEOREFERENCE_H 00034 #include <spatmod/georeference.h> 00035 #endif 00036 00037 // Forward declarations 00038 #ifndef GENERATING_DOXYGEN_OUTPUT 00039 namespace SPATMOD { 00040 class GEOREFERENCE; 00041 namespace IMAGE { 00042 class STAGE; 00043 } 00044 } 00045 namespace RVC { 00046 class OBJITEMLIST; 00047 } 00048 #endif 00049 00050 00051 namespace SPATMOD { 00052 namespace IMAGE { 00053 00055 class AUTOREGISTER { 00056 public: 00057 00059 class SETTINGS { 00060 public: 00061 00063 SETTINGS (); 00064 00066 SETTINGS (const SETTINGS& rhs); 00067 00069 ~SETTINGS (); 00070 00072 SETTINGS& operator= (const SETTINGS& rhs); 00073 00075 bool GetAdjustExistingGCPs () const 00076 { return (m_AdjustExistingGCPs); } 00077 00079 bool GetAutoGenerateGCPs () const 00080 { return (m_AutoGenerateGCPs); } 00081 00083 UINT16 GetCorrPatchSize () const 00084 { return (m_CorrPatchSize); } 00085 00087 double GetInitialAccuracy () const 00088 { return (m_InitialAccuracy); } 00089 00091 double GetGCPSpacing () const 00092 { return (m_GCPSpacing); } 00093 00095 double GetMaxGCPResidual () const 00096 { return (m_MaxGCPResidual); } 00097 00099 GEOREFERENCE::MODEL GetMaxModel () const 00100 { return (m_MaxModel); } 00101 00103 const RVC::OBJITEMLIST* GetPredefinedGCPs () const 00104 { return (m_pObjItemListPredefinedGCPs); } 00105 00107 RESAMPLEMETHOD GetResampleMethod () const 00108 { return (m_ResampleMethod); } 00109 00111 bool GetUseExistingGCPs () const 00112 { return (m_UseExistingGCPs); } 00113 00114 void IniWrite () const; 00115 00116 void ResetDefaults (); 00117 00119 void SetAutoGenerateGCPs ( 00120 bool AutoGenerateGCPs 00121 ) { m_AutoGenerateGCPs = AutoGenerateGCPs; } 00122 00124 void SetCorrPatchSize (UINT16 CorrPatchSize) 00125 { m_CorrPatchSize = CorrPatchSize; } 00126 00128 void SetGCPSpacing (double GCPSpacing) 00129 { m_GCPSpacing = GCPSpacing; } 00130 00132 void SetInitialAccuracy (double InitialAccuracy) 00133 { m_InitialAccuracy = InitialAccuracy; } 00134 00136 void SetMaxGCPResidual (double MaxGCPResidual) 00137 { m_MaxGCPResidual = MaxGCPResidual; } 00138 00140 void SetMaxModel (GEOREFERENCE::MODEL Model) 00141 { m_MaxModel = Model; } 00142 00144 void SetPredefinedGCPs ( 00145 const RVC::OBJITEMLIST *pObjItemListPredefinedGCPs 00146 ); 00147 00149 void SetResampleMethod (RESAMPLEMETHOD ResampleMethod) 00150 { m_ResampleMethod = ResampleMethod; } 00151 00153 void SetUseExistingGCPs ( 00154 bool UseExisting, 00155 bool AdjustExisting 00156 ) { m_UseExistingGCPs = UseExisting; m_AdjustExistingGCPs = AdjustExisting; } 00157 00158 private: 00159 #ifndef GENERATING_DOXYGEN_OUTPUT 00160 double m_InitialAccuracy; 00161 double m_GCPSpacing; 00162 double m_MaxGCPResidual; 00163 UINT16 m_CorrPatchSize; 00164 GEOREFERENCE::MODEL m_MaxModel; 00165 RESAMPLEMETHOD m_ResampleMethod; 00166 RVC::OBJITEMLIST *m_pObjItemListPredefinedGCPs; 00167 bool m_AutoGenerateGCPs; 00168 bool m_UseExistingGCPs; 00169 bool m_AdjustExistingGCPs; 00170 00171 void Copy (const SETTINGS& rhs); 00172 #endif // GENERATING_DOXYGEN_OUTPUT 00173 }; 00174 00175 AUTOREGISTER (); 00176 ~AUTOREGISTER (); 00177 00180 const GEOREFERENCE* GetGeorefResult () const; 00181 00183 double GetRMSResidual () const; 00184 00187 int Run ( 00188 IMAGE::STAGE& StageInput, 00189 IMAGE::STAGE& StageRef, 00190 const SETTINGS& Settings 00191 ); 00192 00193 private: 00194 #ifndef GENERATING_DOXYGEN_OUTPUT 00195 class PRIV; 00196 PRIV *m_pPriv; 00197 00198 AUTOREGISTER (const AUTOREGISTER&); 00199 AUTOREGISTER& operator= (const AUTOREGISTER&); 00200 #endif // GENERATING_DOXYGEN_OUTPUT 00201 }; 00202 00203 } // End namespace IMAGE 00204 } // End namespace SPATMOD 00205 00206 #endif // INC_SPATMOD_IMAGEAUTOREGISTER_H
1.6.1