OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimAutRegUtil.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 // File: ossimAutRegUtil.h
3 //
4 // License: MIT
5 //
6 // See LICENSE.txt file in the top level directory for more details.
7 //
8 // Author: David Hicks
9 //
10 // Description: Utility class for autonomous registration.
11 //----------------------------------------------------------------------------
12 #ifndef ossimAutRegUtil_HEADER
13 #define ossimAutRegUtil_HEADER 1
14 
19 #include <ossim/base/ossimRefPtr.h>
20 #include <ossim/base/ossimDpt.h>
21 #include <ossim/base/ossimGpt.h>
23 
24 #include <ctime>
25 #include <vector>
26 #include <iostream>
27 
28 
29 // Forward class declarations:
31 class ossimImageHandler;
32 class ossimKeywordlist;
36 
46 {
47 public:
50  {
51  OSSIM_AUTREG_OP_UNKNOWN = 0,
52  OSSIM_AUTREG_OP_COREG = 1,
53  OSSIM_AUTREG_OP_MASREG = 2
54  };
55 
60 
64  ~ossimAutRegUtil();
65 
69  void clear();
70 
78  bool initialize(ossimArgumentParser& ap);
79 
80 
85  void initialize(const ossimKeywordlist& kwl);
86 
87 
92  void execute();
93 
94 
95  // /**
96  // * @brief Summarize method
97  // */
98  void summarizeSolution() const;
99 
100 
101  // /**
102  // * @brief saveAdjustment method
103  // */
104  void saveAdjustment();
105 
110  void getOutputFilename(ossimFilename& f) const;
111 
112 private:
113 
118  void initialize();
119 
124  bool loadImages();
125 
130  bool delineateROIs();
131 
136  bool populateObsSet();
137 
138 
140  bool keyIsTrue(ossimRefPtr<ossimKeywordlist> kwl, const std::string& key ) const;
141 
142 
144  bool isSrcFile(const ossimFilename& file) const;
145 
147  void initializeSrcKwl();
148 
150  void initializeOcvKwl();
151 
153  void initializeOaxKwl();
154 
159  void addArguments(ossimArgumentParser& ap);
160 
164  void configureTieMeasGenerator();
165 
169  void configureAdjustmentExecutive();
170 
171 
173  void usage(ossimArgumentParser& ap);
174 
175 
180  void setReaderProps( ossimImageHandler* ih ) const;
181 
188  bool setChainEntry( ossimRefPtr<ossimSingleImageChain>& chain,
189  ossim_uint32 entryIndex ) const;
190 
196  bool addImgSource(const ossimFilename& file,
197  ossim_uint32 entryIndex);
198 
199 
208  ossimRefPtr<ossimSingleImageChain> createChain(const ossimFilename& file,
209  ossim_uint32 entryIndex) const;
210 
215  void createIdentityProjection(int idx);
216 
218  ossimAutRegUtil( const ossimAutRegUtil& obj );
219 
221  const ossimAutRegUtil& operator=( const ossimAutRegUtil& rhs );
222 
228 
230  std::vector<ossimIrect> m_roiRects;
231 
234 
240 
243 
247 
248 
251 
252 
254  std::vector< ossimRefPtr<ossimSingleImageChain> > m_imgLayer;
255 
258 
261 
264 
267 
270 
276 
283 
285  bool m_controlImage[2];
286 };
287 
288 #endif // #ifndef ossimAutRegUtil_HEADER
ossimRefPtr< ossimKeywordlist > m_kwl
Hold all options passed into intialize.
ossimColumnVector3d m_LatLonHgtControlSigmas
void usage()
Represents serializable keyword/value map.
ossimReferenced allows for shared object ref counting if the reference count ever gets to 0 or less i...
std::vector< ossimRefPtr< ossimSingleImageChain > > m_imgLayer
Array of image source chains.
ossimRefPtr< ossimObject > m_tGenObj
std::ostream * m_rep
Report stream pointer.
ossimRefPtr< ossimKeywordlist > m_oaxKwl
Hold contents of oax config file if –oax_config_file is used.
unsigned int ossim_uint32
ossimAutRegOperation
emumerated operations
ossimRefPtr< ossimKeywordlist > m_srcKwl
Hold contents of src file if –src is used.
ossimRefPtr< ossimKeywordlist > m_ocvKwl
Hold contents of OpenCV config file if –ocv_config_file is used.
ossimTieMeasurementGeneratorInterface * m_tGen
Tie point generator interface.
std::vector< ossimIrect > m_roiRects
Correlation ROIs.
ossimAutRegOperation m_operation
Enumerated operation to perform.
ossimRefPtr< ossimAdjustmentExecutive > m_adjExec
Adjustment executive interface.
This class defines an abstract Handler which all image handlers(loaders) should derive from...
bool m_showMatchWindow
OpenCV match window display flag.
ossimReferenced & operator=(const ossimReferenced &)
#define OSSIM_DLL
ossimAutRegUtil class.
ossimColumnVector3d m_LatLonHgtSigmas
A priori tie point sigmas.
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
ossimRefPtr< ossimObservationSet > m_obsSet
Observation set.