Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Isis 3 Programmer Reference
BundleSolutionInfo.h
1#ifndef BundleSolutionInfo_h
2#define BundleSolutionInfo_h
3
9
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include <QList>
13#include <QObject>
14#include <QString>
15
16#include "BundleObservation.h"
17#include "BundleSettings.h"
18#include "LidarData.h"
19#include "SurfacePoint.h"
20
21class QDataStream;
22class QUuid;
23class QXmlStreamWriter;
24class QXmlStreamReader;
25
26namespace Isis {
27 class BundleResults;
28 class Control;
29 class FileName;
30 class ImageList;
31 class Project; //TODO does xml stuff need project???
32 class PvlObject;
33
175 Q_OBJECT
176 public:
178 FileName controlNetworkFileName,
179 BundleResults outputStatistics,
180 QList<ImageList *> imgList,
181 QObject *parent = 0);
183 FileName controlNetworkFileName,
184 FileName lidarDataFileName,
185 BundleResults outputStatistics,
186 QList<ImageList *> imgList,
187 QObject *parent = 0);
189 QXmlStreamReader *xmlReader,
190 QObject *parent = 0);
191 void readBundleSolutionInfo(QXmlStreamReader *xmlReader);
192 BundleSolutionInfo() = default;
193
195
197 QString savedImagesFilename();
198 QString savedPointsFilename();
199 QString savedResidualsFilename();
200
201 void addAdjustedImages(ImageList *images);
202 void setOutputStatistics(BundleResults statisticsResults);
203 void setOutputControl(Control *outputControl);
204 void setOutputControlName(QString name);
205 void setRunTime(QString runTime);
206 void setName(QString name);
207
209 QString id() const;
210 QString inputControlNetFileName() const;
211 QString outputControlNetFileName() const;
212 Control *control() const;
213 QString outputControlName() const;
214 QString inputLidarDataFileName() const;
218 QString runTime() const;
219 QString name() const;
220
221
222 bool outputImagesCSVHeader(std::ofstream &fpOut, BundleObservationQsp observations);
223 bool outputHeader(std::ofstream &fpOut);
224 bool outputText();
225 bool outputImagesCSV();
226 bool outputPointsCSV();
227 bool outputLidarCSV();
228 bool outputResiduals();
229
230 void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const;
231
233 SurfacePoint::CoordIndex coordInx) const;
234
235 public slots:
236 void updateFileName(Project *);
237
238 private:
239
242 QUuid *m_id;
243 QString m_name;
244 QString m_runTime;
247 QString m_outputControlName;
254
255 // In theory the path in the BundleSettings can change while running. So we save the
256 // filenames actually used when the most recent save of the file was done.
257 QString m_txtBundleOutputFilename;
258 QString m_csvSavedImagesFilename;
259 QString m_csvSavedPointsFilename;
260 QString m_csvSavedResidualsFilename;
261
262 // BundleSolutionInfo *m_xmlHandlerBundleSolutionInfo; //!< The bundleSolutionInfo object
263 Project *m_xmlHandlerProject; // TODO does xml stuff need project???
265
266 }; // end BundleSolutionInfo class
267
268 void setStringAttribute(int locationId, QString locationName,
269 QString attributeName, QString attributeValue);
270 QString getStringAttribute(int locationId, QString locationName, QString attributeName);
271}; // end namespace Isis
272
273Q_DECLARE_METATYPE(Isis::BundleSolutionInfo *);
274
275#endif // BundleSolutionInfo_h
A container class for statistical results from a BundleAdjust solution.
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.
QString m_xmlHandlerCharacters
List of characters that have been handled.
void setOutputControl(Control *outputControl)
Returns the name of the output control network.
BundleSolutionInfo(BundleSettingsQsp inputSettings, FileName controlNetworkFileName, BundleResults outputStatistics, QList< ImageList * > imgList, QObject *parent=0)
Constructor.
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.
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.
Definition Control.h:65
Internalizes a list of images and allows for operations on the entire list.
Definition ImageList.h:52
LidarData class.
Definition LidarData.h:49
The main project for ipce.
Definition Project.h:287
CoordinateType
Defines the coordinate typ, units, and coordinate index for some of the output methods.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
QSharedPointer< BundleSettings > BundleSettingsQsp
Definition for a BundleSettingsQsp, a shared pointer to a BundleSettings object.
QSharedPointer< BundleObservation > BundleObservationQsp
Typdef for BundleObservation QSharedPointer.