Isis Developer Reference
Isis::LidarData Class Reference

LidarData class. More...

#include <LidarData.h>

Collaboration diagram for Isis::LidarData:
Collaboration graph

Public Types

enum  Format { Binary , Json , Test }
 Enumerates the file formats for serializing the LidarData class. More...
 

Public Member Functions

 LidarData ()
 Default constructor.
 
void insert (QSharedPointer< LidarControlPoint > point)
 Adds a LidarControlPoint to the LidarData.
 
QSharedPointer< LidarControlPointpoint (QString pointId) const
 Gets a single LidarDataPoint by ID.
 
QList< QSharedPointer< LidarControlPoint > > points (bool sort=false) const
 Gets the list of Lidar data points optionally sorted .
 
void SetImages (SerialNumberList &list, Progress *progress=0)
 Creates the ControlNet's image camera's based on the list of Serial Numbers.
 
void SetImages (ControlNet &controlNet, Progress *progress=0)
 TODO: more detail below...
 
void read (FileName)
 Unserialize LidarData.
 
void write (FileName, Format)
 Serializes LidarData.
 
int numberLidarPoints ()
 Returns number of Lidar data points.
 
int numberSimultaneousMeasures ()
 Returns number of simultaneous lidar measures.
 
int numberAsynchronousMeasures ()
 Returns number of non-simultaneous lidar measures.
 
int numberMeasures ()
 Returns total number of lidar measures.
 
bool ValidateSerialNumber (QString serialNumber) const
 Does a check to ensure that the given serial number is contained within the network.
 
QList< ControlMeasure * > GetMeasuresInCube (QString serialNumber)
 Get all the measures pertaining to a given cube serial number.
 
QList< ControlMeasure * > GetValidMeasuresInCube (QString serialNumber)
 Get all the valid measures pertaining to a given cube serial number.
 
int GetNumberOfValidMeasuresInImage (const QString &serialNumber)
 Return the number of measures in image specified by serialNumber.
 
int GetNumberOfJigsawRejectedMeasuresInImage (const QString &serialNumber)
 Return the number of jigsaw rejected measures in image specified by serialNumber.
 

Detailed Description

LidarData class.

Author
2018-01-29 Ian Humphrey

Member Enumeration Documentation

◆ Format

Enumerates the file formats for serializing the LidarData class.

Enumerator
Binary 

Serializes to a binary (QByteArray) .dat file.

Json 

Serializes to a JSON .json file.

Test 

Serializes to an ordered JSON .json file for comparing to truth data.

Constructor & Destructor Documentation

◆ LidarData()

Isis::LidarData::LidarData ( )

Default constructor.

Member Function Documentation

◆ GetMeasuresInCube()

QList< ControlMeasure * > Isis::LidarData::GetMeasuresInCube ( QString serialNumber)

Get all the measures pertaining to a given cube serial number.

Returns
A list of all measures which are in a given cube

References _FILEINFO_, point(), Isis::IException::Programmer, and ValidateSerialNumber().

Referenced by GetValidMeasuresInCube().

◆ GetNumberOfJigsawRejectedMeasuresInImage()

int Isis::LidarData::GetNumberOfJigsawRejectedMeasuresInImage ( const QString & serialNumber)

Return the number of jigsaw rejected measures in image specified by serialNumber.

Returns
Number of jigsaw rejected measures in image

◆ GetNumberOfValidMeasuresInImage()

int Isis::LidarData::GetNumberOfValidMeasuresInImage ( const QString & serialNumber)

Return the number of measures in image specified by serialNumber.

Returns
Number of valid measures in image
History
2013-12-18 Tracie Sucharski - Renamed from GetNumberOfMeasuresInImage, it is returning a count of only valid measures (Ignore=False).

References GetValidMeasuresInCube().

◆ GetValidMeasuresInCube()

QList< ControlMeasure * > Isis::LidarData::GetValidMeasuresInCube ( QString serialNumber)

Get all the valid measures pertaining to a given cube serial number.

Returns
A list of all valid measures which are in a given cube

References GetMeasuresInCube().

Referenced by GetNumberOfValidMeasuresInImage().

◆ insert()

void Isis::LidarData::insert ( QSharedPointer< LidarControlPoint > point)

Adds a LidarControlPoint to the LidarData.

Parameters
QSharedPointer<LidarControlPoint>point LidarControlPoint to add.

References point().

Referenced by read().

◆ numberAsynchronousMeasures()

int Isis::LidarData::numberAsynchronousMeasures ( )

Returns number of non-simultaneous lidar measures.

Returns
int Returns number of non-simultaneous lidar measures.

◆ numberLidarPoints()

int Isis::LidarData::numberLidarPoints ( )

Returns number of Lidar data points.

Returns
int Returns number of Lidar control points.

◆ numberMeasures()

int Isis::LidarData::numberMeasures ( )

Returns total number of lidar measures.

Returns
int Returns total number of lidar measures.

◆ numberSimultaneousMeasures()

int Isis::LidarData::numberSimultaneousMeasures ( )

Returns number of simultaneous lidar measures.

Returns
int Returns number of simultaneous lidar measures.

◆ point()

QSharedPointer< LidarControlPoint > Isis::LidarData::point ( QString pointId) const

Gets a single LidarDataPoint by ID.

Parameters
pointIdThe ID of the LidarDataPoint
Returns
QSharedPointer<LidarDataPoint> The LidarDataPoint matching the supplied ID

References _FILEINFO_, point(), and Isis::IException::Programmer.

Referenced by GetMeasuresInCube(), insert(), and point().

◆ points()

QList< QSharedPointer< LidarControlPoint > > Isis::LidarData::points ( bool sort = false) const

Gets the list of Lidar data points optionally sorted .

Parameters
sortAn option to sort the list. The default is false (no sort).
Returns
QList<QSharedPointer<LidarControlPoint>> Returns list of Lidar control points.

References points().

Referenced by points(), and write().

◆ read()

void Isis::LidarData::read ( FileName lidarDataFile)

Unserialize LidarData.

This method unserializes LidarData from a JSON or binary (QByteArray) file. It will automatically determine if it is JSON or binary formatted data.

Parameters
FileNamelidarFile Name of the serialized LidarData file to read.
Exceptions
IException::UserThrows User exception if it cannot open the file passed.

References _FILEINFO_, Isis::ControlPoint::Constrained, Isis::Angle::Degrees, insert(), Isis::Distance::Kilometers, and Isis::IException::User.

◆ SetImages() [1/2]

void Isis::LidarData::SetImages ( ControlNet & controlNet,
Progress * progress = 0 )

TODO: more detail below...

Assigns Isis::Camera pointers to LidarControlPoint measures.

Parameters
controlNetInput ControlNet
progressA pointer to the progress of creating the cameras
Exceptions
Isis::iException::User- "Lidar Control point measure does not have a cube with a matching serial number"

References _FILEINFO_, Isis::ControlNet::Camera(), Isis::ControlMeasure::GetCubeSerialNumber(), and Isis::IException::User.

◆ SetImages() [2/2]

void Isis::LidarData::SetImages ( SerialNumberList & list,
Progress * progress = 0 )

Creates the ControlNet's image camera's based on the list of Serial Numbers.

Parameters
listThe list of Serial Numbers
progressA pointer to the progress of creating the cameras
Exceptions
Isis::iException::System- "Unable to create camera for cube file"
Isis::iException::User- "Control point measure does not have a cube with a matching serial number"

References _FILEINFO_, Isis::Progress::CheckStatus(), Isis::CameraFactory::Create(), Isis::SerialNumberList::fileName(), Isis::ControlMeasure::GetCubeSerialNumber(), Isis::SerialNumberList::hasSerialNumber(), Isis::SerialNumberList::serialNumber(), Isis::Progress::SetMaximumSteps(), Isis::Progress::SetText(), Isis::SerialNumberList::size(), Isis::IException::Unknown, and Isis::IException::User.

◆ ValidateSerialNumber()

bool Isis::LidarData::ValidateSerialNumber ( QString serialNumber) const

Does a check to ensure that the given serial number is contained within the network.

Parameters
serialNumberthe cube serial number to validate
Returns
bool If the serial number is contained in the network.

Referenced by GetMeasuresInCube().

◆ write()

void Isis::LidarData::write ( FileName outputFile,
LidarData::Format format )

Serializes LidarData.

This method serializes the LidarData to either a JSON or binary (QByteArray) file. If JSON, the file extension will be .json; otherwise (if binary), the file extension will be .dat.

Parameters
FileNameoutputFile Name of the file to serialize to.
LidarData::Formatformat Format of the serialized file (Json or Binary).
Exceptions
IException::UserThrows User exception if it cannot open the file for writing.

References _FILEINFO_, Isis::Angle::Degrees, Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLocalRadius(), Isis::SurfacePoint::GetLongitude(), Isis::SurfacePoint::GetSphericalMatrix(), Json, Isis::Distance::kilometers(), Isis::Latitude::planetocentric(), points(), Isis::Longitude::positiveEast(), Test, Isis::IException::User, and Isis::SurfacePoint::Valid().


The documentation for this class was generated from the following files: