1#ifndef BundleSolutionInfo_h
2#define BundleSolutionInfo_h
16#include "BundleObservation.h"
17#include "BundleSettings.h"
19#include "SurfacePoint.h"
21#include "XmlStackedHandler.h"
25class QXmlStreamWriter;
168 QList<ImageList *> imgList,
174 QList<ImageList *> imgList,
206 QString
name()
const;
217 void save(QXmlStreamWriter &stream,
const Project *project,
FileName newProjectRoot)
const;
220 SurfacePoint::CoordIndex coordInx)
const;
242 virtual bool startElement(
const QString &namespaceURI,
const QString &localName,
243 const QString &qName,
const QXmlAttributes &atts);
245 virtual bool endElement(
const QString &namespaceURI,
const QString &localName,
246 const QString &qName);
248 SurfacePoint::CoordIndex coordIdx)
const;
267 QString m_outputControlName;
277 QString m_txtBundleOutputFilename;
278 QString m_csvSavedImagesFilename;
279 QString m_csvSavedPointsFilename;
280 QString m_csvSavedResidualsFilename;
284 void setStringAttribute(
int locationId, QString locationName,
285 QString attributeName, QString attributeValue);
286 QString getStringAttribute(
int locationId, QString locationName, QString attributeName);
A container class for statistical results from a BundleAdjust solution.
This class is used to read an images.xml file into an image list.
virtual bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName)
Handle an XML end element.
virtual bool characters(const QString &ch)
Adds characters to m_xmlHandlerCharacters.
XmlHandler(BundleSolutionInfo *bundleSolutionInfo, Project *project)
Create an XML Handler (reader) that can populate the BundleSolutionInfo class data.
QString m_xmlHandlerCharacters
List of characters that have been handled.
virtual bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
Handle an XML start element.
BundleSolutionInfo * m_xmlHandlerBundleSolutionInfo
The bundleSolutionInfo object.
Container class for BundleAdjustment results.
bool outputResiduals()
Outputs image coordinate residuals to a csv file.
bool outputImagesCSV()
Outputs the bundleout_images.csv file which contains Jigsaw data about the images within each observa...
BundleSettingsQsp m_settings
Bundle settings.
QString inputControlNetFileName() const
Returns the name of the input control network.
QString m_runTime
Run time of the bundle adjustment.
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Saves the BundleSolutionInfo to the project.
QString inputLidarDataFileName() const
Returns name of input lidar data file (if any).
void addAdjustedImages(ImageList *images)
Adds a list of images that were adjusted (their labels were updated).
QString savedPointsFilename()
Returns filename of output bundle points csv file.
QUuid * m_id
A unique ID for this BundleSolutionInfo object (useful for others to reference this object when savin...
BundleSettingsQsp bundleSettings()
Returns bundle settings.
void setName(QString name)
Sets the name of the bundle.
QList< ImageList * > * m_adjustedImages
Adjusted image list.
FileName * m_inputControlNetFileName
Input control network file name.
void setOutputControl(Control *outputControl)
Returns the name of the output control network.
QList< ImageList * > adjustedImages() const
Returns the list of images that were adjusted after a bundle.
QList< ImageList * > * m_images
Input image list.
FileName * m_inputLidarDataFileName
Input lidar data file name.
QString surfacePointCoordName(SurfacePoint::CoordinateType type, SurfacePoint::CoordIndex coordInx) const
Determine the control point coordinate name.
QString savedResidualsFilename()
Returns filename of output bundle residuals csv file.
void setOutputControlName(QString name)
Sets m_outputControlName.
BundleResults bundleResults()
Returns the bundle results.
QString id() const
Get a unique, identifying string associated with this BundleSolutionInfo object.
void setRunTime(QString runTime)
Sets the run time, and the name if a name is not already set.
bool outputPointsCSV()
Outputs point data to a csv file.
QString outputControlName() const
Returns m_outputControlName.
void updateFileName(Project *)
TODO: change description below to something more like english.
QString outputControlNetFileName() const
Returns the name of the output control network.
BundleResults * m_statisticsResults
Bundle statistical results.
~BundleSolutionInfo()
Destructor.
QString runTime() const
Returns the run time.
bool outputHeader(std::ofstream &fpOut)
Output header for bundle results file.
LidarData * m_outputLidarDataSet
QList of adjusted lidar points.
QString name() const
Returns the name of the bundle.
QString savedBundleOutputFilename()
Returns bundleout text filename.
bool outputText()
Outputs a text file with the results of the BundleAdjust.
Control * m_outputControl
Output control.
QString savedImagesFilename()
Returns filename of output bundle images csv file.
QList< ImageList * > imageList()
Returns the images used in the bundle.
void setOutputStatistics(BundleResults statisticsResults)
Sets the stat results.
QString m_name
Name of the bundle. Defaults to the id.
bool outputImagesCSVHeader(std::ofstream &fpOut, BundleObservationQsp observations)
Outputs the header for the bundleout_images.csv file.
Control * control() const
Returns bundle output Control object.
bool outputLidarCSV()
Outputs lidar data to a csv file.
This represents an ISIS control net in a project-based GUI interface.
File name manipulation and expansion.
Internalizes a list of images and allows for operations on the entire list.
The main project for ipce.
Contains Pvl Groups and Pvl Objects.
CoordinateType
Defines the coordinate typ, units, and coordinate index for some of the output methods.
XML Handler that parses XMLs in a stack-oriented way.
Manage a stack of content handlers for reading XML files.
This is free and unencumbered software released into the public domain.