OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimOrthoIgen.h
Go to the documentation of this file.
1 //*******************************************************************
2 // Copyright (C) 2000 ImageLinks Inc.
3 //
4 // License: MIT
5 //
6 // See LICENSE.txt file in the top level directory for more details.
7 //
8 // Author: Garrett Potts
9 //
10 // Description: Class declaration for ortho-image generator.
11 //
12 //*************************************************************************
13 // $Id: ossimOrthoIgen.h 22813 2014-06-04 19:52:08Z okramer $
14 
15 #ifndef ossimOrthoIgen_HEADER
16 #define ossimOrthoIgen_HEADER
17 
19 #include <ossim/base/ossimObject.h>
23 #include <ossim/base/ossimRefPtr.h>
24 #include <ossim/base/ossimDpt.h>
30 #include <map>
31 
33 class ossimMapProjection;
34 class ossimImageSource;
35 class ossimImageHandler;
36 class ossimImageCombiner;
37 
39 {
40 public:
42  {
43  OSSIM_UNKNOWN_PROJECTION = 0,
48  OSSIM_EXTERNAL_PROJECTION
49  };
51  {
52  OSSIM_CENTER_ORIGIN = 0,
53  OSSIM_UPPER_LEFT_ORIGIN = 1
54  };
55  typedef std::map<ossimString,ossimString, ossimStringLtstr> PropertyMap;
56 
58 
83  void addArguments(ossimArgumentParser& argumentParser);
84  virtual void initialize(ossimArgumentParser& argumentParser);
85  void addFiles(ossimArgumentParser& argumentParser,
86  bool withDecoding,
87  ossim_uint32 startIdx = 1);
88  void clearFilenameList();
89 
92  void addSrcFile(const ossimFilename& fileName);
93 
94  bool execute();
95  void setDefaultValues();
96 
97 protected:
100  bool parseFilename(const ossimString& file_spec, bool decodeEntry);
101 
104  void establishMosaicTiePoint();
105 
107  void computeGeoScalingLatitude();
108 
109  ossimUnitType theDeltaPerPixelUnit;
110  ossimDpt theDeltaPerPixelOverride;
111  ossimOrthoIgenProjectionType theProjectionType;
112  ossimString theProjectionName;
113  ossimString theCrsString;
114  ossim_float64 theGeoScalingLatitude;
115  ossimString theCombinerType;
116  ossimString theResamplerType;
117  ossimString theWriterType;
118  ossimFilename theTemplateView;
119  ossimFilename theTilingTemplate;
120  ossimFilename theTilingFilename;
121  ossimFilename theChainTemplate;
122  ossimFilename theCombinerTemplate;
123  ossimFilename theAnnotationTemplate;
124  ossimFilename theWriterTemplate;
125  ossimFilename theSupplementaryDirectory;
126  ossimString theSlaveBuffers;
127  OriginType theCutOriginType;
128  ossimDpt theCutOrigin;
129  ossimDpt theCutDxDy;
130  ossimUnitType theCutOriginUnit;
131  ossimUnitType theCutDxDyUnit;
132  ossim_float64 theLowPercentClip;
133  ossim_float64 theHighPercentClip;
134  ossim_int32 theStdDevClip;
135  bool theUseAutoMinMaxFlag;
136  bool theClipToValidRectFlag;
137  PropertyMap theReaderProperties;
138  PropertyMap theWriterProperties;
139  ossimFilename theTargetHistoFileName;
140  std::vector<ossimSrcRecord> theSrcRecords;
141  ossimFilename theProductFilename;
142  ossimRefPtr<ossimProjection> theReferenceProj;
143  ossimFilename theMaskShpFile;
144  bool theCacheExcludedFlag;
145  ossimString thePixelReplacementMode;
146  ossim_float64 theClampPixelMin;
147  ossim_float64 theClampPixelMax;
148  ossim_float64 theClipPixelMin;
149  ossim_float64 theClipPixelMax;
150  ossimString theOutputRadiometry;
151  ossimPixelType thePixelAlignment;
152 
158  void setupIgenChain();
159 
160  bool setupTiling();
161  void setupCutter();
162 
167  ossimImageSource* setupRasterMask(ossimImageChain* single_image_chain,
168  const ossimSrcRecord& src_record);
169 
174  ossimImageSource* setupPixelFlipper(ossimImageChain* single_image_chain,
175  const ossimSrcRecord& src_record);
176 
181  void setupWriter();
182 
187  void setupProjection();
188 
193  void setupAnnotation();
194 
195  void addFiles(ossimString fileInfoStr,
196  std::vector<ossimString> fileInfos,
197  bool withEncodedEntry);
198 
203  void consolidateCutRectSpec();
204 
209  void setupHistogram(ossimImageChain* chain=0, const ossimSrcRecord& src_record=ossimSrcRecord());
210 
212  bool createHistogram(ossimImageChain* chain, const ossimFilename& histo_filename);
213 
218  void addChainCache(ossimImageChain* chain) const;
219 
223  void generateLog();
224 
229  void setupOutputRadiometry();
230 
235  bool isAffectedByElevation();
236 
244  void reComputeChainGsds();
245 
250  void setProductGsd();
251 };
252 #endif
Class used for parsing the command line *.src files.
This will be a base for all combiners.
ossimUnitType
double ossim_float64
virtual void initialize(const ossimKeywordlist &kwl)
Definition: ossimIgen.cpp:247
std::map< ossimString, ossimString, ossimStringLtstr > PropertyMap
unsigned int ossim_uint32
ossimPixelType
This class defines an abstract Handler which all image handlers(loaders) should derive from...
#define OSSIM_DLL
int ossim_int32