Isis 3 Programmer Reference
Isis::ControlMeasure Class Reference

a control measurement More...

#include <ControlMeasure.h>

Inheritance diagram for Isis::ControlMeasure:
Inheritance graph
Collaboration diagram for Isis::ControlMeasure:
Collaboration graph

Public Types

enum  MeasureType { Candidate , Manual , RegisteredPixel , RegisteredSubPixel }
 Control network measurement types. More...
 
enum  Status { Success , MeasureLocked }
 
enum  ModType { IgnoredModified }
 Control Measure Modification Types. More...
 
enum  DataField {
  AprioriLine = 1 , AprioriSample = 2 , ChooserName = 4 , CubeSerialNumber = 8 ,
  Coordinate = 16 , DateTime = 32 , Diameter = 64 , EditLock = 128 ,
  Rejected = 256 , FocalPlaneMeasured = 512 , FocalPlaneComputed = 1024 , Ignore = 2048 ,
  SampleResidual = 4096 , LineResidual = 8192 , SampleSigma = 16384 , LineSigma = 32768 ,
  Type = 65536
}
 

Public Member Functions

 ControlMeasure ()
 Create a new control measure and initialize it to nulls and zeros.
 
 ControlMeasure (const ControlMeasure &other)
 Copy the other control measure exactly.
 
 ~ControlMeasure ()
 Free the memory allocated by a control.
 
ControlPointParent ()
 
Status SetAprioriLine (double aprioriLine)
 
Status SetAprioriSample (double aprioriSample)
 
Status SetCamera (Isis::Camera *camera)
 Set pointer to camera associated with a measure.
 
Status SetChooserName ()
 Set chooser name to a user who last changed the coordinate.
 
Status SetChooserName (QString name)
 Set the chooser name to an application that last changed the coordinate.
 
Status SetCoordinate (double sample, double line)
 Set the coordinate of the measurement.
 
Status SetCoordinate (double sample, double line, MeasureType type)
 Set the coordinate of the measurement.
 
Status SetCubeSerialNumber (QString newSerialNumber)
 Set cube serial number.
 
Status SetDateTime ()
 Date Time - Creation Time.
 
Status SetDateTime (QString datetime)
 Set date/time the coordinate was last changed to specified date/time.
 
Status SetDiameter (double diameter)
 Set the crater diameter at the coordinate.
 
Status SetEditLock (bool editLock)
 
Status SetFocalPlaneMeasured (double x, double y)
 Set the focal plane x/y for the measured line/sample.
 
Status SetFocalPlaneComputed (double x, double y)
 Set the computed focal plane x/y for the apriori lat/lon.
 
Status SetIgnored (bool newIgnoredStatus)
 
Status SetLineSigma (double lineSigma)
 
Status SetRejected (bool rejected)
 Set "jigsaw" rejected flag for a measure.
 
Status SetResidual (double sampResidual, double lineResidual)
 Set the BundleAdjust Residual of the coordinate.
 
Status SetSampleSigma (double sampleSigma)
 
Status SetType (MeasureType type)
 Set how the coordinate was obtained.
 
void DeleteLogData (long dataType)
 This deletes log data of the specified type.
 
QVariant GetLogValue (long dataType) const
 Get the value of the log data with the specified type as a variant.
 
bool HasLogData (long dataType) const
 Test if we have a valid log data value of the specified type.
 
void SetLogData (ControlMeasureLogData)
 This adds or updates the log data information associated with data's type.
 
void UpdateLogData (ControlMeasureLogData)
 This updates existing log data information associated with data's type.
 
double GetAprioriLine () const
 
double GetAprioriSample () const
 
Isis::CameraCamera () const
 
QString GetChooserName () const
 Return the chooser name.
 
bool HasChooserName () const
 Returns true if the choosername is not empty.
 
QString GetCubeSerialNumber () const
 Return the serial number of the cube containing the coordinate.
 
QString GetDateTime () const
 Return the date/time the coordinate was last changed.
 
bool HasDateTime () const
 Returns true if the datetime is not empty.
 
double GetDiameter () const
 Return the diameter of the crater in pixels (0 implies no crater)
 
ControlMeasureLogData GetLogData (long dataType) const
 
bool IsEditLocked () const
 Return value for p_editLock or implicit lock on reference measure.
 
bool IsRejected () const
 
double GetFocalPlaneComputedX () const
 
double GetFocalPlaneComputedY () const
 
double GetFocalPlaneMeasuredX () const
 
double GetFocalPlaneMeasuredY () const
 
double GetMeasureData (QString) const
 One Getter to rule them all.
 
bool IsIgnored () const
 
bool IsMeasured () const
 
bool IsRegistered () const
 
bool IsStatisticallyRelevant (DataField field) const
 
double GetLine () const
 
double GetLineResidual () const
 
double GetLineSigma () const
 
QVector< ControlMeasureLogDataGetLogDataEntries () const
 Return all of the log data for the measure.
 
QVector< ControlMeasureLogDataGetLastRunLogDataEntries () const
 
double GetResidualMagnitude () const
 Return Residual magnitude.
 
double GetSample () const
 
double GetSampleResidual () const
 
double GetSampleSigma () const
 
MeasureType GetType () const
 
QString GetPointId () const
 
double GetSampleShift () const
 
double GetLineShift () const
 
double GetPixelShift () const
 
QList< QStringListPrintableClassData () const
 Data accessor method, provides access to string representations of all variable values and names.
 
QString GetMeasureTypeString () const
 Obtain a string representation of the MeasureType.
 
const ControlMeasureoperator= (const ControlMeasure &other)
 Assignment operator.
 
bool operator!= (const Isis::ControlMeasure &pMeasure) const
 Compare 2 Control Measures for inequality.
 
bool operator== (const Isis::ControlMeasure &pMeasure) const
 Check for Control Measures equality.
 

Static Public Member Functions

static QVector< QString > GetMeasureDataNames ()
 Returns a list of all valid options to pass to GetMeasureData.
 
static QString MeasureTypeToString (MeasureType type)
 Return the String Control Measure type.
 
static MeasureType StringToMeasureType (QString str)
 

Private Member Functions

void InitializeToNull ()
 initialize pointers and other data to NULL
 
void MeasureModified ()
 

Private Attributes

ControlPointparentPoint
 Pointer to parent ControlPoint, may be null.
 
QString * p_serialNumber
 
MeasureType p_measureType
 
QVector< ControlMeasureLogData > * p_loggedData
 
PvlGroupp_comments
 
QString * p_chooserName
 list the program used and the definition file or include the user name for qnet
 
QString * p_dateTime
 
bool p_editLock
 If true do not edit anything in measure.
 
bool p_ignore
 
bool p_jigsawRejected
 Status of measure for last bundle adjust iteration.
 
double p_sample
 Current sample/line measurement.
 
double p_line
 Jigsaw uses this measure.
 
double p_diameter
 
double p_aprioriSample
 The first identified location of the.
 
double p_aprioriLine
 measure by autoseed. Pointreg/Interest always use this location to start it's search. Could be moved by interest program or user.
 
double p_computedEphemerisTime
 
double p_sampleSigma
 Uncertainty/sigma in pixels of the measurement (current sample/line)
 
double p_lineSigma
 Not sure how we determine this for automated or manual picking.
 
double p_sampleResidual
 Jigsaw information - Solution error - replaces p_sampleError.
 
double p_lineResidual
 Jigsaw information - Solution error - replaces p_lineError.
 
Isis::Camerap_camera
 
double p_focalPlaneMeasuredX
 
double p_focalPlaneMeasuredY
 
double p_focalPlaneComputedX
 
double p_focalPlaneComputedY
 
double p_measuredEphemerisTime
 

Friends

class ControlPoint
 

Detailed Description

a control measurement

This class is used to record a coordinate (measurement) on a cube for a control point.

Author
2005-07-29 Jeff Anderson
See also
ControlPoint ControlNet
History

2005-07-29 Jeff Anderson Original version

2006-01-11 Jacob Danton Added a Reference flag and updated unitTest

2006-10-05 Brendan George Modified call to retrieve current time to use iTime class, instead of Application class

2008-06-23 Steven Lambright The ZScore keyword is now supported

2008-06-25 Steven Koechle Added get methods for ZScore values.

2009-09-01 Eric Hyer Added the methods GetMeasureData and GetMeasureDataNames. Also fixed include issues.

2009-09-22 Eric Hyer Removed forward declaration for QPair

2009-10-30 Eric Hyer GetMeasurDataNames is now static

2009-12-31 Tracie Sucharski Added new parameters for jigsaw.

2010-04-29 Tracie Sucharski Renamed AutomaticPixel to Registered Pixel and AutomaticSubPixel to RegisteredSubPixel.

2010-05-06 Tracie Sucharski Use defaults of 0. instead of Isis::Null, because 0. is the default in the protocol buffers.

2010-06-03 Tracie Sucharski Move SetReference to ControlPoint, so error checking to make sure only a single measure be set to Reference.

2010-06-17 Tracie Sucharski Added Lock value to MeasureStatus.

2010-07-21 Tracie Sucharski Remove SetReference IsReference methods. Reference is no longer a separate keyword, but a possible MeasureType. Use either the ControlMeasure::Type() method or ControlPoint::HasReference, ReferenceIndex to determine the reference measure.

2010-07-27 Tracie Sucharski Updated for changes made after additional working sessions for Control network design.

2010-08-26 Tracie Sucharski No longer writing ResidualMagnitude, will be calculated as needed.

2010-10-04 Sharmila Prasad Add PrintableMeasureType method to return String Measure Type

2010-10-05 Eric Hyer No more includes in header file! serial number is now a QString.

2010-10-18 Tracie Sucharski Change "Setters", ComputeApriori and ComputeResiduals to return either Success or PointLocked. If the point is locked do not set values.

2010-10-19 Tracie Sucharski Set the DateTime to Null if anything in measure chanes, the date will be updated at write time.

2010-10-22 Steven Lambright Moved all implementations to the cpp file to shorten the header. Reordered methods. Improved consistency as far as the types of parameters passed in - some took 'double' and some 'const double &' depending on the original programmer. Now all take 'double' for the cleaner syntax and hopefully the overhead is negligable.

2010-10-26 Steven Lambright Change default chooser name from user name to application name.

2010-11-03 Mackenzie Boyd Modified MeasureType to string method, added static version. Added method PrintableClassData.

2010-11-16 Debbie Cook, Added jigsawRejected keyword.

2010-11-29 Tracie Sucharski, Constructor still had initializations in addition to the same intiializers in the method InitializeToNull. Also, values were being intialized to 0. instead of Isis::Null. Not sure how this happened other than a mistake in svn mergina? This was causing keywords with a value of 0. to be written to the output network. Remove all methods relating to Ephemeris Time-they are not used anywhere in Isis.

2010-12-08 Tracie Sucharski, Added a new measure type of Ground. This was done to help qnet functionality, but may be used for other functionality in the future. Added IsGround for convenience.

2010-12-22 Steven Lambright Added LogData capabilities and prepped for detailed change logs. The accessors needed to change names because of a conflict with a new enumerated value, DataField. The accessors to this class no longer give up internal pointers.

2011-01-13 Mackenzie Boyd Added pointer to owning ControlPoint.

2011-02-10 Eric Hyer - Measures no longer know about or care about whether they are the reference measure or not. This is now completely maintained by the ControlPoint class.

2011-02-18 Eric Hyer - ControlCubeGraphNode is now a friend. Eliminated ConnectControlSN and DisconnectControlSN methods. Fixed bug in destructor.

2011-03-01 Eric Hyer - Added StringToMeasureType method

2011-03-04 Tracie Sucharski - Fixed bug in DeleteLogData method, subtract 1 from size() in the loop.

2011-03-14 Eric Hyer - ControlMeasures now notify their network when their ignored status changes.

2011-04-04 Steven Lambright - Removed an old constructor

2011-04-07 Steven Lambright - GetResidualMagnitude no longer does math on special pixels.

2011-04-11 Steven Lambright - Added GetLogValue for convenience

2011-07-05 Debbie A. Cook - Removed editLock checks from methods SetCamera, SetRejected, and SetResidual and changed all other editLock tests to use IsEditLocked method instead of the private member, p_editLock, directly. Also added a check for an implicit lock if the measure is the reference measure of the parent point in the IsEditLocked method.

2011-07-29 Jai Rideout, Steven Lambright, and Eric Hyer - Made this inherit from QObject to get destroyed() signal

2012-07-26 Tracie Sucharski, Fixed bug in == operator, comparison of chooserName and dateTime, comparison was between the pointers instead of the data and added comparisons for missing member data.

2012-08-11 Tracie Sucharski, Add computed and measured ephemeris time set to Null in InitializeToNull.

2017-12-19 Adam Goins - Added "HasX()" accessors to ControlMeasure.

2017-12-20 Jesse Mapel - Implemented GetLogDataEntries method for use in ControlNetVersioner refactor.

2017-12-21 Adam Goins - Removed protobuf references.

2018-01-04 Adam Goins - Moved sample/line initialization from the constructor to the InitToNull() method.

2018-01-05 Adam Goins - Added HasDateTime() and HasChooserName() methods to allow to allow the value of these variables to be read without being overriden if they're empty. (Getters override if they're empty).

2018-01-26 Kristin Berry - Removed code related to now-unused ControlCubeGraphNode, as part of the switch to using the boost graph library. References #5434

2018-06-15 Adam Goins & Jesse Mapel - Added the ModType enum, as well as a series of calls to parentNetwork()->emitPointModified() whenever a change is made to a Control Point or any of it's measures. This is done to allow for communication between the ControlNetVitals class and changes made to the Control Network that it is observing. Fixes #5435.

2018-06-29 Adam Goins - Modified operator= to use setters when setting values so that the proper signals/slots are called. Fixes #5435.

Definition at line 175 of file ControlMeasure.h.

Member Enumeration Documentation

◆ DataField

enum Isis::ControlMeasure::DataField

Definition at line 236 of file ControlMeasure.h.

◆ MeasureType

Control network measurement types.

OLD VERSION: Manual implies the coordinate was selected by a human but still may be in error. It is subject to refinement by other computer programs.

Estimated implies the coordinate was selected by a computer program but has not been sub-pixel registered and is more than likely in error. It is subject to refinement by other computer programs

AutomaticPixel implies the coordinate was selected by a computer program and met registration criteria (but still may be in error). It is subject to refinement by other computer programs.

ValidatedManual implies the coordinate was manually selected by a human, was validated by a human, and should not be changed by any automated means.

ValidatedAutomatic implies the coordinate was automatically selected by a computer program, was validated by a human, and should not be changed by any automated means.

Enumerator
Candidate 

(e.g., autoseed, interest) AKA predicted, unmeasured, unverified

Manual 

Hand Measured (e.g., qnet)

RegisteredPixel 

Registered to whole pixel (e.g.,pointreg)

RegisteredSubPixel 

Registered to sub-pixel (e.g., pointreg)

Definition at line 206 of file ControlMeasure.h.

◆ ModType

Control Measure Modification Types.

This enum is designed to represent the different types of modifications that can be made to a ControlMeasure.

IgnoredModified means that the Control Measure had it's IGNORED flag changed.

Definition at line 232 of file ControlMeasure.h.

◆ Status

enum Isis::ControlMeasure::Status

Definition at line 217 of file ControlMeasure.h.

Constructor & Destructor Documentation

◆ ControlMeasure() [1/2]

Isis::ControlMeasure::ControlMeasure ( )

Create a new control measure and initialize it to nulls and zeros.

Definition at line 30 of file ControlMeasure.cpp.

References Candidate, InitializeToNull(), p_chooserName, p_editLock, and p_jigsawRejected.

◆ ControlMeasure() [2/2]

Isis::ControlMeasure::ControlMeasure ( const ControlMeasure & other)

Copy the other control measure exactly.

Parameters
otherThe control measure to copy all of the values from

Definition at line 50 of file ControlMeasure.cpp.

References InitializeToNull(), p_aprioriLine, p_aprioriSample, p_chooserName, p_editLock, p_jigsawRejected, p_line, p_lineResidual, p_lineSigma, p_sample, p_sampleResidual, and p_sampleSigma.

◆ ~ControlMeasure()

Isis::ControlMeasure::~ControlMeasure ( )

Free the memory allocated by a control.

Definition at line 110 of file ControlMeasure.cpp.

References p_chooserName.

Member Function Documentation

◆ Camera()

Isis::Camera * Isis::ControlMeasure::Camera ( ) const

Definition at line 536 of file ControlMeasure.cpp.

◆ DeleteLogData()

void Isis::ControlMeasure::DeleteLogData ( long dataType)

This deletes log data of the specified type.

If none exist, this does nothing.

Parameters
dataTypeA ControlMeasureLogData::NumericLogDataType

Definition at line 455 of file ControlMeasure.cpp.

Referenced by Isis::ControlMeasureEditWidget::saveMeasure(), and Isis::ControlPointEdit::saveMeasure().

◆ GetAprioriLine()

double Isis::ControlMeasure::GetAprioriLine ( ) const

Definition at line 526 of file ControlMeasure.cpp.

◆ GetAprioriSample()

double Isis::ControlMeasure::GetAprioriSample ( ) const

Definition at line 531 of file ControlMeasure.cpp.

◆ GetChooserName()

QString Isis::ControlMeasure::GetChooserName ( ) const

Return the chooser name.

Definition at line 542 of file ControlMeasure.cpp.

References Isis::Application::Name(), Isis::FileName::name(), and p_chooserName.

◆ GetCubeSerialNumber()

◆ GetDateTime()

QString Isis::ControlMeasure::GetDateTime ( ) const

Return the date/time the coordinate was last changed.

Definition at line 563 of file ControlMeasure.cpp.

References Isis::Application::DateTime().

◆ GetDiameter()

double Isis::ControlMeasure::GetDiameter ( ) const

Return the diameter of the crater in pixels (0 implies no crater)

Definition at line 580 of file ControlMeasure.cpp.

◆ GetFocalPlaneComputedX()

double Isis::ControlMeasure::GetFocalPlaneComputedX ( ) const

Definition at line 610 of file ControlMeasure.cpp.

◆ GetFocalPlaneComputedY()

double Isis::ControlMeasure::GetFocalPlaneComputedY ( ) const

Definition at line 615 of file ControlMeasure.cpp.

◆ GetFocalPlaneMeasuredX()

double Isis::ControlMeasure::GetFocalPlaneMeasuredX ( ) const

Definition at line 620 of file ControlMeasure.cpp.

◆ GetFocalPlaneMeasuredY()

double Isis::ControlMeasure::GetFocalPlaneMeasuredY ( ) const

Definition at line 625 of file ControlMeasure.cpp.

◆ GetLine()

double Isis::ControlMeasure::GetLine ( ) const

Definition at line 690 of file ControlMeasure.cpp.

◆ GetLineResidual()

double Isis::ControlMeasure::GetLineResidual ( ) const

Definition at line 695 of file ControlMeasure.cpp.

◆ GetLineShift()

double Isis::ControlMeasure::GetLineShift ( ) const

Definition at line 759 of file ControlMeasure.cpp.

◆ GetLineSigma()

double Isis::ControlMeasure::GetLineSigma ( ) const

Definition at line 700 of file ControlMeasure.cpp.

◆ GetLogData()

ControlMeasureLogData Isis::ControlMeasure::GetLogData ( long dataType) const

Definition at line 773 of file ControlMeasure.cpp.

◆ GetLogDataEntries()

QVector< ControlMeasureLogData > Isis::ControlMeasure::GetLogDataEntries ( ) const

Return all of the log data for the measure.

Returns
QVector<ControlMeasureLogData> All of the log data for the measure.

Definition at line 796 of file ControlMeasure.cpp.

◆ GetLogValue()

QVariant Isis::ControlMeasure::GetLogValue ( long dataType) const

Get the value of the log data with the specified type as a variant.

This should work for all types of log data.

Definition at line 469 of file ControlMeasure.cpp.

◆ GetMeasureData()

double Isis::ControlMeasure::GetMeasureData ( QString data) const

One Getter to rule them all.

Definition at line 806 of file ControlMeasure.cpp.

References p_lineResidual, p_sampleResidual, and Isis::IException::Programmer.

◆ GetMeasureDataNames()

QVector< QString > Isis::ControlMeasure::GetMeasureDataNames ( )
static

Returns a list of all valid options to pass to GetMeasureData.

Definition at line 833 of file ControlMeasure.cpp.

◆ GetMeasureTypeString()

QString Isis::ControlMeasure::GetMeasureTypeString ( ) const

Obtain a string representation of the MeasureType.

Returns
A string representation of the MeasureType

Definition at line 987 of file ControlMeasure.cpp.

References MeasureTypeToString().

Referenced by PrintableClassData().

◆ GetPixelShift()

double Isis::ControlMeasure::GetPixelShift ( ) const

Definition at line 765 of file ControlMeasure.cpp.

◆ GetPointId()

QString Isis::ControlMeasure::GetPointId ( ) const

Definition at line 743 of file ControlMeasure.cpp.

◆ GetResidualMagnitude()

double Isis::ControlMeasure::GetResidualMagnitude ( ) const

Return Residual magnitude.

Returns Isis:Null when p_lineResidual or p_sampleResidual not specifically set after call to constructor. (This calculation is normally done within the jigsaw app)

Returns
(double) The residual magnitude

Definition at line 712 of file ControlMeasure.cpp.

References Isis::IsSpecial(), Isis::Null, p_lineResidual, and p_sampleResidual.

Referenced by Isis::ControlNet::AverageResidual(), Isis::QnetPointJigsawErrorFilter::filter(), Isis::ControlNet::GetMaximumResidual(), Isis::ControlNetStatistics::GetPointDoubleStats(), Isis::ControlNetFilter::PointResMagnitudeFilter(), PrintableClassData(), and Isis::BundleMeasure::residualMagnitude().

◆ GetSample()

double Isis::ControlMeasure::GetSample ( ) const

Definition at line 723 of file ControlMeasure.cpp.

◆ GetSampleResidual()

double Isis::ControlMeasure::GetSampleResidual ( ) const

Definition at line 728 of file ControlMeasure.cpp.

◆ GetSampleShift()

double Isis::ControlMeasure::GetSampleShift ( ) const

Definition at line 753 of file ControlMeasure.cpp.

◆ GetSampleSigma()

double Isis::ControlMeasure::GetSampleSigma ( ) const

Definition at line 733 of file ControlMeasure.cpp.

◆ GetType()

ControlMeasure::MeasureType Isis::ControlMeasure::GetType ( ) const

Definition at line 738 of file ControlMeasure.cpp.

◆ HasChooserName()

bool Isis::ControlMeasure::HasChooserName ( ) const

Returns true if the choosername is not empty.

Definition at line 552 of file ControlMeasure.cpp.

References p_chooserName.

◆ HasDateTime()

bool Isis::ControlMeasure::HasDateTime ( ) const

Returns true if the datetime is not empty.

Definition at line 573 of file ControlMeasure.cpp.

◆ HasLogData()

bool Isis::ControlMeasure::HasLogData ( long dataType) const

Test if we have a valid log data value of the specified type.

Parameters
dataTypeA ControlMeasureLogData::NumericLogDataType

Definition at line 486 of file ControlMeasure.cpp.

Referenced by SetLogData().

◆ InitializeToNull()

void Isis::ControlMeasure::InitializeToNull ( )
private

initialize pointers and other data to NULL

Definition at line 77 of file ControlMeasure.cpp.

References Isis::Null, p_aprioriLine, p_aprioriSample, p_chooserName, p_line, p_lineResidual, p_lineSigma, p_sample, p_sampleResidual, p_sampleSigma, and parentPoint.

Referenced by ControlMeasure(), and ControlMeasure().

◆ IsEditLocked()

bool Isis::ControlMeasure::IsEditLocked ( ) const

Return value for p_editLock or implicit lock on reference measure.

This method returns p_editLock unless the measure is a reference measure. In the case of a reference measure the value of the parent point's editLock is returned. An editLock on a control point implicitly locks the points reference measure as well.

Returns
value of p_editLock
History
2011-07-05 Debbie A. Cook Added check for implicit lock on the reference measure of the parent's reference measure.

Definition at line 601 of file ControlMeasure.cpp.

References Isis::ControlPoint::GetRefMeasure(), p_editLock, and parentPoint.

Referenced by Isis::InterestOperator::ProcessLocked_Point_Reference(), Isis::ControlMeasureEditWidget::saveMeasure(), Isis::ControlPointEdit::saveMeasure(), SetChooserName(), SetChooserName(), SetCoordinate(), SetCubeSerialNumber(), SetDateTime(), SetDateTime(), SetDiameter(), Isis::MatchTool::setLockLeftMeasure(), Isis::MatchTool::setLockRightMeasure(), and SetType().

◆ IsIgnored()

bool Isis::ControlMeasure::IsIgnored ( ) const

Definition at line 630 of file ControlMeasure.cpp.

◆ IsMeasured()

bool Isis::ControlMeasure::IsMeasured ( ) const

Definition at line 640 of file ControlMeasure.cpp.

◆ IsRegistered()

bool Isis::ControlMeasure::IsRegistered ( ) const

Definition at line 645 of file ControlMeasure.cpp.

◆ IsRejected()

bool Isis::ControlMeasure::IsRejected ( ) const

Definition at line 635 of file ControlMeasure.cpp.

◆ IsStatisticallyRelevant()

bool Isis::ControlMeasure::IsStatisticallyRelevant ( DataField field) const

Definition at line 650 of file ControlMeasure.cpp.

◆ MeasureModified()

void Isis::ControlMeasure::MeasureModified ( )
private

Definition at line 1112 of file ControlMeasure.cpp.

◆ MeasureTypeToString()

QString Isis::ControlMeasure::MeasureTypeToString ( MeasureType type)
static

Return the String Control Measure type.

Returns
string - Measure Type
Author
Sharmila Prasad (10/1/2010)
History

2010-10-28 Mackenzie Boyd - Changed name and made static, added exception.

2010-12-08 Tracie Sucharski - Added measure type of Ground.

Definition at line 951 of file ControlMeasure.cpp.

References Candidate, Manual, Isis::IException::Programmer, RegisteredPixel, RegisteredSubPixel, and Isis::toString().

Referenced by GetMeasureTypeString(), Isis::MatchTool::loadMeasureTable(), and Isis::QnetTool::loadMeasureTable().

◆ operator!=()

bool Isis::ControlMeasure::operator!= ( const Isis::ControlMeasure & pMeasure) const

Compare 2 Control Measures for inequality.

Author
sprasad (4/20/2010)
Parameters
pMeasure
Returns
bool

Definition at line 1066 of file ControlMeasure.cpp.

◆ operator=()

const ControlMeasure & Isis::ControlMeasure::operator= ( const ControlMeasure & other)

Assignment operator.

History

2011-09-01 Tracie Sucharski - Do not set parentPoint to NULL or copy, retain the current parentPoint.

2011-09-22 Tracie Sucharski - Bug introduced from 2011-09-01 change when setting ignored status.

Definition at line 1001 of file ControlMeasure.cpp.

References p_chooserName, p_editLock, p_line, p_sample, SetCamera(), SetChooserName(), SetCubeSerialNumber(), SetDateTime(), SetDiameter(), SetFocalPlaneComputed(), SetFocalPlaneMeasured(), SetResidual(), and SetType().

◆ operator==()

bool Isis::ControlMeasure::operator== ( const Isis::ControlMeasure & pMeasure) const

Check for Control Measures equality.

Author
sprasad (4/20/2010)
History

2010-06-24 Tracie Sucharski, Added new keywords

2012-07-26 Tracie Sucharski, Fixed bug in comparison of chooserName and dateTime, comparison was between the pointers instead of the data and added comparisons for missing member data.

Parameters
pMeasure- Control Measure to be compared against
Returns
bool

Definition at line 1087 of file ControlMeasure.cpp.

References p_aprioriLine, p_aprioriSample, p_chooserName, p_editLock, p_jigsawRejected, p_line, p_lineResidual, p_lineSigma, p_sample, p_sampleResidual, and p_sampleSigma.

◆ Parent()

ControlPoint * Isis::ControlMeasure::Parent ( )
inline

Definition at line 260 of file ControlMeasure.h.

◆ PrintableClassData()

QList< QStringList > Isis::ControlMeasure::PrintableClassData ( ) const

Data accessor method, provides access to string representations of all variable values and names.

Returns
A QList containing QStringLists, the QStringLists contain name value pairs such that element 0 is the name and element 1 is the value of the variable.

Definition at line 854 of file ControlMeasure.cpp.

References GetMeasureTypeString(), GetResidualMagnitude(), p_aprioriLine, p_aprioriSample, p_chooserName, p_line, p_lineResidual, p_lineSigma, p_sample, p_sampleResidual, and p_sampleSigma.

◆ SetAprioriLine()

ControlMeasure::Status Isis::ControlMeasure::SetAprioriLine ( double aprioriLine)

Definition at line 134 of file ControlMeasure.cpp.

◆ SetAprioriSample()

ControlMeasure::Status Isis::ControlMeasure::SetAprioriSample ( double aprioriSample)

Definition at line 144 of file ControlMeasure.cpp.

◆ SetCamera()

ControlMeasure::Status Isis::ControlMeasure::SetCamera ( Isis::Camera * camera)

Set pointer to camera associated with a measure.

This method is used to set a pointer to the camera associated with a ControlMeasure.

Parameters
*cameraPointer to camera
Returns
Status Success
History
2011-07-01 Debbie A. Cook Removed editLock check

Definition at line 169 of file ControlMeasure.cpp.

Referenced by operator=().

◆ SetChooserName() [1/2]

ControlMeasure::Status Isis::ControlMeasure::SetChooserName ( )

◆ SetChooserName() [2/2]

ControlMeasure::Status Isis::ControlMeasure::SetChooserName ( QString name)

Set the chooser name to an application that last changed the coordinate.

Definition at line 205 of file ControlMeasure.cpp.

References IsEditLocked(), and p_chooserName.

◆ SetCoordinate() [1/2]

ControlMeasure::Status Isis::ControlMeasure::SetCoordinate ( double sample,
double line )

Set the coordinate of the measurement.

Parameters
sampleSample coordinate of the measurement
lineLine coordinate of the measurement,

Definition at line 219 of file ControlMeasure.cpp.

References SetCoordinate().

Referenced by Isis::ControlNetVersioner::createMeasure(), Isis::InterestOperator::FindCnetRef(), Isis::ControlMeasureEditWidget::saveMeasure(), Isis::ControlPointEdit::saveMeasure(), and SetCoordinate().

◆ SetCoordinate() [2/2]

ControlMeasure::Status Isis::ControlMeasure::SetCoordinate ( double sample,
double line,
MeasureType type )

Set the coordinate of the measurement.

Parameters
sampleSample coordinate of the measurement
lineLine coordinate of the measurement
typeThe type of the coordinate

Definition at line 232 of file ControlMeasure.cpp.

References IsEditLocked(), p_line, p_sample, and SetType().

◆ SetCubeSerialNumber()

ControlMeasure::Status Isis::ControlMeasure::SetCubeSerialNumber ( QString newSerialNumber)

Set cube serial number.

This method is used to set the serial number of the cube. That is, the coordinate was selected from a cube with this unique serial number

Parameters
snSerial number of the cube where the coordinate was selected
Returns
Status Success or MeasureLocked

Definition at line 187 of file ControlMeasure.cpp.

References IsEditLocked().

Referenced by Isis::ControlNetVersioner::createMeasure(), Isis::StereoTool::createPoint(), Isis::MatchTool::createPoint(), Isis::ControlPointEditWidget::createTemporaryGroundMeasure(), Isis::QnetTool::createTemporaryGroundMeasure(), and operator=().

◆ SetDateTime() [1/2]

◆ SetDateTime() [2/2]

ControlMeasure::Status Isis::ControlMeasure::SetDateTime ( QString datetime)

Set date/time the coordinate was last changed to specified date/time.

Definition at line 256 of file ControlMeasure.cpp.

References IsEditLocked().

◆ SetDiameter()

ControlMeasure::Status Isis::ControlMeasure::SetDiameter ( double diameter)

Set the crater diameter at the coordinate.

This method sets the crater diameter at the coordinate. If left unset a diameter of 0 is assumed which implies no crater

Parameters
diameterThe diameter of the crater in pixels

Definition at line 272 of file ControlMeasure.cpp.

References IsEditLocked().

Referenced by Isis::ControlNetVersioner::createMeasure(), and operator=().

◆ SetEditLock()

ControlMeasure::Status Isis::ControlMeasure::SetEditLock ( bool editLock)

Definition at line 281 of file ControlMeasure.cpp.

◆ SetFocalPlaneComputed()

ControlMeasure::Status Isis::ControlMeasure::SetFocalPlaneComputed ( double x,
double y )

Set the computed focal plane x/y for the apriori lat/lon.

This is a convenience method for the BundleAdjustment class to avoid having to go redo the calculation.

Parameters
*cameraPointer to camera
Returns
Status Success
History
2011-07-14 Debbie A. Cook Removed editLock check for jigsaw

Definition at line 319 of file ControlMeasure.cpp.

Referenced by operator=().

◆ SetFocalPlaneMeasured()

ControlMeasure::Status Isis::ControlMeasure::SetFocalPlaneMeasured ( double x,
double y )

Set the focal plane x/y for the measured line/sample.

This is a convenience method for the BundleAdjustment class to avoid having to go redo the calculation.

Parameters
*cameraPointer to camera
Returns
Status Success
History
2011-07-09 Debbie A. Cook Removed editLock check for jigsaw

Definition at line 299 of file ControlMeasure.cpp.

Referenced by operator=().

◆ SetIgnored()

ControlMeasure::Status Isis::ControlMeasure::SetIgnored ( bool newIgnoredStatus)

Definition at line 350 of file ControlMeasure.cpp.

◆ SetLineSigma()

ControlMeasure::Status Isis::ControlMeasure::SetLineSigma ( double lineSigma)

Definition at line 377 of file ControlMeasure.cpp.

◆ SetLogData()

void Isis::ControlMeasure::SetLogData ( ControlMeasureLogData data)

This adds or updates the log data information associated with data's type.

In most cases, this is what you want to use to assign log data.

Definition at line 435 of file ControlMeasure.cpp.

References Isis::ControlMeasureLogData::GetDataType(), HasLogData(), Isis::ControlMeasureLogData::IsValid(), Isis::IException::Programmer, and UpdateLogData().

Referenced by Isis::ControlNetVersioner::createMeasure(), Isis::ControlMeasureEditWidget::saveMeasure(), and Isis::ControlPointEdit::saveMeasure().

◆ SetRejected()

ControlMeasure::Status Isis::ControlMeasure::SetRejected ( bool reject)

Set "jigsaw" rejected flag for a measure.

This method is used to set the "jigsaw"-rejected flag for the current measure. It should only be used by jigsaw.

Parameters
*rejectrejected flag
Returns
Status Success
History
2011-07-01 Debbie A. Cook Removed editLock check

Definition at line 343 of file ControlMeasure.cpp.

References p_jigsawRejected.

Referenced by Isis::ControlNetVersioner::createMeasure(), and Isis::BundleMeasure::setRejected().

◆ SetResidual()

ControlMeasure::Status Isis::ControlMeasure::SetResidual ( double sampResidual,
double lineResidual )

Set the BundleAdjust Residual of the coordinate.

***Warning: This method should only be used by BundleAdjust and its applications.

Parameters
sampResidualSample Residual
lineResidualLine Residual
History
2011-07-01 Debbie A. Cook Removed editLock check to allow the residuals of locked points to be reported.

Definition at line 399 of file ControlMeasure.cpp.

References p_lineResidual, and p_sampleResidual.

Referenced by Isis::ControlNetVersioner::createMeasure(), and operator=().

◆ SetSampleSigma()

ControlMeasure::Status Isis::ControlMeasure::SetSampleSigma ( double sampleSigma)

Definition at line 410 of file ControlMeasure.cpp.

◆ SetType()

ControlMeasure::Status Isis::ControlMeasure::SetType ( MeasureType type)

◆ StringToMeasureType()

ControlMeasure::MeasureType Isis::ControlMeasure::StringToMeasureType ( QString str)
static
Parameters
strThe string to get a MeasureType from
Returns
A Measure Type given a string

Definition at line 919 of file ControlMeasure.cpp.

References Candidate, Manual, Isis::IException::Programmer, RegisteredPixel, and RegisteredSubPixel.

◆ UpdateLogData()

void Isis::ControlMeasure::UpdateLogData ( ControlMeasureLogData newLogData)

This updates existing log data information associated with data's type.

If none exist, an error is thrown.

See also
SetLogData

Definition at line 504 of file ControlMeasure.cpp.

References Isis::IException::Programmer.

Referenced by SetLogData().

Friends And Related Symbol Documentation

◆ ControlPoint

friend class ControlPoint
friend

Definition at line 179 of file ControlMeasure.h.

Member Data Documentation

◆ p_aprioriLine

double Isis::ControlMeasure::p_aprioriLine
private

measure by autoseed. Pointreg/Interest always use this location to start it's search. Could be moved by interest program or user.

Definition at line 366 of file ControlMeasure.h.

Referenced by ControlMeasure(), InitializeToNull(), operator==(), and PrintableClassData().

◆ p_aprioriSample

double Isis::ControlMeasure::p_aprioriSample
private

The first identified location of the.

Definition at line 365 of file ControlMeasure.h.

Referenced by ControlMeasure(), InitializeToNull(), operator==(), and PrintableClassData().

◆ p_camera

Isis::Camera* Isis::ControlMeasure::p_camera
private

Definition at line 377 of file ControlMeasure.h.

◆ p_chooserName

QString* Isis::ControlMeasure::p_chooserName
private

list the program used and the definition file or include the user name for qnet

Definition at line 356 of file ControlMeasure.h.

Referenced by ControlMeasure(), ControlMeasure(), GetChooserName(), HasChooserName(), InitializeToNull(), operator=(), operator==(), PrintableClassData(), SetChooserName(), SetChooserName(), and ~ControlMeasure().

◆ p_comments

PvlGroup* Isis::ControlMeasure::p_comments
private

Definition at line 350 of file ControlMeasure.h.

◆ p_computedEphemerisTime

double Isis::ControlMeasure::p_computedEphemerisTime
private

Definition at line 371 of file ControlMeasure.h.

◆ p_dateTime

QString* Isis::ControlMeasure::p_dateTime
private

Definition at line 357 of file ControlMeasure.h.

◆ p_diameter

double Isis::ControlMeasure::p_diameter
private

Definition at line 363 of file ControlMeasure.h.

◆ p_editLock

bool Isis::ControlMeasure::p_editLock
private

If true do not edit anything in measure.

Definition at line 358 of file ControlMeasure.h.

Referenced by ControlMeasure(), ControlMeasure(), IsEditLocked(), operator=(), and operator==().

◆ p_focalPlaneComputedX

double Isis::ControlMeasure::p_focalPlaneComputedX
private

Definition at line 380 of file ControlMeasure.h.

◆ p_focalPlaneComputedY

double Isis::ControlMeasure::p_focalPlaneComputedY
private

Definition at line 381 of file ControlMeasure.h.

◆ p_focalPlaneMeasuredX

double Isis::ControlMeasure::p_focalPlaneMeasuredX
private

Definition at line 378 of file ControlMeasure.h.

◆ p_focalPlaneMeasuredY

double Isis::ControlMeasure::p_focalPlaneMeasuredY
private

Definition at line 379 of file ControlMeasure.h.

◆ p_ignore

bool Isis::ControlMeasure::p_ignore
private

Definition at line 359 of file ControlMeasure.h.

◆ p_jigsawRejected

bool Isis::ControlMeasure::p_jigsawRejected
private

Status of measure for last bundle adjust iteration.

Definition at line 360 of file ControlMeasure.h.

Referenced by ControlMeasure(), ControlMeasure(), operator==(), and SetRejected().

◆ p_line

double Isis::ControlMeasure::p_line
private

Jigsaw uses this measure.

Definition at line 362 of file ControlMeasure.h.

Referenced by ControlMeasure(), InitializeToNull(), operator=(), operator==(), PrintableClassData(), and SetCoordinate().

◆ p_lineResidual

double Isis::ControlMeasure::p_lineResidual
private

Jigsaw information - Solution error - replaces p_lineError.

Definition at line 376 of file ControlMeasure.h.

Referenced by ControlMeasure(), GetMeasureData(), GetResidualMagnitude(), InitializeToNull(), operator==(), PrintableClassData(), and SetResidual().

◆ p_lineSigma

double Isis::ControlMeasure::p_lineSigma
private

Not sure how we determine this for automated or manual picking.

Definition at line 374 of file ControlMeasure.h.

Referenced by ControlMeasure(), InitializeToNull(), operator==(), and PrintableClassData().

◆ p_loggedData

QVector<ControlMeasureLogData>* Isis::ControlMeasure::p_loggedData
private

Definition at line 349 of file ControlMeasure.h.

◆ p_measuredEphemerisTime

double Isis::ControlMeasure::p_measuredEphemerisTime
private

Definition at line 382 of file ControlMeasure.h.

◆ p_measureType

MeasureType Isis::ControlMeasure::p_measureType
private

Definition at line 347 of file ControlMeasure.h.

◆ p_sample

double Isis::ControlMeasure::p_sample
private

Current sample/line measurement.

Definition at line 361 of file ControlMeasure.h.

Referenced by ControlMeasure(), InitializeToNull(), operator=(), operator==(), PrintableClassData(), and SetCoordinate().

◆ p_sampleResidual

double Isis::ControlMeasure::p_sampleResidual
private

Jigsaw information - Solution error - replaces p_sampleError.

Definition at line 375 of file ControlMeasure.h.

Referenced by ControlMeasure(), GetMeasureData(), GetResidualMagnitude(), InitializeToNull(), operator==(), PrintableClassData(), and SetResidual().

◆ p_sampleSigma

double Isis::ControlMeasure::p_sampleSigma
private

Uncertainty/sigma in pixels of the measurement (current sample/line)

Definition at line 373 of file ControlMeasure.h.

Referenced by ControlMeasure(), InitializeToNull(), operator==(), and PrintableClassData().

◆ p_serialNumber

QString* Isis::ControlMeasure::p_serialNumber
private

Definition at line 346 of file ControlMeasure.h.

◆ parentPoint

ControlPoint* Isis::ControlMeasure::parentPoint
private

Pointer to parent ControlPoint, may be null.

Definition at line 343 of file ControlMeasure.h.

Referenced by Isis::ControlPoint::AddMeasure(), InitializeToNull(), and IsEditLocked().


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