File failed to load: https://isis.astrogeology.usgs.gov/9.0.0/Object/assets/jax/output/NativeMML/config.js
Isis Developer Reference
BundleSolutionInfo.h
Go to the documentation of this file.
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
173 Q_OBJECT
174 public:
176 FileName controlNetworkFileName,
177 BundleResults outputStatistics,
178 QList<ImageList *> imgList,
179 QObject *parent = 0);
181 FileName controlNetworkFileName,
182 FileName lidarDataFileName,
183 BundleResults outputStatistics,
184 QList<ImageList *> imgList,
185 QObject *parent = 0);
187 QXmlStreamReader *xmlReader,
188 QObject *parent = 0);
189 void readBundleSolutionInfo(QXmlStreamReader *xmlReader);
191
193
195 QString savedImagesFilename();
196 QString savedPointsFilename();
197 QString savedResidualsFilename();
198
199 void addAdjustedImages(ImageList *images);
200 void setOutputStatistics(BundleResults statisticsResults);
201 void setOutputControl(Control *outputControl);
202 void setOutputControlName(QString name);
203 void setRunTime(QString runTime);
204 void setName(QString name);
205
207 QString id() const;
208 QString inputControlNetFileName() const;
209 QString outputControlNetFileName() const;
210 Control *control() const;
211 QString outputControlName() const;
212 QString inputLidarDataFileName() const;
216 QString runTime() const;
217 QString name() const;
218
219
220 bool outputImagesCSVHeader(std::ofstream &fpOut, BundleObservationQsp observations);
221 bool outputHeader(std::ofstream &fpOut);
222 bool outputText();
223 bool outputImagesCSV();
224 bool outputPointsCSV();
225 bool outputLidarCSV();
226 bool outputResiduals();
227
228 void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const;
229
231 SurfacePoint::CoordIndex coordInx) const;
232
233 public slots:
234 void updateFileName(Project *);
235
236 private:
237
240 QUuid *m_id;
241 QString m_name;
242 QString m_runTime;
243 FileName *m_inputControlNetFileName;
244 Control *m_outputControl;
245 QString m_outputControlName;
246 FileName *m_inputLidarDataFileName;
247 LidarData *m_outputLidarDataSet;
248 BundleSettingsQsp m_settings;
249 BundleResults *m_statisticsResults;
250 QList<ImageList *> *m_images;
251 QList<ImageList *> *m_adjustedImages;
252
253 // In theory the path in the BundleSettings can change while running. So we save the
254 // filenames actually used when the most recent save of the file was done.
255 QString m_txtBundleOutputFilename;
256 QString m_csvSavedImagesFilename;
257 QString m_csvSavedPointsFilename;
258 QString m_csvSavedResidualsFilename;
259
260 // BundleSolutionInfo *m_xmlHandlerBundleSolutionInfo; //!< The bundleSolutionInfo object
261 Project *m_xmlHandlerProject; // TODO does xml stuff need project???
262 QString m_xmlHandlerCharacters;
263
264 }; // end BundleSolutionInfo class
265
266 void setStringAttribute(int locationId, QString locationName,
267 QString attributeName, QString attributeValue);
268 QString getStringAttribute(int locationId, QString locationName, QString attributeName);
269}; // end namespace Isis
270
272
273#endif // BundleSolutionInfo_h
Q_DECLARE_METATYPE(Isis::BundleSolutionInfo *)
A container class for statistical results from a BundleAdjust solution.
Definition BundleResults.h:90
Container class for BundleAdjustment results.
Definition BundleSolutionInfo.h:172
bool outputResiduals()
Outputs image coordinate residuals to a csv file.
Definition BundleSolutionInfo.cpp:1825
bool outputImagesCSV()
Outputs the bundleout_images.csv file which contains Jigsaw data about the images within each observa...
Definition BundleSolutionInfo.cpp:1259
QString inputControlNetFileName() const
Returns the name of the input control network.
Definition BundleSolutionInfo.cpp:376
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Saves the BundleSolutionInfo to the project.
Definition BundleSolutionInfo.cpp:1975
QString inputLidarDataFileName() const
Returns name of input lidar data file (if any).
Definition BundleSolutionInfo.cpp:400
void addAdjustedImages(ImageList *images)
Adds a list of images that were adjusted (their labels were updated).
Definition BundleSolutionInfo.cpp:268
QString savedPointsFilename()
Returns filename of output bundle points csv file.
Definition BundleSolutionInfo.cpp:248
BundleSettingsQsp bundleSettings()
Returns bundle settings.
Definition BundleSolutionInfo.cpp:449
void setName(QString name)
Sets the name of the bundle.
Definition BundleSolutionInfo.cpp:488
void setOutputControl(Control *outputControl)
Returns the name of the output control network.
Definition BundleSolutionInfo.cpp:410
BundleSolutionInfo(BundleSettingsQsp inputSettings, FileName controlNetworkFileName, BundleResults outputStatistics, QList< ImageList * > imgList, QObject *parent=0)
Constructor.
Definition BundleSolutionInfo.cpp:48
QList< ImageList * > adjustedImages() const
Returns the list of images that were adjusted after a bundle.
Definition BundleSolutionInfo.cpp:324
QString surfacePointCoordName(SurfacePoint::CoordinateType type, SurfacePoint::CoordIndex coordInx) const
Determine the control point coordinate name.
Definition BundleSolutionInfo.cpp:2105
QString savedResidualsFilename()
Returns filename of output bundle residuals csv file.
Definition BundleSolutionInfo.cpp:258
void setOutputControlName(QString name)
Sets m_outputControlName.
Definition BundleSolutionInfo.cpp:420
BundleResults bundleResults()
Returns the bundle results.
Definition BundleSolutionInfo.cpp:461
QString id() const
Get a unique, identifying string associated with this BundleSolutionInfo object.
Definition BundleSolutionInfo.cpp:334
void setRunTime(QString runTime)
Sets the run time, and the name if a name is not already set.
Definition BundleSolutionInfo.cpp:344
bool outputPointsCSV()
Outputs point data to a csv file.
Definition BundleSolutionInfo.cpp:1598
QString outputControlName() const
Returns m_outputControlName.
Definition BundleSolutionInfo.cpp:430
void updateFileName(Project *)
TODO: change description below to something more like english.
Definition BundleSolutionInfo.cpp:297
QString outputControlNetFileName() const
Returns the name of the output control network.
Definition BundleSolutionInfo.cpp:386
~BundleSolutionInfo()
Destructor.
Definition BundleSolutionInfo.cpp:191
QString runTime() const
Returns the run time.
Definition BundleSolutionInfo.cpp:366
bool outputHeader(std::ofstream &fpOut)
Output header for bundle results file.
Definition BundleSolutionInfo.cpp:591
QString name() const
Returns the name of the bundle.
Definition BundleSolutionInfo.cpp:499
QString savedBundleOutputFilename()
Returns bundleout text filename.
Definition BundleSolutionInfo.cpp:228
bool outputText()
Outputs a text file with the results of the BundleAdjust.
Definition BundleSolutionInfo.cpp:1375
QString savedImagesFilename()
Returns filename of output bundle images csv file.
Definition BundleSolutionInfo.cpp:238
QList< ImageList * > imageList()
Returns the images used in the bundle.
Definition BundleSolutionInfo.cpp:478
void setOutputStatistics(BundleResults statisticsResults)
Sets the stat results.
Definition BundleSolutionInfo.cpp:278
void readBundleSolutionInfo(QXmlStreamReader *xmlReader)
Definition BundleSolutionInfo.cpp:130
bool outputImagesCSVHeader(std::ofstream &fpOut, BundleObservationQsp observations)
Outputs the header for the bundleout_images.csv file.
Definition BundleSolutionInfo.cpp:515
Control * control() const
Returns bundle output Control object.
Definition BundleSolutionInfo.cpp:439
bool outputLidarCSV()
Outputs lidar data to a csv file.
Definition BundleSolutionInfo.cpp:1767
This represents an ISIS control net in a project-based GUI interface.
Definition Control.h:65
File name manipulation and expansion.
Definition FileName.h:100
Internalizes a list of images and allows for operations on the entire list.
Definition ImageList.h:53
LidarData class.
Definition LidarData.h:49
The main project for ipce.
Definition Project.h:287
Contains Pvl Groups and Pvl Objects.
Definition PvlObject.h:61
CoordinateType
Defines the coordinate typ, units, and coordinate index for some of the output methods.
Definition SurfacePoint.h:139
CoordIndex
Definition SurfacePoint.h:149
This is free and unencumbered software released into the public domain.
Definition BoxcarCachingAlgorithm.h:13
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.
Definition BundleSettings.h:355
QString getStringAttribute(int locationId, QString locationName, QString attributeName)
QSharedPointer< BundleObservation > BundleObservationQsp
Typdef for BundleObservation QSharedPointer.
Definition BundleObservation.h:114
void setStringAttribute(int locationId, QString locationName, QString attributeName, QString attributeValue)