Isis Developer Reference
|
A single control point. More...
#include <ControlPoint.h>
Classes | |
struct | RadiusSource |
struct | SurfacePointSource |
Public Types | |
enum | PointType { Fixed = 0 , Constrained = 1 , Free = 2 } |
These are the valid 'types' of point. More... | |
enum | Status { Failure , Success , PointLocked } |
This is a return status for many of the mutating (setter) method calls. More... | |
enum | ConstraintStatus { Coord1Constrained = 0 , Coord2Constrained = 1 , Coord3Constrained = 2 } |
This is a convenience member for checking number of constrained coordinates in the SurfacePoint. More... | |
enum | ModType { EditLockModified , IgnoredModified , TypeModified } |
Control Point Modification Types. More... | |
Public Member Functions | |
ControlPoint () | |
Construct a control point. | |
ControlPoint (const ControlPoint &) | |
Copy the given control point into this instance. | |
ControlPoint (const QString &id) | |
Construct a control point with given Id. | |
virtual | ~ControlPoint () |
This destroys the current instance and cleans up any and all allocated memory. | |
ControlNet * | Parent () |
void | Load (PvlObject &p) |
Loads the PvlObject into a ControlPoint. | |
void | Add (ControlMeasure *measure) |
Add a measurement to the control point, taking ownership of the measure in the process. | |
int | Delete (ControlMeasure *measure) |
Remove a measurement from the control point, deleting reference measure is allowed. | |
int | Delete (QString serialNumber) |
Remove a measurement from the control point, deleting reference measure is allowed. | |
int | Delete (int index) |
Remove a measurement from the control point, deleting reference measure is allowed. | |
Status | ResetApriori () |
Reset all the Apriori info to defaults. | |
const ControlMeasure * | GetMeasure (QString serialNumber) const |
Get a control measure based on its cube's serial number. | |
ControlMeasure * | GetMeasure (QString serialNumber) |
Get a control measure based on its cube's serial number. | |
const ControlMeasure * | GetMeasure (int index) const |
ControlMeasure * | GetMeasure (int index) |
bool | HasRefMeasure () const |
Checks to see if a reference measure is set. | |
const ControlMeasure * | GetRefMeasure () const |
Get the reference control measure. | |
ControlMeasure * | GetRefMeasure () |
Get the measure that is the reference directly. | |
Status | SetChooserName (QString name) |
Set the point's chooser name. | |
Status | SetDateTime (QString newDateTime) |
Set the point's last modified time. | |
Status | SetEditLock (bool editLock) |
Set the EditLock state. | |
Status | SetId (QString id) |
Sets the Id of the control point. | |
Status | SetRefMeasure (ControlMeasure *cm) |
Set the point's reference measure. | |
Status | SetRefMeasure (int index) |
Set the point's reference measure. | |
Status | SetRefMeasure (QString sn) |
Set the points reference measure. | |
Status | SetRejected (bool rejected) |
Set the jigsawRejected state. | |
Status | SetIgnored (bool newIgnoreStatus) |
Set whether to ignore or use control point. | |
Status | SetAdjustedSurfacePoint (SurfacePoint newSurfacePoint) |
Set or update the surface point relating to this control point. | |
Status | SetType (PointType newType) |
Updates the control point's type. | |
Status | SetAprioriRadiusSource (RadiusSource::Source source) |
This updates the source of the radius of the apriori surface point. | |
Status | SetAprioriRadiusSourceFile (QString sourceFile) |
This updates the filename of the DEM that the apriori radius came from. | |
Status | SetAprioriSurfacePoint (SurfacePoint aprioriSP) |
This updates the apriori surface point. | |
Status | SetAprioriSurfacePointSource (SurfacePointSource::Source source) |
This updates the source of the surface point. | |
Status | SetAprioriSurfacePointSourceFile (QString sourceFile) |
This updates the filename of where the apriori surface point came from. | |
Status | ComputeApriori () |
Computes a priori lat/lon/radius point coordinates by determining the average lat/lon/radius of all measures. | |
Status | ComputeResiduals () |
This method computes the BundleAdjust residuals for a point. | |
Status | ComputeResiduals_Millimeters () |
This method computes the residuals for a point. | |
SurfacePoint | GetAdjustedSurfacePoint () const |
SurfacePoint | GetBestSurfacePoint () const |
Returns the adjusted surface point if it exists, otherwise returns the a priori surface point. | |
QString | GetChooserName () const |
QString | GetDateTime () const |
bool | IsEditLocked () const |
bool | IsRejected () const |
QString | GetId () const |
Return the Id of the control point. | |
bool | IsIgnored () const |
bool | IsValid () const |
bool | IsInvalid () const |
bool | IsFree () const |
Return bool indicating if point is Free or not. | |
bool | IsFixed () const |
Return bool indicating if point is Fixed or not. | |
bool | HasAprioriCoordinates () |
bool | IsConstrained () |
Return bool indicating if point is Constrained or not. | |
bool | IsCoord1Constrained () |
Return bool indicating if 1st coordinate is Constrained or not. | |
bool | IsCoord2Constrained () |
Return bool indicating if 2nd coordinate is Constrained or not. | |
bool | IsCoord3Constrained () |
Return bool indicating if 3rd coordinate is Constrained or not. | |
int | NumberOfConstrainedCoordinates () |
Return bool indicating if point is Constrained or not. | |
QString | GetPointTypeString () const |
Obtain a string representation of the PointType. | |
PointType | GetType () const |
QString | GetRadiusSourceString () const |
Obtain a string representation of the RadiusSource. | |
QString | GetSurfacePointSourceString () const |
Obtain a string representation of the SurfacePointSource. | |
SurfacePoint | GetAprioriSurfacePoint () const |
RadiusSource::Source | GetAprioriRadiusSource () const |
bool | HasAprioriRadiusSourceFile () const |
Checks to see if the radius source file has been set. | |
QString | GetAprioriRadiusSourceFile () const |
SurfacePointSource::Source | GetAprioriSurfacePointSource () const |
bool | HasAprioriSurfacePointSourceFile () const |
Checks to see if the surface point source file has been set. | |
QString | GetAprioriSurfacePointSourceFile () const |
int | GetNumMeasures () const |
int | GetNumValidMeasures () const |
int | GetNumLockedMeasures () const |
Returns the number of locked control measures. | |
bool | HasSerialNumber (QString serialNumber) const |
Return true if given serial number exists in point. | |
bool | HasChooserName () const |
Returns true if the choosername is not empty. | |
bool | HasDateTime () const |
Returns true if the datetime is not empty. | |
int | IndexOf (ControlMeasure *, bool throws=true) const |
int | IndexOf (QString sn, bool throws=true) const |
int | IndexOfRefMeasure () const |
bool | IsReferenceExplicit () const |
QString | GetReferenceSN () const |
void | emitMeasureModified (ControlMeasure *measure, ControlMeasure::ModType modType, QVariant oldValue, QVariant newValue) |
This method is a wrapper to emit the measureModified() signal in the parent network is called whenever a change is made to a Control Measure. | |
Statistics | GetStatistic (double(ControlMeasure::*statFunc)() const) const |
This function will call a given method on every control measure that this point has. | |
Statistics | GetStatistic (long dataType) const |
QList< ControlMeasure * > | getMeasures (bool excludeIgnored=false) const |
QList< QString > | getCubeSerialNumbers () const |
const ControlMeasure * | operator[] (QString serialNumber) const |
Same as GetMeasure (provided for convenience) | |
ControlMeasure * | operator[] (QString serialNumber) |
Same as GetMeasure (provided for convenience) | |
const ControlMeasure * | operator[] (int index) const |
Same as GetMeasure (provided for convenience) | |
ControlMeasure * | operator[] (int index) |
Same as GetMeasure (provided for convenience) | |
bool | operator!= (const ControlPoint &pPoint) const |
Compare two Control Points for inequality. | |
bool | operator== (const ControlPoint &pPoint) const |
Compare two Control Points for equality. | |
const ControlPoint & | operator= (const ControlPoint &pPoint) |
void | ZeroNumberOfRejectedMeasures () |
Initialize the number of rejected measures to 0. | |
void | SetNumberOfRejectedMeasures (int numRejected) |
Set (update) the number of rejected measures for the control point. | |
int | GetNumberOfRejectedMeasures () const |
Get the number of rejected measures on the control point. | |
double | GetSampleResidualRms () const |
Get rms of sample residuals. | |
double | GetLineResidualRms () const |
Get rms of line residuals. | |
double | GetResidualRms () const |
Get rms of residuals. | |
void | ClearJigsawRejected () |
Set jigsaw rejected flag for all measures to false and set the jigsaw rejected flag for the point itself to false. | |
Static Public Member Functions | |
static QString | PointTypeToString (PointType type) |
Obtain a string representation of a given PointType. | |
static PointType | StringToPointType (QString pointTypeString) |
Obtain a PointType given a string representation of it. | |
static QString | RadiusSourceToString (RadiusSource::Source source) |
Obtain a string representation of a given RadiusSource. | |
static RadiusSource::Source | StringToRadiusSource (QString str) |
Obtain a RadiusSource::Source from a string. | |
static QString | SurfacePointSourceToString (SurfacePointSource::Source source) |
Obtain a string representation of a given SurfacePointSource. | |
static SurfacePointSource::Source | StringToSurfacePointSource (QString str) |
Obtain a SurfacePoint::Source from a string. | |
Static Public Attributes | |
static const int | PointTypeCount = 3 |
Protected Member Functions | |
void | PointModified () |
List of Control Measures. | |
Protected Attributes | |
QHash< QString, ControlMeasure * > * | measures |
Friends | |
class | ControlNet |
A single control point.
A control point is one or more measurements that identify the same feature or location in different images.
This is a convenience member for checking number of constrained coordinates in the SurfacePoint.
Enumerator | |
---|---|
Coord1Constrained | |
Coord2Constrained | |
Coord3Constrained |
Control Point Modification Types.
This enum is designed to represent the different types of modifications that can be made to a ControlPoint.
EditLockModified means that the Control Point had it's edit lock flag changed. IgnoredModified means that the Control Measure had it's ignored flag changed. TypeModified means that the ControlPoint::PointType for this control point was modified.
Enumerator | |
---|---|
EditLockModified | |
IgnoredModified | |
TypeModified |
These are the valid 'types' of point.
A point type defines what a point is tying together.
Enumerator | |
---|---|
Fixed | A Fixed point is a Control Point whose lat/lon is well established and should not be changed. Some people will refer to this as a truth (i.e., ground truth). A fixed point can be identifed in one or more cubes. Historically this point was called a "Ground" point. |
Constrained | A Constrained point is a Control Point whose lat/lon/radius is somewhat established and should not be changed. |
Free | A Free point is a Control Point that identifies common measurements between two or more cubes. While it could have a lat/lon, it is not necessarily correct and is subject to change. This is the most common type of control point. This point type floats freely in a bundle adjustment. Historically this point type was called "Tie". |
This is a return status for many of the mutating (setter) method calls.
We chose to use return status' because often times ignoring them is the behavior the caller wants.
Isis::ControlPoint::ControlPoint | ( | ) |
Construct a control point.
References Free, measures, Isis::ControlPoint::SurfacePointSource::None, and Isis::ControlPoint::RadiusSource::None.
Isis::ControlPoint::ControlPoint | ( | const ControlPoint & | other | ) |
Copy the given control point into this instance.
other | The control point to duplicate |
References measures, and SetRefMeasure().
Isis::ControlPoint::ControlPoint | ( | const QString & | newId | ) |
Construct a control point with given Id.
id | Control Point Id |
References Free, measures, Isis::ControlPoint::SurfacePointSource::None, and Isis::ControlPoint::RadiusSource::None.
|
virtual |
This destroys the current instance and cleans up any and all allocated memory.
References measures.
void Isis::ControlPoint::Add | ( | ControlMeasure * | measure | ) |
Add a measurement to the control point, taking ownership of the measure in the process.
measure | The ControlMeasure to add |
References PointModified().
Referenced by Isis::ControlPointEditWidget::createControlPoint(), Isis::QnetTool::createPoint(), Isis::StereoTool::createPoint(), and Isis::MatchTool::createPoint().
void Isis::ControlPoint::ClearJigsawRejected | ( | ) |
Set jigsaw rejected flag for all measures to false and set the jigsaw rejected flag for the point itself to false.
ControlPoint::Status Isis::ControlPoint::ComputeApriori | ( | ) |
Computes a priori lat/lon/radius point coordinates by determining the average lat/lon/radius of all measures.
Note that this does not change ignored, fixed or constrained points.
Also, it does not use unmeasured or ignored measures when computing lat/lon/radius.
(KLE) Note this not a rigorous triangulation considering outliers. A better way would be to... a) use e.g. a closest approach algorithm to find intersection of all rays, regardless of whether the intersection lies on the surface in question, then; b) perform a rigorous triangulation with some sort outlier detection approach, a robust estimation technique (perhaps RANSAC)
References _FILEINFO_, Isis::ControlPoint::SurfacePointSource::AverageOfMeasures, Isis::ControlPoint::RadiusSource::AverageOfMeasures, Isis::Camera::Camera(), Isis::Camera::Csm, Free, GetId(), GetMeasure(), GetType(), IsConstrained(), IsFixed(), Isis::Displacement::Kilometers, NumberOfConstrainedCoordinates(), PointModified(), Isis::IException::Programmer, SetAprioriRadiusSource(), SetAprioriSurfacePointSource(), Isis::SurfacePoint::SetRectangular(), Success, Isis::IException::User, and Isis::SurfacePoint::Valid().
Referenced by Isis::ControlNet::ComputeApriori().
ControlPoint::Status Isis::ControlPoint::ComputeResiduals | ( | ) |
This method computes the BundleAdjust residuals for a point.
*** Warning: Only BundleAdjust and its applications should be using this method.
2008-07-17 Tracie Sucharski, Added ptid and measure serial number to the unable to map to surface error.
2009-12-06 Tracie Sucharski, Renamed from ComputeErrors
2010-08-05 Tracie Sucharski, Changed lat/lon/radius to x/y/z
2010-12-10 Debbie A. Cook, Revised error calculation for radar because it was always reporting line errors=0.
2011-03-17 Debbie A. Cook, Fixed typo in radar call to get longitude
2011-03-24 Debbie A. Cook, Removed IsMeasured check since it was really checking for Candidate measures.
2011-07-01 Debbie A. Cook, Removed editLock check to allow BundleAdjust to compute residuals for editLocked points
2012-01-18 Debbie A. Cook, Revised to call ComputeResidualsMillimeters() to avoid duplication of code.
2019-05-16 Debbie A. Cook, The calls to CameraGroundMap::GetXY were changed to allow not testing for points on the back side of the planet during bundle adjustment. Now, the instrument coordinates will be calculated and returned always to this method. In the future, a separate diagnostic tool may be helpful to check for non-visable points in a control net AFTER bundle adjustment. References #2591.
References _FILEINFO_, Isis::Camera::Camera(), ComputeResiduals_Millimeters(), Isis::Camera::Csm, Failure, GetId(), IsIgnored(), measures, PointModified(), Isis::IException::Programmer, Isis::Camera::Radar, and Success.
Referenced by Isis::BundleControlPoint::computeResiduals().
ControlPoint::Status Isis::ControlPoint::ComputeResiduals_Millimeters | ( | ) |
This method computes the residuals for a point.
2008-07-17 Tracie Sucharski - Added ptid and measure serial number to the unable to map to surface error.
2010-12-06 Tracie Sucharski - Renamed from ComputeErrors
2011-03-19 Debbie A. Cook - Changed to use the Camera classes like ComputeResiduals and get the correct calculations for each camera type.
2011-03-24 Debbie A. Cook - Removed IsMeasured check since it was really checking for Candidate measures.
2012-01-18 Debbie A. Cook - Made radar case the same as other instruments and removed incorrect call to SetResidual, which was setting focal plane residuals in x and y instead of image residuals in sample and line.
References Isis::Camera::Camera(), Isis::Camera::Csm, Failure, GetAdjustedSurfacePoint(), IsIgnored(), measures, PointModified(), and Success.
Referenced by ComputeResiduals().
int Isis::ControlPoint::Delete | ( | ControlMeasure * | measure | ) |
Remove a measurement from the control point, deleting reference measure is allowed.
measure | The measure to delete |
References Delete().
Referenced by Delete(), Delete(), Isis::MatchTool::deletePoint(), Isis::ControlNet::DeletePoint(), and Isis::AbstractMeasureItem::deleteSource().
int Isis::ControlPoint::Delete | ( | int | index | ) |
Remove a measurement from the control point, deleting reference measure is allowed.
index | The index of the control measure to delete |
References _FILEINFO_, Delete(), and Isis::IException::Programmer.
int Isis::ControlPoint::Delete | ( | QString | serialNumber | ) |
Remove a measurement from the control point, deleting reference measure is allowed.
serialNumber | The serial number of the measure to delete |
References IsIgnored(), Isis::ControlMeasure::MeasureLocked, measures, PointModified(), and Isis::ControlMeasure::Success.
void Isis::ControlPoint::emitMeasureModified | ( | ControlMeasure * | measure, |
ControlMeasure::ModType | modType, | ||
QVariant | oldValue, | ||
QVariant | newValue ) |
This method is a wrapper to emit the measureModified() signal in the parent network is called whenever a change is made to a Control Measure.
measure | The ControlMeasure* that was modified. |
type | The ControlMeasure::ModType indicating which modification occured. |
oldValue | The oldValue before the change. |
newValue | The new value that the change incorporated. |
Referenced by Isis::ControlMeasure::SetIgnored().
SurfacePoint Isis::ControlPoint::GetAdjustedSurfacePoint | ( | ) | const |
Referenced by Isis::BundleControlPoint::adjustedSurfacePoint(), Isis::LidarControlPoint::ComputeResiduals(), ComputeResiduals_Millimeters(), Isis::AdjustedLatitudeFilter::evaluate(), Isis::AdjustedLatitudeSigmaFilter::evaluate(), Isis::AdjustedLongitudeFilter::evaluate(), Isis::AdjustedLongitudeSigmaFilter::evaluate(), Isis::AdjustedRadiusFilter::evaluate(), Isis::AdjustedRadiusSigmaFilter::evaluate(), Isis::AdjustedXFilter::evaluate(), Isis::AdjustedXSigmaFilter::evaluate(), Isis::AdjustedYFilter::evaluate(), Isis::AdjustedYSigmaFilter::evaluate(), Isis::AdjustedZFilter::evaluate(), Isis::AdjustedZSigmaFilter::evaluate(), Isis::BundleControlPoint::formatBundleLatitudinalOutputDetailString(), Isis::BundleControlPoint::formatBundleOutputSummaryString(), Isis::BundleControlPoint::formatBundleRectangularOutputDetailString(), Isis::AbstractPointItem::getData(), Isis::AbstractPointItem::setData(), and Isis::ControlNetVersioner::toPvl().
ControlPoint::RadiusSource::Source Isis::ControlPoint::GetAprioriRadiusSource | ( | ) | const |
Referenced by Isis::ControlNetVersioner::toPvl().
QString Isis::ControlPoint::GetAprioriRadiusSourceFile | ( | ) | const |
Referenced by Isis::AbstractPointItem::getData(), and Isis::ControlNetVersioner::toPvl().
SurfacePoint Isis::ControlPoint::GetAprioriSurfacePoint | ( | ) | const |
Referenced by Isis::APrioriLatitudeFilter::evaluate(), Isis::APrioriLatitudeSigmaFilter::evaluate(), Isis::APrioriLongitudeFilter::evaluate(), Isis::APrioriLongitudeSigmaFilter::evaluate(), Isis::APrioriRadiusFilter::evaluate(), Isis::APrioriRadiusSigmaFilter::evaluate(), Isis::APrioriXFilter::evaluate(), Isis::APrioriXSigmaFilter::evaluate(), Isis::APrioriYFilter::evaluate(), Isis::APrioriYSigmaFilter::evaluate(), Isis::APrioriZFilter::evaluate(), Isis::APrioriZSigmaFilter::evaluate(), Isis::AbstractPointItem::getData(), Isis::PointTableModel::getPointWarningMessage(), Isis::AbstractPointItem::setData(), Isis::BundleControlPoint::setSigmaWeightFromGlobals(), Isis::BundleControlPoint::setWeights(), and Isis::ControlNetVersioner::toPvl().
ControlPoint::SurfacePointSource::Source Isis::ControlPoint::GetAprioriSurfacePointSource | ( | ) | const |
Referenced by Isis::ControlNetVersioner::toPvl().
QString Isis::ControlPoint::GetAprioriSurfacePointSourceFile | ( | ) | const |
Referenced by Isis::AbstractPointItem::getData(), and Isis::ControlNetVersioner::toPvl().
SurfacePoint Isis::ControlPoint::GetBestSurfacePoint | ( | ) | const |
Returns the adjusted surface point if it exists, otherwise returns the a priori surface point.
References Isis::SurfacePoint::Valid().
QString Isis::ControlPoint::GetChooserName | ( | ) | const |
References Isis::Application::Name(), and Isis::FileName::name().
Referenced by Isis::ChooserNameFilter::evaluate(), Isis::AbstractPointItem::getData(), and Isis::ControlNetVersioner::toPvl().
QList< QString > Isis::ControlPoint::getCubeSerialNumbers | ( | ) | const |
QString Isis::ControlPoint::GetDateTime | ( | ) | const |
References Isis::Application::DateTime().
Referenced by Isis::AbstractPointItem::getData(), and Isis::ControlNetVersioner::toPvl().
QString Isis::ControlPoint::GetId | ( | ) | const |
Return the Id of the control point.
Referenced by Isis::ControlNetVitals::addPoint(), Isis::ControlNet::AddPoint(), ComputeApriori(), ComputeResiduals(), Isis::ControlPointGraphicsItem::contextMenuEvent(), Isis::ControlPointEditWidget::createControlPoint(), Isis::QnetTool::createPoint(), Isis::StereoTool::createPoint(), Isis::Directory::deleteControlPoint(), Isis::ControlNetVitals::deletePoint(), Isis::ControlNet::DeletePoint(), Isis::MatchTool::deletePoint(), Isis::StereoTool::deletePoint(), Isis::PointIdFilter::evaluate(), Isis::AbstractMeasureItem::getData(), Isis::AbstractPointItem::getData(), Isis::ControlMeasure::GetPointId(), GetReferenceSN(), GetRefMeasure(), GetRefMeasure(), Isis::ControlNet::GraphToString(), Isis::BundleControlPoint::id(), Isis::Directory::modifyControlPoint(), Isis::ControlPointGraphicsItem::paint(), Isis::ControlNetVitals::pointModified(), Isis::StereoTool::rubberBandComplete(), SetType(), Isis::ControlNetVersioner::toPvl(), and Isis::MatchTool::updatePointInfo().
double Isis::ControlPoint::GetLineResidualRms | ( | ) | const |
Get rms of line residuals.
ControlMeasure * Isis::ControlPoint::GetMeasure | ( | int | index | ) |
References _FILEINFO_, GetMeasure(), Isis::IException::Programmer, and Isis::toString().
const ControlMeasure * Isis::ControlPoint::GetMeasure | ( | int | index | ) | const |
References _FILEINFO_, GetMeasure(), Isis::IException::Programmer, and Isis::toString().
ControlMeasure * Isis::ControlPoint::GetMeasure | ( | QString | serialNumber | ) |
Get a control measure based on its cube's serial number.
serialNumber | serial number of measure to get |
References measures.
const ControlMeasure * Isis::ControlPoint::GetMeasure | ( | QString | serialNumber | ) | const |
Get a control measure based on its cube's serial number.
serialNumber | serial number of measure to get |
References measures.
Referenced by Isis::BundleControlPoint::BundleControlPoint(), ComputeApriori(), GetMeasure(), GetMeasure(), Isis::PointTableDelegate::readData(), Isis::PointTableDelegate::readData(), Isis::ControlNet::sortedMeasureList(), and Isis::ControlNetVersioner::toPvl().
QList< ControlMeasure * > Isis::ControlPoint::getMeasures | ( | bool | excludeIgnored = false | ) | const |
excludeIgnored | Ignored measures are excluded if this is true. It is false by default. |
Referenced by Isis::ControlNet::DeletePoint(), Isis::MeasureCountFilter::evaluate(), Isis::AbstractFilter::evaluatePointFromMeasureFilter(), and Isis::ControlPointGraphicsItem::paint().
int Isis::ControlPoint::GetNumberOfRejectedMeasures | ( | ) | const |
Get the number of rejected measures on the control point.
Referenced by Isis::BundleControlPoint::numberOfRejectedMeasures().
int Isis::ControlPoint::GetNumLockedMeasures | ( | ) | const |
Returns the number of locked control measures.
References IsEditLocked(), and measures.
Referenced by Isis::AbstractPointItem::deleteSource().
int Isis::ControlPoint::GetNumMeasures | ( | ) | const |
References measures.
Referenced by Isis::BundleControlPoint::BundleControlPoint(), Isis::MatchTool::deletePoint(), Isis::QnetPointMeasureFilter::filter(), Isis::AbstractPointItem::getData(), Isis::ControlNetVitals::getPointsBelowMeasureThreshold(), Isis::QnetFileTool::loadPointImages(), Isis::MatchTool::modifyPoint(), Isis::QnetTool::modifyPoint(), Isis::PointTableDelegate::readData(), Isis::PointTableDelegate::readData(), Isis::ControlNet::sortedMeasureList(), Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::write().
int Isis::ControlPoint::GetNumValidMeasures | ( | ) | const |
References IsIgnored(), and measures.
Referenced by Isis::ControlNetVitals::addPoint(), Isis::ControlNetVitals::deletePoint(), and Isis::ControlNetVitals::pointModified().
QString Isis::ControlPoint::GetPointTypeString | ( | ) | const |
Obtain a string representation of the PointType.
References GetType(), and PointTypeToString().
Referenced by Isis::PointTypeFilter::evaluate(), and Isis::AbstractPointItem::getData().
QString Isis::ControlPoint::GetRadiusSourceString | ( | ) | const |
Obtain a string representation of the RadiusSource.
References RadiusSourceToString().
Referenced by Isis::AbstractPointItem::getData().
QString Isis::ControlPoint::GetReferenceSN | ( | ) | const |
References _FILEINFO_, Isis::ControlMeasure::GetCubeSerialNumber(), GetId(), HasRefMeasure(), and Isis::IException::Programmer.
ControlMeasure * Isis::ControlPoint::GetRefMeasure | ( | ) |
Get the measure that is the reference directly.
References _FILEINFO_, GetId(), HasRefMeasure(), and Isis::IException::Programmer.
const ControlMeasure * Isis::ControlPoint::GetRefMeasure | ( | ) | const |
Get the reference control measure.
References _FILEINFO_, GetId(), HasRefMeasure(), and Isis::IException::Programmer.
Referenced by Isis::MatchTool::deletePoint(), Isis::AbstractMeasureItem::getData(), Isis::AbstractPointItem::getData(), and Isis::ControlMeasure::IsEditLocked().
double Isis::ControlPoint::GetResidualRms | ( | ) | const |
Get rms of residuals.
Referenced by Isis::BundleControlPoint::residualRms().
double Isis::ControlPoint::GetSampleResidualRms | ( | ) | const |
Get rms of sample residuals.
Statistics Isis::ControlPoint::GetStatistic | ( | double(ControlMeasure::*)() const | statFunc | ) | const |
This function will call a given method on every control measure that this point has.
statFunc | The function to use for data collection |
References Isis::Statistics::AddData().
Referenced by Isis::ControlNet::AverageResidual(), Isis::QnetPointJigsawErrorFilter::filter(), and Isis::QnetPointRegistrationErrorFilter::filter().
Statistics Isis::ControlPoint::GetStatistic | ( | long | dataType | ) | const |
References Isis::Statistics::AddData().
QString Isis::ControlPoint::GetSurfacePointSourceString | ( | ) | const |
Obtain a string representation of the SurfacePointSource.
References SurfacePointSourceToString().
Referenced by Isis::AbstractPointItem::getData().
ControlPoint::PointType Isis::ControlPoint::GetType | ( | ) | const |
Referenced by Isis::ControlNetVitals::addPoint(), ComputeApriori(), Isis::ControlNetVitals::deletePoint(), Isis::ControlNetStatistics::GenerateImageStats(), Isis::ControlNetVitals::getConstrainedPoints(), Isis::ControlNetVitals::getFixedPoints(), Isis::ControlNetVitals::getFreePoints(), GetPointTypeString(), Isis::ControlNetVitals::pointModified(), Isis::BundleControlPoint::setWeights(), Isis::ControlNetVersioner::toPvl(), and Isis::BundleControlPoint::type().
bool Isis::ControlPoint::HasAprioriCoordinates | ( | ) |
bool Isis::ControlPoint::HasAprioriRadiusSourceFile | ( | ) | const |
Checks to see if the radius source file has been set.
Referenced by Isis::ControlNetVersioner::toPvl().
bool Isis::ControlPoint::HasAprioriSurfacePointSourceFile | ( | ) | const |
Checks to see if the surface point source file has been set.
Referenced by Isis::ControlNetVersioner::toPvl().
bool Isis::ControlPoint::HasChooserName | ( | ) | const |
Returns true if the choosername is not empty.
bool Isis::ControlPoint::HasDateTime | ( | ) | const |
Returns true if the datetime is not empty.
bool Isis::ControlPoint::HasRefMeasure | ( | ) | const |
Checks to see if a reference measure is set.
Referenced by GetReferenceSN(), GetRefMeasure(), GetRefMeasure(), IndexOfRefMeasure(), and Isis::ControlNetVersioner::toPvl().
bool Isis::ControlPoint::HasSerialNumber | ( | QString | serialNumber | ) | const |
Return true if given serial number exists in point.
serialNumber | The serial number |
Referenced by Isis::StereoTool::paintViewport(), and Isis::QnetNewMeasureDialog::setFiles().
int Isis::ControlPoint::IndexOf | ( | ControlMeasure * | cm, |
bool | throws = true ) const |
int Isis::ControlPoint::IndexOf | ( | QString | sn, |
bool | throws = true ) const |
sn | The serial number of the control measure to find the index of |
throws | Throws an exception on failure instead of returning -1. Be aware that by default this is true! |
References _FILEINFO_, and Isis::IException::Programmer.
int Isis::ControlPoint::IndexOfRefMeasure | ( | ) | const |
throws | Throws an exception on failure instead of returning -1. Be aware that by default this is true! |
References _FILEINFO_, Isis::ControlMeasure::GetCubeSerialNumber(), HasRefMeasure(), and Isis::IException::Programmer.
Referenced by Isis::PointTableDelegate::readData(), Isis::PointTableDelegate::readData(), and Isis::ControlNetVersioner::toPvl().
bool Isis::ControlPoint::IsConstrained | ( | ) |
Return bool indicating if point is Constrained or not.
References Free.
Referenced by ComputeApriori().
bool Isis::ControlPoint::IsCoord1Constrained | ( | ) |
Return bool indicating if 1st coordinate is Constrained or not.
This corresponds to Latitude for a Latitudinal solution or X for a Rectangular solution.
References Coord1Constrained.
Referenced by Isis::BundleControlPoint::setWeights(), and Isis::ControlNetVersioner::toPvl().
bool Isis::ControlPoint::IsCoord2Constrained | ( | ) |
Return bool indicating if 2nd coordinate is Constrained or not.
This corresponds to Longitude for a Latitudinal solution or Y for a Rectangular solution.
References Coord2Constrained.
Referenced by Isis::BundleControlPoint::setWeights(), and Isis::ControlNetVersioner::toPvl().
bool Isis::ControlPoint::IsCoord3Constrained | ( | ) |
Return bool indicating if 3rd coordinate is Constrained or not.
This corresponds to Radius for a Latitudinal solution or Z for a Rectangular solution.
References Coord3Constrained.
Referenced by Isis::BundleControlPoint::setWeights().
bool Isis::ControlPoint::IsEditLocked | ( | ) | const |
Referenced by Isis::ControlNetVitals::addPoint(), Isis::ControlNetVitals::deletePoint(), Isis::ControlNet::DeletePoint(), Isis::AbstractMeasureItem::deleteSource(), Isis::AbstractPointItem::deleteSource(), Isis::PointEditLockedFilter::evaluate(), Isis::ControlNetStatistics::GenerateImageStats(), Isis::AbstractPointItem::getData(), Isis::ControlNetVitals::getLockedPoints(), GetNumLockedMeasures(), Isis::AbstractMeasureItem::isDataEditable(), Isis::AbstractPointItem::isDataEditable(), Isis::ControlMeasure::IsEditLocked(), Isis::ControlNetVitals::pointModified(), Isis::PointTableDelegate::readData(), Isis::PointTableDelegate::readData(), ResetApriori(), Isis::LidarControlPoint::setRange(), Isis::LidarControlPoint::setSigmaRange(), Isis::LidarControlPoint::setTime(), Isis::ControlNetVersioner::toPvl(), and Isis::MatchTool::updatePointInfo().
bool Isis::ControlPoint::IsFixed | ( | ) | const |
Return bool indicating if point is Fixed or not.
References Fixed.
Referenced by ComputeApriori().
bool Isis::ControlPoint::IsFree | ( | ) | const |
Return bool indicating if point is Free or not.
References Constrained, and Fixed.
bool Isis::ControlPoint::IsIgnored | ( | ) | const |
Referenced by Isis::ControlNetVitals::addPoint(), Isis::ControlNet::AverageResidual(), Isis::ControlNet::ComputeApriori(), ComputeResiduals(), Isis::LidarControlPoint::ComputeResiduals(), ComputeResiduals_Millimeters(), Delete(), Isis::ControlNetVitals::deletePoint(), Isis::ControlNet::DeletePoint(), Isis::PointIgnoredFilter::evaluate(), Isis::ControlNetStatistics::GenerateImageStats(), Isis::ControlNetVitals::getConstrainedPoints(), Isis::AbstractPointItem::getData(), Isis::ControlNetVitals::getFixedPoints(), Isis::ControlNetVitals::getFreePoints(), Isis::ControlNetVitals::getIgnoredPoints(), Isis::ControlNetVitals::getLockedPoints(), GetNumValidMeasures(), Isis::ControlNetVitals::getPointsBelowMeasureThreshold(), Isis::ControlNet::GraphToString(), Isis::PointTableDelegate::readData(), Isis::PointTableDelegate::readData(), Isis::ControlMeasure::SetIgnored(), Isis::ControlNet::sortedMeasureList(), Isis::ControlNetVersioner::toPvl(), and Isis::MatchTool::updatePointInfo().
bool Isis::ControlPoint::IsInvalid | ( | ) | const |
bool Isis::ControlPoint::IsReferenceExplicit | ( | ) | const |
Referenced by Isis::MatchTool::deletePoint(), and Isis::ControlNetVersioner::toPvl().
bool Isis::ControlPoint::IsRejected | ( | ) | const |
bool Isis::ControlPoint::IsValid | ( | ) | const |
void Isis::ControlPoint::Load | ( | PvlObject & | p | ) |
Loads the PvlObject into a ControlPoint.
p | PvlObject containing ControlPoint information |
forceBuild | Allows invalid Control Measures to be added to this Control Point |
Isis::iException::User | - Invalid Point Type |
Isis::iException::User | - Unable to add ControlMeasure to Control Point |
2008-06-18 Tracie Sucharski/Jeannie Walldren, Fixed bug with checking for "True" vs "true", change to lower case for comparison.
2009-12-29 Tracie Sucharski - Added new ControlPoint information.
2010-01-13 Tracie Sucharski - Changed from Set methods to simply setting private variables to increase speed?
2010-07-30 Tracie Sucharski, Updated for changes made after additional working sessions for Control network design.
2010-09-01 Tracie Sucharski, Add checks for AprioriLatLonSource AprioriLatLonSourceFile. If there are AprioriSigmas,but no AprioriXYZ, use the XYZ values.
2010-09-15 Tracie Sucharski, It was decided after mtg with Debbie, Stuart, Ken and Tracie that ControlPoint will only function with x/y/z, not lat/lon/radius. It will be the responsibility of the application or class using ControlPoint to set up a SurfacePoint object to do conversions between x/y/z and lat/lon/radius. So... remove all conversion methods from this class. It was also decided that when importing old networks that contain Sigmas, the sigmas will not be imported , due to conflicts with the units of the sigmas,we cannot get accurate x,y,z sigmas from the lat,lon,radius sigmas without the covariance matrix.
2010-09-28 Tracie Sucharski, Added back the conversion methods from lat,lon,radius to x,y,z only for the point, since that is what most applications need.
2010-12-02 Debbie A. Cook, Added units to SurfacePoint.SetSpherical calls.
2011-03-12 Debbie A. Cook, Added targetRadius to do conversions
int Isis::ControlPoint::NumberOfConstrainedCoordinates | ( | ) |
Return bool indicating if point is Constrained or not.
Referenced by ComputeApriori().
bool Isis::ControlPoint::operator!= | ( | const ControlPoint & | other | ) | const |
Compare two Control Points for inequality.
other | The other point to compare this one to |
const ControlPoint & Isis::ControlPoint::operator= | ( | const ControlPoint & | other | ) |
bool Isis::ControlPoint::operator== | ( | const ControlPoint & | other | ) | const |
Compare two Control Points for equality.
other | The other point to compare to |
ControlMeasure * Isis::ControlPoint::operator[] | ( | int | index | ) |
Same as GetMeasure (provided for convenience)
index | If there are n measures, the measure returned will be the ith measure added to the point |
const ControlMeasure * Isis::ControlPoint::operator[] | ( | int | index | ) | const |
Same as GetMeasure (provided for convenience)
index | If there are n measures, the measure returned will be the ith measure added to the point |
ControlMeasure * Isis::ControlPoint::operator[] | ( | QString | serialNumber | ) |
Same as GetMeasure (provided for convenience)
serialNumber | Cube serial number of desired control measure |
const ControlMeasure * Isis::ControlPoint::operator[] | ( | QString | serialNumber | ) | const |
Same as GetMeasure (provided for convenience)
serialNumber | Cube serial number of desired control measure |
|
inline |
|
protected |
List of Control Measures.
Signal to indicate the point has been modified.
Resets the last modified dateTime to null.
Referenced by Add(), ComputeApriori(), ComputeResiduals(), Isis::LidarControlPoint::ComputeResiduals(), ComputeResiduals_Millimeters(), Delete(), SetAdjustedSurfacePoint(), SetAprioriRadiusSource(), SetAprioriRadiusSourceFile(), SetAprioriSurfacePoint(), SetAprioriSurfacePointSource(), SetAprioriSurfacePointSourceFile(), SetIgnored(), and SetType().
|
static |
Obtain a string representation of a given PointType.
type | PointType to convert to a string |
References Constrained, Fixed, and Free.
Referenced by Isis::BundleControlPoint::formatAprioriSigmaString(), Isis::BundleControlPoint::formatBundleLatitudinalOutputDetailString(), Isis::BundleControlPoint::formatBundleOutputSummaryString(), Isis::BundleControlPoint::formatBundleRectangularOutputDetailString(), GetPointTypeString(), Isis::PointTableDelegate::getWidget(), Isis::NewControlPointDialog::NewControlPointDialog(), and Isis::ControlNetVitals::pointModified().
|
static |
Obtain a string representation of a given RadiusSource.
source | RadiusSource to convert to string |
References Isis::ControlPoint::RadiusSource::AverageOfMeasures, Isis::ControlPoint::RadiusSource::BundleSolution, Isis::ControlPoint::RadiusSource::DEM, Isis::ControlPoint::RadiusSource::Ellipsoid, Isis::ControlPoint::RadiusSource::None, and Isis::ControlPoint::RadiusSource::User.
Referenced by GetRadiusSourceString(), and Isis::Shape::save().
ControlPoint::Status Isis::ControlPoint::ResetApriori | ( | ) |
Reset all the Apriori info to defaults.
References IsEditLocked(), Isis::ControlPoint::SurfacePointSource::None, Isis::ControlPoint::RadiusSource::None, PointLocked, and Success.
ControlPoint::Status Isis::ControlPoint::SetAdjustedSurfacePoint | ( | SurfacePoint | newSurfacePoint | ) |
Set or update the surface point relating to this control point.
This is the point on the surface of the planet that the measures are tied to. This updates the last modified attributes of this point. *** Warning: Only BundleAdjust and its applications should be using this method.
newSurfacePoint | The point on the target's surface the measures are tied to |
References PointModified(), and Success.
Referenced by Isis::BundleControlPoint::setAdjustedSurfacePoint(), and Isis::AbstractPointItem::setData().
ControlPoint::Status Isis::ControlPoint::SetAprioriRadiusSource | ( | RadiusSource::Source | source | ) |
This updates the source of the radius of the apriori surface point.
source | Where the radius came from |
References PointLocked, PointModified(), and Success.
Referenced by ComputeApriori(), and Isis::AbstractPointItem::setData().
ControlPoint::Status Isis::ControlPoint::SetAprioriRadiusSourceFile | ( | QString | sourceFile | ) |
This updates the filename of the DEM that the apriori radius came from.
It doesn't really make sense to call this unless the RadiusSource is DEM.
source | Where the radius came from |
References PointLocked, PointModified(), and Success.
Referenced by Isis::AbstractPointItem::setData().
ControlPoint::Status Isis::ControlPoint::SetAprioriSurfacePoint | ( | SurfacePoint | aprioriSP | ) |
This updates the apriori surface point.
aprioriSP | The apriori surface point to remember |
References Coord1Constrained, Coord2Constrained, Coord3Constrained, Isis::ControlNet::GetCoordType(), Isis::SurfacePoint::Latitudinal, PointLocked, PointModified(), Isis::SurfacePoint::Rectangular, and Success.
Referenced by Isis::StereoTool::createPoint(), and Isis::AbstractPointItem::setData().
ControlPoint::Status Isis::ControlPoint::SetAprioriSurfacePointSource | ( | SurfacePointSource::Source | source | ) |
This updates the source of the surface point.
source | Where the surface point came from |
References PointLocked, PointModified(), and Success.
Referenced by ComputeApriori(), Isis::ControlPointEditWidget::createControlPoint(), and Isis::AbstractPointItem::setData().
ControlPoint::Status Isis::ControlPoint::SetAprioriSurfacePointSourceFile | ( | QString | sourceFile | ) |
This updates the filename of where the apriori surface point came from.
sourceFile | Where the surface point came from |
References PointLocked, PointModified(), and Success.
Referenced by Isis::ControlPointEditWidget::createControlPoint(), and Isis::AbstractPointItem::setData().
ControlPoint::Status Isis::ControlPoint::SetChooserName | ( | QString | name | ) |
Set the point's chooser name.
This will be lost if any attributes relating to this point is later changed and the current user will be set. This is one of the 'last modified attributes' referred to in other comments.
name | The username of the person who last modified this control point |
References PointLocked, and Success.
Referenced by Isis::ControlPointEditWidget::createControlPoint(), Isis::QnetTool::createPoint(), Isis::MatchTool::createPoint(), and Isis::AbstractPointItem::setData().
ControlPoint::Status Isis::ControlPoint::SetDateTime | ( | QString | newDateTime | ) |
Set the point's last modified time.
This will be lost if any attributes relating to this point are later changed and the current time will be set. This is one of the 'last modified attributes' referred to in other comments.
newDateTime | The date and time this control point was last modified |
References PointLocked, and Success.
Referenced by Isis::AbstractPointItem::setData().
ControlPoint::Status Isis::ControlPoint::SetEditLock | ( | bool | lock | ) |
Set the EditLock state.
If edit lock is on, then most attributes relating to this point are not modifiable. Edit lock is like "Don't modify my attributes, but you can still modify my measures' attributes". The reference measure is implicitely edit locked if the point is edit locked.
lock | True to enable edit lock, false to disable it and allow the point to be modified. |
References EditLockModified, and Success.
Referenced by Isis::CnetEditorWidget::filteredNetwork(), operator=(), Isis::AbstractPointItem::setData(), and Isis::MatchTool::updatePointInfo().
ControlPoint::Status Isis::ControlPoint::SetId | ( | QString | newId | ) |
Sets the Id of the control point.
id | Control Point Id |
References PointLocked, and Success.
Referenced by Isis::AbstractPointItem::setData().
ControlPoint::Status Isis::ControlPoint::SetIgnored | ( | bool | newIgnoreStatus | ) |
Set whether to ignore or use control point.
newIgnoreStatus | True to ignore this Control Point, False to un-ignore |
References IgnoredModified, PointLocked, PointModified(), and Success.
Referenced by Isis::AbstractPointItem::setData(), and Isis::MatchTool::updatePointInfo().
void Isis::ControlPoint::SetNumberOfRejectedMeasures | ( | int | numRejected | ) |
Set (update) the number of rejected measures for the control point.
numRejected | The number of rejected measures |
Referenced by Isis::BundleControlPoint::setNumberOfRejectedMeasures().
ControlPoint::Status Isis::ControlPoint::SetRefMeasure | ( | ControlMeasure * | cm | ) |
Set the point's reference measure.
cm | The new reference measure |
References PointLocked, and Success.
Referenced by ControlPoint(), and Isis::AbstractPointItem::setData().
ControlPoint::Status Isis::ControlPoint::SetRefMeasure | ( | int | index | ) |
Set the point's reference measure.
index | The index of the new reference measure |
References _FILEINFO_, measures, PointLocked, Isis::IException::Programmer, Success, and Isis::toString().
ControlPoint::Status Isis::ControlPoint::SetRefMeasure | ( | QString | sn | ) |
Set the points reference measure.
sn | The serial number of the new reference measure |
References _FILEINFO_, measures, PointLocked, Isis::IException::Programmer, and Success.
ControlPoint::Status Isis::ControlPoint::SetRejected | ( | bool | reject | ) |
Set the jigsawRejected state.
If IsRejected is true, then this point should be ignored until the next iteration in the bundle adjustement. BundleAdjust decides when to reject or accept a point. The initial IsRejected state of a measure is false.
reject | True to reject a measure, false to include it in the adjustment |
References Success.
Referenced by Isis::BundleControlPoint::setRejected().
ControlPoint::Status Isis::ControlPoint::SetType | ( | PointType | newType | ) |
Updates the control point's type.
This updates the last modified attributes of this point.
newType | The new type this control point should be |
References _FILEINFO_, Constrained, Fixed, Free, GetId(), PointLocked, PointModified(), Isis::IException::Programmer, Success, and TypeModified.
Referenced by Isis::ControlPointEditWidget::createControlPoint(), Isis::StereoTool::createPoint(), Isis::MatchTool::createPoint(), and Isis::AbstractPointItem::setData().
|
static |
Obtain a PointType given a string representation of it.
pointTypeString | for the requested PointType |
References _FILEINFO_, Constrained, Fixed, Free, and Isis::IException::Programmer.
Referenced by Isis::PointTableDelegate::readData(), Isis::PointTableDelegate::readData(), and Isis::AbstractPointItem::setData().
|
static |
Obtain a RadiusSource::Source from a string.
str | string to get a RadiusSource::Source from |
References Isis::ControlPoint::RadiusSource::AverageOfMeasures, Isis::ControlPoint::RadiusSource::BundleSolution, Isis::ControlPoint::RadiusSource::DEM, Isis::ControlPoint::RadiusSource::Ellipsoid, Isis::ControlPoint::RadiusSource::None, and Isis::ControlPoint::RadiusSource::User.
Referenced by Isis::PointTableDelegate::readData(), Isis::PointTableDelegate::readData(), and Isis::AbstractPointItem::setData().
|
static |
Obtain a SurfacePoint::Source from a string.
str | string to get a SurfacePoint::Source from |
References Isis::ControlPoint::SurfacePointSource::AverageOfMeasures, Isis::ControlPoint::SurfacePointSource::Basemap, Isis::ControlPoint::SurfacePointSource::BundleSolution, Isis::ControlPoint::SurfacePointSource::None, Isis::ControlPoint::SurfacePointSource::Reference, and Isis::ControlPoint::SurfacePointSource::User.
Referenced by Isis::PointTableDelegate::readData(), Isis::PointTableDelegate::readData(), and Isis::AbstractPointItem::setData().
|
static |
Obtain a string representation of a given SurfacePointSource.
souce | SurfacePointSource to get a string representation of |
References Isis::ControlPoint::SurfacePointSource::AverageOfMeasures, Isis::ControlPoint::SurfacePointSource::Basemap, Isis::ControlPoint::SurfacePointSource::BundleSolution, Isis::ControlPoint::SurfacePointSource::None, Isis::ControlPoint::SurfacePointSource::Reference, and Isis::ControlPoint::SurfacePointSource::User.
Referenced by GetSurfacePointSourceString(), and Isis::Shape::save().
void Isis::ControlPoint::ZeroNumberOfRejectedMeasures | ( | ) |
Initialize the number of rejected measures to 0.
Referenced by Isis::BundleControlPoint::zeroNumberOfRejectedMeasures().
|
friend |
|
protected |
Referenced by ComputeResiduals(), Isis::LidarControlPoint::ComputeResiduals(), ComputeResiduals_Millimeters(), ControlPoint(), ControlPoint(), ControlPoint(), Delete(), GetMeasure(), GetMeasure(), GetNumLockedMeasures(), GetNumMeasures(), GetNumValidMeasures(), SetRefMeasure(), SetRefMeasure(), and ~ControlPoint().
|
static |