Isis 3 Programmer Reference
LidarData.h
1#ifndef LidarData_h
2#define LidarData_h
3
4#include <QHash>
5#include <QList>
6#include <QMap>
7#include <QPointer>
8#include <QString>
9#include <QVector>
10
11#include "boost/numeric/ublas/symmetric.hpp"
12#include "boost/numeric/ublas/io.hpp"
13
14#include "LidarControlPoint.h"
15
16class QJsonObject;
17
18namespace Isis {
19 class Camera;
20 class ControlMeasure;
21 class ControlNet;
22 class FileName;
23 class Progress;
24 class SerialNumberList;
25
49 class LidarData {
50
51 public:
58
59 LidarData();
60
61 void insert(QSharedPointer<LidarControlPoint> point);
62
63 QSharedPointer<LidarControlPoint> point(QString pointId) const;
64 QList< QSharedPointer<LidarControlPoint> > points(bool sort = false) const;
65
66 void SetImages(SerialNumberList &list, Progress *progress = 0);
67 void SetImages(ControlNet &controlNet, Progress *progress = 0);
68
69 // Serialization methods for LidarData
70 void read(FileName);
71 void write(FileName, Format);
72
76 int numberMeasures();
77
78 bool ValidateSerialNumber(QString serialNumber) const;
79 QList< ControlMeasure * > GetMeasuresInCube(QString serialNumber);
80 QList< ControlMeasure * > GetValidMeasuresInCube(QString serialNumber);
81 int GetNumberOfValidMeasuresInImage(const QString &serialNumber);
82 int GetNumberOfJigsawRejectedMeasuresInImage(const QString &serialNumber);
83
84 private:
85 QHash<QString, QSharedPointer <LidarControlPoint> > m_points;
86
88 QMap<QString, Isis::Camera *> p_cameraMap;
89 QMap<QString, int> p_cameraValidMeasuresMap;
90 QMap<QString, int> p_cameraRejectedMeasuresMap;
91
92 QVector<Isis::Camera *> p_cameraList;
93
94 int m_numSimultaneousMeasures;
95 int m_numAsynchronousMeasures;
96 };
97
98 // typedefs
100 typedef QSharedPointer<LidarData> LidarDataQsp;
101}
102#endif
a control network
Definition ControlNet.h:258
File name manipulation and expansion.
Definition FileName.h:100
LidarData class.
Definition LidarData.h:49
QSharedPointer< LidarControlPoint > point(QString pointId) const
Gets a single LidarDataPoint by ID.
Definition LidarData.cpp:60
QVector< Isis::Camera * > p_cameraList
vector of image# to camera
Definition LidarData.h:92
int numberLidarPoints()
Returns number of Lidar data points.
bool ValidateSerialNumber(QString serialNumber) const
Does a check to ensure that the given serial number is contained within the network.
QList< ControlMeasure * > GetValidMeasuresInCube(QString serialNumber)
Get all the valid measures pertaining to a given cube serial number.
Format
Enumerates the file formats for serializing the LidarData class.
Definition LidarData.h:53
@ Binary
Serializes to a binary (QByteArray) .dat file.
Definition LidarData.h:54
@ Test
Serializes to an ordered JSON .json file for comparing to truth data.
Definition LidarData.h:56
@ Json
Serializes to a JSON .json file.
Definition LidarData.h:55
void SetImages(SerialNumberList &list, Progress *progress=0)
Creates the ControlNet's image camera's based on the list of Serial Numbers.
LidarData()
Default constructor.
Definition LidarData.cpp:38
void read(FileName)
Unserialize LidarData.
QMap< QString, Isis::Camera * > p_cameraMap
camera
Definition LidarData.h:88
QList< QSharedPointer< LidarControlPoint > > points(bool sort=false) const
Gets the list of Lidar data points optionally sorted .
Definition LidarData.cpp:81
void write(FileName, Format)
Serializes LidarData.
int numberMeasures()
Returns total number of lidar measures.
int numberSimultaneousMeasures()
Returns number of simultaneous lidar measures.
QMap< QString, int > p_cameraRejectedMeasuresMap
#rejected measures
Definition LidarData.h:90
void insert(QSharedPointer< LidarControlPoint > point)
Adds a LidarControlPoint to the LidarData.
Definition LidarData.cpp:49
int GetNumberOfValidMeasuresInImage(const QString &serialNumber)
Return the number of measures in image specified by serialNumber.
QMap< QString, int > p_cameraValidMeasuresMap
#measures
Definition LidarData.h:89
QList< ControlMeasure * > GetMeasuresInCube(QString serialNumber)
Get all the measures pertaining to a given cube serial number.
QHash< QString, QSharedPointer< LidarControlPoint > > m_points
hash of LidarControlPoints
Definition LidarData.h:85
int numberAsynchronousMeasures()
Returns number of non-simultaneous lidar measures.
int GetNumberOfJigsawRejectedMeasuresInImage(const QString &serialNumber)
Return the number of jigsaw rejected measures in image specified by serialNumber.
Program progress reporter.
Definition Progress.h:42
Serial Number list generator.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
QSharedPointer< LidarData > LidarDataQsp
Definition for a shared pointer to a LidarData object.
Definition LidarData.h:100