51 static ossimTrace traceDebug (
"ossimAutRegUtil:debug");
52 static ossimTrace traceLog(
"ossimAutRegUtil:log");
53 static ossimTrace traceOptions(
"ossimAutRegUtil:options");
55 static const std::string APPLICATION_NAME_KW =
"application_name";
56 static const std::string ADJ_DESC_LABEL_KW =
"adj_desc_label";
57 static const std::string FALSE_KW =
"false";
58 static const std::string IMG_1_KW =
"img_1";
59 static const std::string IMG_2_KW =
"img_2";
60 static const std::string IMG_M_KW =
"img_m";
61 static const std::string IMG_S_KW =
"img_s";
62 static const std::string OP_KW =
"operation";
63 static const std::string SRC_FILE_KW =
"src_file";
64 static const std::string TRUE_KW =
"true";
65 static const std::string ROI_CENTER_LAT_KW =
"roi_center_lat";
66 static const std::string ROI_CENTER_LON_KW =
"roi_center_lon";
67 static const std::string ROI_RADIUS_KW =
"roi_radius";
68 static const std::string ROI_HEIGHT_KW =
"roi_height";
69 static const std::string ROI_MAX_LAT_KW =
"roi_max_lat";
70 static const std::string ROI_MAX_LON_KW =
"roi_max_lon";
71 static const std::string ROI_MIN_LAT_KW =
"roi_min_lat";
72 static const std::string ROI_MIN_LON_KW =
"roi_min_lon";
73 static const std::string ROI_WIDTH_KW =
"roi_width";
74 static const std::string REPORT_FILE_KW =
"report_file";
76 static const std::string FILE_KW =
"file";
77 static const std::string IMG_KW =
"image";
78 static const std::string READER_PROPERTY_KW =
"reader_property";
80 static const std::string OCV_CONFIG_FILE_KW =
"ocv_config_file";
81 static const std::string OCV_DETECTOR_NAME_KW =
"ocv_detector_name";
82 static const std::string OCV_DRAW_MATCHES_FLAG_KW =
"ocv_draw_matches_flag";
83 static const std::string OCV_EXTRACTOR_NAME_KW =
"ocv_extractor_name";
84 static const std::string OCV_MATCHER_NAME_KW =
"ocv_matcher_name";
85 static const std::string OCV_MAX_MATCHES_KW =
"ocv_max_matches";
86 static const std::string OCV_USE_CROSS_CHECK_KW =
"ocv_use_cross_check";
87 static const std::string OCV_USE_GRID_ADAPTED_DETECT_KW =
"ocv_use_grid_adapted_detect";
88 static const std::string OCV_RESULTS_WINDOW_SHOW_KW =
"ocv_results_window_show";
90 static const std::string OAX_CONFIG_FILE_KW =
"oax_config_file";
91 static const std::string OAX_CONVERGENCE_CRITERIA_KW =
"oax_convergence_criteria";
92 static const std::string OAX_GROUND_SIGMA_KW =
"oax_ground_sigma";
93 static const std::string OAX_LAT_SIGMA_KW =
"oax_lat_sigma";
94 static const std::string OAX_LON_SIGMA_KW =
"oax_lon_sigma";
95 static const std::string OAX_HGT_SIGMA_KW =
"oax_hgt_sigma";
96 static const std::string OAX_CONTROL_SIGMA_KW =
"oax_control_sigma";
97 static const std::string OAX_MAX_ITERATIONS_KW =
"oax_max_iterations";
110 m_showMatchWindow(false),
114 m_LatLonHgtControlSigmas(),
121 m_operation(OSSIM_AUTREG_OP_UNKNOWN)
127 <<
"\nossimAutRegUtil::ossimAutRegUtil 1 DEBUG:" << std::endl;
172 <<
"DEBUG: ~ossimAutRegUtil(): entered..." << std::endl;
176 *
m_rep <<
"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
180 <<
"DEBUG: ~ossimAutRegUtil(): returning..." << std::endl;
187 usageString +=
" [option]... [input-option]... -img_1 <input-file 1> -img_2 <input-file 2>\n\nAvailable traces:\n-T \"ossimAutRegUtil:debug\" - General debug trace to standard out.\n-T \"ossimAutRegUtil:log\" - Writes a log file to output-file.log.\n-T \"ossimAutRegUtil:options\" - Writes the options to output-file-options.kwl.";
197 au->
addCommandLineOption(
"--quality",
"<quality>\nNOT WORKING... Desired quality of tiepoint collection.\nRange: 1 to 5, Default = 3");
199 au->
addCommandLineOption(
"--roi-center-llwh",
"<latitude> <longitude> <width> <height>\nSpecify the center ROI in latitude longitude space with width and height in pixels.");
201 au->
addCommandLineOption(
"--roi-center-llr",
"<latitude> <longitude> <radius_in_meters>\nSpecify the center ROI in latitude longitude space with radius in meters.");
203 au->
addCommandLineOption(
"--ocv_config_file",
"<file_path>\nSpecify a keyword list OpenCV configuration file.");
205 au->
addCommandLineOption(
"--oax_config_file",
"<file_path>\nSpecify a keyword list oax configuration file.");
214 std::vector< ossimRefPtr<ossimSingleImageChain> >::iterator i =
m_imgLayer.begin();
235 static const char MODULE[] =
"ossimAutRegUtil::initialize(ossimArgumentParser&)";
243 if( ap.
read(
"-h") || ap.
read(
"--help") || (ap.
argc() == 1) )
253 std::string tempString1;
255 std::string tempString2;
257 std::string tempString3;
259 std::string tempString4;
270 if( ap.
read(
"--report_file", stringParam1) )
272 m_kwl->
addPair( std::string(REPORT_FILE_KW), tempString1 );
276 if( ap.
read(
"--quality", stringParam1) )
282 if( ap.
read(
"--op", stringParam1) )
288 if( ap.
read(
"--img_1", stringParam1))
294 if( ap.
read(
"--img_2", stringParam1))
300 if( ap.
read(
"--img_m", stringParam1))
306 if( ap.
read(
"--img_s", stringParam1))
312 if( ap.
read(
"--ocv_config_file", stringParam1))
314 m_kwl->
addPair( std::string(OCV_CONFIG_FILE_KW), tempString1 );
318 if( ap.
read(
"--oax_config_file", stringParam1))
320 m_kwl->
addPair( std::string(OAX_CONFIG_FILE_KW), tempString1 );
324 if( ap.
read(
"--roi-center-llwh", stringParam1, stringParam2, stringParam3, stringParam4) )
333 if( ap.
read(
"--roi-center-llr", stringParam1, stringParam2, stringParam3) )
341 if( ap.
read(
"--input-src", stringParam1) )
347 if( ap.
read(
"--quality", stringParam1) )
355 if( ap.
read(
"--options", stringParam1) )
358 if ( optionsKwl.
exists() )
362 std::string errMsg =
"ERROR could not open options keyword list file: ";
363 errMsg += optionsKwl.
string();
369 std::string errMsg =
"ERROR options keyword list file does not exists: ";
370 errMsg += optionsKwl.
string();
383 std::string errMsg =
"Unknown option...";
388 if ( ap.
argc() >= 2 )
398 std::string errMsg =
"Must supply an output file.";
406 while ( pos < (ap.
argc()-1) )
412 <<
"argv[" << pos <<
"]: " << file <<
"\n";
417 if (
m_kwl->
find( SRC_FILE_KW.c_str() ) )
419 std::string errMsg = MODULE;
420 errMsg +=
"ERROR Multiple src files passed in. Please combine into one.";
469 static const char MODULE[] =
"ossimAutRegUtil::initialize()";
476 if ( traceOptions() )
481 optionsFile +=
"-options.kwl";
482 ossimString comment =
" Can be use for --options argument.";
497 else if ( s ==
"masreg" )
503 std::string errMsg =
"unknown operation: ";
510 std::string errMsg =
"keyword not found: ";
512 errMsg +=
"\nUse --op option to specify operation.\n";
529 *
m_rep <<
"\n ossimAutRegUtil Summary..."<<std::endl;
532 *
m_rep <<
"\n" << ts;
533 *
m_rep <<
"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
598 <<
"options keyword list:\n" 604 <<
"support record keyword list:\n" 620 throw ossimException(
"ossimTieMeasurementGenerator createObject failed...");
640 static const char MODULE[] =
"ossimAutRegUtil::loadImages";
647 bool isGoodLoad =
false;
669 *
m_rep <<
" open for image 1 failed..."<<std::endl;
677 *
m_rep <<
"-----------------" << endl
679 <<
"width = " << bounds.
width() << endl
680 <<
"height = " << bounds.
height() << endl
681 <<
"overview count = " << (overviews-1) << endl
702 *
m_rep <<
" open for image 2 failed"<<std::endl;
710 *
m_rep <<
"-----------------" << endl
712 <<
"width = " << bounds.
width() << endl
713 <<
"height = " << bounds.
height() << endl
714 <<
"overview count = " << (overviews-1) << endl
717 *
m_rep <<
"-----------------" << endl;
740 static const char MODULE[] =
"ossimAutRegUtil::delineateROIs";
747 bool isGoodOp =
false;
749 for (
int img=0; img<2; ++img)
759 if (
m_geom[img].valid() )
761 if (
m_kwl->
find( ROI_CENTER_LAT_KW.c_str() ) )
766 if ( latStr.
size() && lonStr.
size() )
788 if (
m_ivt[img].valid() )
798 if ( widthStr.
size() && heightStr.
size() )
802 if ( width && height )
804 ossimIpt ul( ossim::round<int>(centerDpt.
x - (width/2)),
805 ossim::round<int>(centerDpt.
y - (height/2)) );
806 ossimIpt lr( (ul.
x + width - 1), ul.
y + height - 1);
813 if ( radiusStr.
size() )
826 ossimIpt ul( ossim::round<int>( centerDpt.
x - rx ),
827 ossim::round<int>( centerDpt.
y - ry ) );
828 ossimIpt lr( ossim::round<int>( centerDpt.
x + rx ),
829 ossim::round<int>( centerDpt.
y + ry ) );
848 std::string errMsg = MODULE;
851 errMsg +=
" image source null!";
881 static const char MODULE[] =
"ossimAutRegUtil::populateObsSet";
888 bool isGoodLoad =
true;
902 for (
int img=0; img<2; ++img)
956 static const char MODULE[] =
"ossimAutRegUtil::configureTieMeasGenerator";
992 if (maxMatches.
size())
1022 static const char MODULE[] =
"ossimAutRegUtil::configureAdjustmentExecutive";
1042 if (
m_oaxKwl->
find(OAX_CONVERGENCE_CRITERIA_KW.c_str()))
1122 static const char MODULE[] =
"ossimAutRegUtil::execute";
1133 *
m_rep<<
"\n\n >> Tie point collection follows...\n"<<endl;
1145 std::vector<ossimImageSource*> src;
1167 bool waitKey =
true;
1177 if (iface1 && iface2)
1204 bool solutionOK =
false;
1206 *
m_rep<<
"\n\n >> Adjustment summary follows...\n"<<endl;
1230 throw ossimException(
"m_adjExec->initializeSolution() failed...");
1242 throw ossimException(
"ossimAdjustableParameterInterface missing...");
1265 for (
int img=0; img<2; ++img)
1315 bool result =
false;
1344 <<
"1) Note 1 content\n" 1345 <<
" Note 1 place holder continued...\n" 1346 <<
"2) Note 2 content\n" 1347 <<
" Note 2 place holder continued...\n" 1349 <<
"\nExample commands:\n" 1351 <<
"\n// Co-register image1 and image2 with 512x512 ROIs centered on point:\n" 1352 << appName <<
" --op coreg --img_1 image1.ntf --img_2 image2.ntf --roi-center-llwh 28.097255037664400 -80.630762190246145 512 512\n" 1354 <<
"\n// Register image2 to control image1 (master): (TBD... not working)\n" 1355 << appName <<
" --op masreg -img_m image1.ntf -img_s image2.ntf -cfg configFile.kwl\n" 1357 <<
"\n// Above command where all options are in a keyword list:\n" 1358 << appName <<
" --options autreg-options.kwl\n" 1365 static const char MODULE[] =
"ossimAutRegUtil::initializeSrcKwl";
1369 << MODULE <<
" entered...\n";
1372 std::string value =
m_kwl->
findKey(std::string(SRC_FILE_KW));
1392 <<
"src keyword list:\n" << *(
m_srcKwl.
get()) <<
"\n";
1395 << MODULE <<
" exited...\n";
1402 static const char MODULE[] =
"ossimAutRegUtil::initializeOcvKwl";
1406 << MODULE <<
" entered...\n";
1409 std::string value =
m_kwl->
findKey(std::string(OCV_CONFIG_FILE_KW));
1429 <<
"ocv keyword list:\n" << *(
m_ocvKwl.
get()) <<
"\n";
1432 << MODULE <<
" exited...\n";
1439 static const char MODULE[] =
"ossimAutRegUtil::initializeOaxKwl";
1443 << MODULE <<
" entered...\n";
1446 std::string value =
m_kwl->
findKey(std::string(OAX_CONFIG_FILE_KW));
1466 <<
"oax keyword list:\n" << *(
m_oaxKwl.
get()) <<
"\n";
1469 << MODULE <<
" exited...\n";
1476 static const char MODULE[] =
"ossimAutRegUtil::addImgSource";
1483 << MODULE <<
" entered...\nFile: " << file <<
"\n";
1514 std::vector<ossimString> splitArray;
1515 value.
split(splitArray,
"=");
1516 if(splitArray.size() == 2)
1532 bool result =
false;
1533 if ( chain.
valid() )
1547 static const char MODULE[] =
"ossimAutRegUtil::createChain(const ossimFilename&";
1552 << MODULE <<
" entered..." 1553 <<
"\nfile: " << file
1554 <<
"\nentry: " << entryIndex
1565 if ( ic->
open( file ) )
1577 errMsg << MODULE <<
" ERROR:\nEntry " << entryIndex <<
" out of range!" 1643 if ( ic.
valid() == false )
1645 std::string errMsg =
"Could not open: ";
1656 <<
"chain:\n" << kwl <<
"\n" 1657 << MODULE <<
" exiting...\n";
1666 static const char MODULE[] =
"ossimAutRegUtil::createIdentityProjection";
1696 if (
m_geom[idx].valid() )
1712 <<
"\nAffine transform parameters:" 1713 <<
"\nrotation: " << rotation
1714 <<
"\nmid point: " << midPt << std::endl;
1737 bool result =
false;
1740 std::string value = kwl->
findKey( key );
virtual bool setDescriptorExtractor(const ossimString &name)=0
ossimRefPtr< ossimKeywordlist > m_kwl
Hold all options passed into intialize.
void write(std::ostream &output, const UsageMap &um, unsigned int widthOfOutput=80)
ossimColumnVector3d m_LatLonHgtControlSigmas
std::string getApplicationName() const
return the application name, as specified by argv[0]
void addCommandLineOption(const ossimString &option, const ossimString &explanation)
void setAddResamplerCacheFlag(bool flag)
If flag is true a resampler cache will be added to the chain at create time.
ossimFilename noExtension() const
ossim_uint32 numberOf(const char *str) const
std::basic_ostringstream< char > ostringstream
Class for char output memory streams.
void clear()
Disconnects and clears the dem and image layers?????????????.
void getOutputFilename(ossimFilename &f) const
Gets the output file name.
static const char * OUTPUT_FILE_KW
bool addImgSource(const ossimFilename &file, ossim_uint32 entryIndex)
Method to create a chain and add to img layers from file.
void addArguments(ossimArgumentParser &ap)
Adds application arguments to the argument parser.
bool loadImages()
Internal load image pair method.
void setReaderProps(ossimImageHandler *ih) const
Passes reader properties to single image handler if any.
void configureAdjustmentExecutive()
Configures adjustment executive.
Represents serializable keyword/value map.
bool addFile(const char *file)
const std::string & findKey(const std::string &key) const
Find methods that take std::string(s).
void configureTieMeasGenerator()
Configures tie measurement generator.
ossimRefPtr< const ossimImageHandler > getImageHandler() const
void setMaxIter(const int maxIter)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=NULL) const
Will save the state of the chain.
const char * find(const char *key) const
void addOptions(ossimArgumentParser &parser)
ossimReferenced allows for shared object ref counting if the reference count ever gets to 0 or less i...
virtual ossimString getEntryString(ossim_int32 entry_number) const
ossimRefPtr< ossimImageViewAffineTransform > m_ivt[2]
Image view transform(IVT).
bool read(const std::string &str)
search for an occurance of a string in the argument list, on sucess remove that occurance from the li...
void getBoundingRect(ossimIrect &bounding_rect) const
Get the bounding rect of (0, 0) to (imageSize.x-1, imageSize.y-1).
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
ossim_uint32 height() const
virtual int numMeasurements() const =0
ossimImageGeometry * getImageGeom(const int index)
void addList(const ossimKeywordlist &src, bool overwrite=true)
void createRenderedChain()
Create a rendered image chain.
static ossimString toString(bool aValue)
Numeric to string methods.
std::vector< ossimRefPtr< ossimSingleImageChain > > m_imgLayer
Array of image source chains.
ossim_uint32 numImages() const
ossimRefPtr< ossimObject > m_tGenObj
virtual bool init(std::ostream &report=std::cout)=0
void split(std::vector< ossimString > &result, const ossimString &separatorList, bool skipBlankFields=false) const
Splits this string into a vector of strings (fields) using the delimiter list specified.
static ossimObjectFactoryRegistry * instance()
void addPair(const std::string &key, const std::string &value, bool overwrite=true)
virtual ossimString getClassName() const
void setAdjustmentDescription(const ossimString &description)
static ossimElevManager * instance()
METHOD: instance() Implements singelton pattern.
void setCommandLineUsage(const ossimString &explanation)
ossimRefPtr< ossimSingleImageChain > createChain(const ossimFilename &file, ossim_uint32 entryIndex) const
Creates a ossimSingleImageChain from file.
bool populateObsSet()
Internal observation set poplulate method.
ossimApplicationUsage * getApplicationUsage()
virtual void setProperty(ossimRefPtr< ossimProperty > property)
virtual bool write(const char *file, const char *comment=0) const
Methods to dump the ossimKeywordlist to a file on disk.
void initializeOcvKwl()
Initializes m_ocvKwl if option was set.
void setImageViewTransform(ossimImageViewTransform *transform)
virtual void setShowCvWindow(const bool showCvWindow)=0
virtual bool setFeatureDetector(const ossimString &name)=0
Single image chain class.
virtual ossim_uint32 getNumberOfDecimationLevels() const
This returns the total number of decimation levels.
virtual bool setDescriptorMatcher(const ossimString &name)=0
void setAdjustment(const ossimAdjustmentInfo &adj, bool notify=false)
ossim_int32 toInt32() const
void reportRemainingOptionsAsUnrecognized(ossimErrorSeverity severity=OSSIM_BENIGN)
for each remaining option report it as an unrecongnized.
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
virtual ossimAdjustableParameterInterface * getAdjustableParameterInterface()
~ossimAutRegUtil()
virtual destructor
static ossimScalarTypeLut * instance()
Returns the static instance of an ossimScalarTypeLut object.
bool initializeSolution(ossimObservationSet &obsSet)
initialize adjustment solution
std::ostream * m_rep
Report stream pointer.
bool errors(ossimErrorSeverity severity=OSSIM_BENIGN) const
virtual ossimRefPtr< ossimImageGeometry > getImageGeometry()
Returns the image geometry object associated with this tile source or NULL if non defined...
virtual const ossimFilename & getFilename() const
Returns the filename.
bool localToWorld(const ossimDpt &local_pt, ossimGpt &world_pt) const
Exposes the 3D projection from image to world coordinates.
OSSIM_DLL void getFormattedTime(const std::string &format, bool gmtFlag, std::string &result)
Gets the current time.
std::string::size_type size() const
virtual double getHeightAboveEllipsoid(const ossimGpt &gpt)
ossimRefPtr< ossimKeywordlist > m_oaxKwl
Hold contents of oax config file if –oax_config_file is used.
bool toBool() const
String to numeric methods.
virtual void closeCvWindow(const bool waitKeyPress=false)=0
unsigned int ossim_uint32
ossimDpt getMetersPerPixel() const
Returns the GSD associated with this image in the active projection.
ossim_float64 toFloat64() const
void execute()
Execute method.
void setApplicationName(const ossimString &name)
void createIdentityProjection(int idx)
Sets the single image chain for identity operations view to an ossimImageViewAffineTransform.
void usage(ossimArgumentParser &ap)
Initializes arg parser and outputs usage.
ossimObject * createObject(const ossimString &objectType)
ossimRefPtr< ossimKeywordlist > m_srcKwl
Hold contents of src file if –src is used.
static ossimString downcase(const ossimString &aString)
ossimRefPtr< ossimKeywordlist > m_ocvKwl
Hold contents of OpenCV config file if –ocv_config_file is used.
bool keyIsTrue(ossimRefPtr< ossimKeywordlist > kwl, const std::string &key) const
ossim_uint32 width() const
ossimTieMeasurementGeneratorInterface * m_tGen
Tie point generator interface.
void setConvCriteria(const int convCriteria)
void setGroundSigmas(const double &latSig, const double &lonSig, const double &hgtSig)
std::vector< ossimIrect > m_roiRects
Correlation ROIs.
ossimAutRegOperation m_operation
Enumerated operation to perform.
bool runSolution()
run adjustment solution
ossimRefPtr< ossimAdjustmentExecutive > m_adjExec
Adjustment executive interface.
bool delineateROIs()
Internal correlation region determination.
void initializeOaxKwl()
Initializes m_oaxKwl if option was set.
void summarizeSolution() const
summarize solution
const ossimProjection * getProjection() const
Access methods for projection (may be NULL pointer).
virtual void setUseGrid(const bool useGrid)=0
void addMeasurement(const ossimDpt &meas, const ossimFilename &imgFile, const ossimDpt &measSigma=ossimDpt(1.0, 1.0))
void saveAdjustment()
saveAdjustment method
virtual ossimScalarType getOutputScalarType() const
This will be used to query the output pixel type of the tile source.
Used to convert from scalar type enumeration to strings and vice versa.
This class defines an abstract Handler which all image handlers(loaders) should derive from...
bool m_showMatchWindow
OpenCV match window display flag.
bool setChainEntry(ossimRefPtr< ossimSingleImageChain > &chain, ossim_uint32 entryIndex) const
Sets entry for a chain.
ossimDpt midPoint() const
void setDescription(const ossimString &desc)
void initialize()
Internal initialize method.
virtual ossimDpt pointIndexedAt(const ossim_uint32 imgIdx, const ossim_uint32 measIdx)=0
virtual bool setImageList(std::vector< ossimImageSource *> src)=0
void initializeSrcKwl()
Initializes m_srcKwl if option was set.
bool open(const ossimFilename &file, bool openOverview=true)
open method that takes an image file.
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string's contents...
ossimFilename imageFile(const int index) const
virtual ossimObject * getBaseObject()=0
static ossimInit * instance()
bool worldToLocal(const ossimGpt &world_pt, ossimDpt &local_pt) const
Exposes the 3D world-to-local image coordinate reverse projection.
unsigned int numMeas() const
virtual ossimIrect getBoundingRect(ossim_uint32 resLevel=0) const
Returns zero-based bounding rectangle of the image.
bool addObservation(ossimRefPtr< ossimPointObservation > obs)
operations
void getAdjustment(ossimAdjustmentInfo &adj) const
std::basic_ofstream< char > ofstream
Class for char output file streams.
ossimRefPtr< const ossimImageRenderer > getImageRenderer() const
ossimAutRegUtil()
default constructor
virtual bool setMaxMatches(const int &maxMatches)=0
ossimFilename & setExtension(const ossimString &e)
Sets the extension of a file name.
virtual bool setCurrentEntry(ossim_uint32 entryIdx)
ossimRefPtr< ossimImageGeometry > m_geom[2]
The image geometry.
static const char * QUALITY_KW
const ossimAutRegUtil & operator=(const ossimAutRegUtil &rhs)
Hidden from use assignment operator.
virtual bool setROIs(std::vector< ossimIrect > roi)=0
bool isSrcFile(const ossimFilename &file) const
int & argc()
return the argument count.
void setExpandEnvVarsFlag(bool flag)
ossimColumnVector3d m_LatLonHgtSigmas
A priori tie point sigmas.
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
ossimRefPtr< ossimObservationSet > m_obsSet
Observation set.
void writeErrorMessages(std::ostream &output, ossimErrorSeverity sevrity=OSSIM_BENIGN)
write out error messages at an above specified .
const std::string & string() const
bool m_controlImage[2]
Control image flags.
void setAddChainCacheFlag(bool flag)
If flag is true a chain cache will be added to the chain at create time.