7#include "CameraDistortionMap.h"
8#include "CameraFocalPlaneMap.h"
9#include "CameraGroundMap.h"
10#include "ControlMeasure.h"
11#include "ControlPoint.h"
13#include "IException.h"
176 double newSampleDistorted = 0.0;
177 double newLineDistorted = 0.0;
180 QList<QString> keys = measures->keys();
182 for (
int j = 0; j < keys.size(); j++) {
184 if (measure->IsIgnored()) {
190 if (camera->
SetGround(GetAdjustedSurfacePoint())) {
191 newSampleDistorted = camera->
Sample();
192 newLineDistorted = camera->
Line();
193 measure->SetRejected(
false);
197 measure->SetRejected(
true);
198 measure->SetResidual(0.0, 0.0);
203 measure->SetCoordinate(newSampleDistorted, newLineDistorted);
207 measure->SetFocalPlaneMeasured(measuredUndistortedFPx,measuredUndistortedFPy);
208 measure->SetFocalPlaneComputed(measuredUndistortedFPx, measuredUndistortedFPy);
210 measure->SetResidual(0.0, 0.0);
double UndistortedFocalPlaneX() const
Gets the x-value in the undistorted focal plane coordinate system.
double UndistortedFocalPlaneY() const
Gets the y-value in the undistorted focal plane coordinate system.
virtual double Line() const
Returns the current line number.
Camera(Cube &cube)
Constructs the Camera object.
virtual double Sample() const
Returns the current sample number.
CameraDistortionMap * DistortionMap()
Returns a pointer to the CameraDistortionMap object.
virtual bool SetGround(Latitude latitude, Longitude longitude)
Sets the lat/lon values to get the sample/line values.
Status
This is a return status for many of the mutating (setter) method calls.
@ PointLocked
This is returned when the operation requires Edit Lock to be false but it is currently true.
@ Success
This is returned when the operation successfully took effect.
@ Failure
This is returned when an operation cannot be performed due to a problem such as the point is ignored ...
void PointModified()
List of Control Measures.
LidarControlPoint()
Constructs a LidarControlPoint with the given time, range, and sigma range.
ControlPoint::Status ComputeResiduals()
TODO: clean up code and document why this is different from the ComputeResiduals method for a normal ...
QStringList * m_snSimultaneous
serial number(s) of simultaneous image(s)
double range()
Returns the range of the point.
~LidarControlPoint()
Destructor.
bool isSimultaneous(QString serialNumber)
Determines if input serial number is in list of simultaneous measure serial numbers.
double m_sigmaRange
range sigma
iTime time()
Returns the time of the point.
ControlPoint::Status setTime(iTime time)
Set the time of the LidarControlPoint.
ControlPoint::Status addSimultaneous(QString newSerial)
Add a measure to the list of simultaneous images of a LidarControlPoint.
double sigmaRange()
Returns the sigma range of the point.
ControlPoint::Status setRange(double range)
Set the range of the LidarControlPoint.
ControlPoint::Status setSigmaRange(double sigmaRange)
Sets the sigma range.
iTime m_time
time lidar point was acquired
QStringList snSimultaneous() const
Returns the list of serial numbers of simultaneous images of the Lidar point.
Parse and return pieces of a time string.
This is free and unencumbered software released into the public domain.
Namespace for the standard library.