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. More...
 
 ControlMeasure (const ControlMeasure &other)
 Copy the other control measure exactly. More...
 
 ~ControlMeasure ()
 Free the memory allocated by a control. More...
 
ControlPointParent ()
 
Status SetAprioriLine (double aprioriLine)
 
Status SetAprioriSample (double aprioriSample)
 
Status SetCamera (Isis::Camera *camera)
 Set pointer to camera associated with a measure. More...
 
Status SetChooserName ()
 Set chooser name to a user who last changed the coordinate. More...
 
Status SetChooserName (QString name)
 Set the chooser name to an application that last changed the coordinate. More...
 
Status SetCoordinate (double sample, double line)
 Set the coordinate of the measurement. More...
 
Status SetCoordinate (double sample, double line, MeasureType type)
 Set the coordinate of the measurement. More...
 
Status SetCubeSerialNumber (QString newSerialNumber)
 Set cube serial number. More...
 
Status SetDateTime ()
 Date Time - Creation Time. More...
 
Status SetDateTime (QString datetime)
 Set date/time the coordinate was last changed to specified date/time. More...
 
Status SetDiameter (double diameter)
 Set the crater diameter at the coordinate. More...
 
Status SetEditLock (bool editLock)
 
Status SetFocalPlaneMeasured (double x, double y)
 Set the focal plane x/y for the measured line/sample. More...
 
Status SetFocalPlaneComputed (double x, double y)
 Set the computed focal plane x/y for the apriori lat/lon. More...
 
Status SetIgnored (bool newIgnoredStatus)
 
Status SetLineSigma (double lineSigma)
 
Status SetRejected (bool rejected)
 Set "jigsaw" rejected flag for a measure. More...
 
Status SetResidual (double sampResidual, double lineResidual)
 Set the BundleAdjust Residual of the coordinate. More...
 
Status SetSampleSigma (double sampleSigma)
 
Status SetType (MeasureType type)
 Set how the coordinate was obtained. More...
 
void DeleteLogData (long dataType)
 This deletes log data of the specified type. More...
 
QVariant GetLogValue (long dataType) const
 Get the value of the log data with the specified type as a variant. More...
 
bool HasLogData (long dataType) const
 Test if we have a valid log data value of the specified type. More...
 
void SetLogData (ControlMeasureLogData)
 This adds or updates the log data information associated with data's type. More...
 
void UpdateLogData (ControlMeasureLogData)
 This updates existing log data information associated with data's type. More...
 
double GetAprioriLine () const
 
double GetAprioriSample () const
 
Isis::CameraCamera () const
 
QString GetChooserName () const
 Return the chooser name. More...
 
bool HasChooserName () const
 Returns true if the choosername is not empty. More...
 
QString GetCubeSerialNumber () const
 Return the serial number of the cube containing the coordinate. More...
 
QString GetDateTime () const
 Return the date/time the coordinate was last changed. More...
 
bool HasDateTime () const
 Returns true if the datetime is not empty. More...
 
double GetDiameter () const
 Return the diameter of the crater in pixels (0 implies no crater) More...
 
ControlMeasureLogData GetLogData (long dataType) const
 
bool IsEditLocked () const
 Return value for p_editLock or implicit lock on reference measure. More...
 
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. More...
 
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. More...
 
QVector< ControlMeasureLogDataGetLastRunLogDataEntries () const
 
double GetResidualMagnitude () const
 Return Residual magnitude. More...
 
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. More...
 
QString GetMeasureTypeString () const
 Obtain a string representation of the MeasureType. More...
 
const ControlMeasureoperator= (const ControlMeasure &other)
 Assignment operator. More...
 
bool operator!= (const Isis::ControlMeasure &pMeasure) const
 Compare 2 Control Measures for inequality. More...
 
bool operator== (const Isis::ControlMeasure &pMeasure) const
 Check for Control Measures equality. More...
 

Static Public Member Functions

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

Private Member Functions

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

Private Attributes

ControlPointparentPoint
 Pointer to parent ControlPoint, may be null. More...
 
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 More...
 
QString * p_dateTime
 
bool p_editLock
 If true do not edit anything in measure. More...
 
bool p_ignore
 
bool p_jigsawRejected
 Status of measure for last bundle adjust iteration. More...
 
double p_sample
 Current sample/line measurement. More...
 
double p_line
 Jigsaw uses this measure. More...
 
double p_diameter
 
double p_aprioriSample
 The first identified location of the. More...
 
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. More...
 
double p_computedEphemerisTime
 
double p_sampleSigma
 Uncertainty/sigma in pixels of the measurement (current sample/line) More...
 
double p_lineSigma
 Not sure how we determine this for automated or manual picking. More...
 
double p_sampleResidual
 Jigsaw information - Solution error - replaces p_sampleError. More...
 
double p_lineResidual
 Jigsaw information - Solution error - replaces p_lineError. More...
 
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 189 of file ControlMeasure.h.

Member Enumeration Documentation

◆ 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 220 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 246 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 43 of file ControlMeasure.cpp.

◆ 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 63 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.

◆ ~ControlMeasure()

Isis::ControlMeasure::~ControlMeasure ( )

Free the memory allocated by a control.

Definition at line 123 of file ControlMeasure.cpp.

Member Function Documentation

◆ 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 468 of file ControlMeasure.cpp.

References Isis::ControlMeasureLogData::GetDataType().

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

◆ GetChooserName()

QString Isis::ControlMeasure::GetChooserName ( ) const

◆ GetCubeSerialNumber()

QString Isis::ControlMeasure::GetCubeSerialNumber ( ) const

Return the serial number of the cube containing the coordinate.

Definition at line 570 of file ControlMeasure.cpp.

Referenced by Isis::ControlNetVitals::addMeasure(), Isis::QnetTool::addMeasure(), Isis::ControlPoint::AddMeasure(), Isis::ControlNetVitals::addMeasureToCounts(), Isis::ControlPointEditWidget::checkReference(), Isis::QnetTool::checkReference(), Isis::ControlPoint::ComputeApriori(), Isis::ControlPoint::ComputeResiduals(), Isis::ControlPointEditWidget::createTemporaryGroundMeasure(), Isis::ControlNetFilter::CubeDistanceFilter(), Isis::BundleMeasure::cubeSerialNumber(), Isis::ControlPoint::Delete(), Isis::ControlNetVitals::deleteMeasure(), Isis::ControlPointEditWidget::deletePoint(), Isis::MatchTool::deletePoint(), Isis::QnetTool::deletePoint(), Isis::QnetSetAprioriDialog::fillReferenceAprioriLineEdits(), Isis::QnetPointDistanceFilter::filter(), Isis::CnetEditorWidget::filteredNetwork(), Isis::InterestOperator::FindCnetRef(), Isis::InterestOperator::FindOverlap(), Isis::QnetTool::findPointLocation(), Isis::ControlPoint::GetReferenceSN(), Isis::ControlPoint::IndexOf(), Isis::ControlPoint::IndexOfRefMeasure(), Isis::InterestOperator::InterestByMeasure(), Isis::InterestOperator::InterestByPoint(), Isis::ControlPointEditWidget::loadGroundMeasure(), Isis::QnetTool::loadGroundMeasure(), Isis::MatchTool::loadMeasureTable(), Isis::QnetTool::loadMeasureTable(), Isis::ControlPointEditWidget::loadPoint(), Isis::MatchTool::loadPoint(), Isis::QnetTool::loadPoint(), Isis::ControlNet::measureAdded(), Isis::ControlNet::measureDeleted(), Isis::ControlNet::measureIgnored(), Isis::ControlNetVitals::measureModified(), Isis::MatchTool::measureSaved(), Isis::ControlNet::measureUnIgnored(), Isis::ControlNet::pointAdded(), Isis::ControlNetFilter::PointCubeNamesFilter(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNet::pointIgnored(), Isis::ControlNetFilter::PointLatLonFilter(), Isis::ControlNetFilter::PointMeasurePropertiesFilter(), Isis::ControlNet::pointUnIgnored(), Isis::ControlNetFilter::PrintCubeFileSerialNum(), Isis::InterestOperator::ProcessLocked_Point_Reference(), Isis::ControlNetVitals::removeMeasureFromCounts(), Isis::ControlPointEdit::saveMeasure(), Isis::ControlMeasureEditWidget::saveMeasure(), Isis::MatchTool::selectLeftMeasure(), Isis::MatchTool::selectRightMeasure(), Isis::MatchTool::setIgnoreLeftMeasure(), Isis::MatchTool::setIgnoreRightMeasure(), Isis::ControlNet::SetImages(), Isis::MatchTool::setLockLeftMeasure(), Isis::MatchTool::setLockRightMeasure(), Isis::ControlPointEditWidget::setShapesForPoint(), Isis::ControlNetVersioner::toPvl(), Isis::MatchTool::updateLeftMeasureInfo(), Isis::MatchTool::updateRightMeasureInfo(), Isis::ControlPointEditWidget::validateMeasureChange(), and Isis::ControlNetVersioner::writeFirstPoint().

◆ GetDateTime()

QString Isis::ControlMeasure::GetDateTime ( ) const

Return the date/time the coordinate was last changed.

Definition at line 576 of file ControlMeasure.cpp.

Referenced by Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::writeFirstPoint().

◆ GetDiameter()

double Isis::ControlMeasure::GetDiameter ( ) const

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

Definition at line 593 of file ControlMeasure.cpp.

Referenced by Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::writeFirstPoint().

◆ 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 809 of file ControlMeasure.cpp.

Referenced by Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::writeFirstPoint().

◆ 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 482 of file ControlMeasure.cpp.

References Isis::ControlMeasureLogData::GetDataType(), and Isis::ControlMeasureLogData::GetValue().

◆ GetMeasureData()

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

One Getter to rule them all.

Definition at line 819 of file ControlMeasure.cpp.

References _FILEINFO_.

◆ GetMeasureDataNames()

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

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

Definition at line 846 of file ControlMeasure.cpp.

◆ GetMeasureTypeString()

QString Isis::ControlMeasure::GetMeasureTypeString ( ) const

◆ 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 725 of file ControlMeasure.cpp.

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

Referenced by Isis::QnetPointJigsawErrorFilter::filter(), Isis::ControlNetStatistics::GetPointDoubleStats(), Isis::MatchTool::loadMeasureTable(), Isis::QnetTool::loadMeasureTable(), Isis::ControlPointGraphicsItem::paint(), Isis::ControlNetFilter::PointResMagnitudeFilter(), and Isis::BundleMeasure::residualMagnitude().

◆ HasChooserName()

bool Isis::ControlMeasure::HasChooserName ( ) const

Returns true if the choosername is not empty.

Definition at line 565 of file ControlMeasure.cpp.

◆ HasDateTime()

bool Isis::ControlMeasure::HasDateTime ( ) const

Returns true if the datetime is not empty.

Definition at line 586 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 499 of file ControlMeasure.cpp.

References Isis::ControlMeasureLogData::GetDataType().

◆ InitializeToNull()

void Isis::ControlMeasure::InitializeToNull ( )
private

initialize pointers and other data to NULL

Definition at line 90 of file ControlMeasure.cpp.

References Isis::Null.

◆ IsEditLocked()

bool Isis::ControlMeasure::IsEditLocked ( ) const

◆ 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 964 of file ControlMeasure.cpp.

References _FILEINFO_, and Isis::toString().

Referenced by 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 1079 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 1014 of file ControlMeasure.cpp.

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

◆ 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 1100 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.

◆ 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 867 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 182 of file ControlMeasure.cpp.

Referenced by Isis::ControlPointEditWidget::createControlPoint(), Isis::QnetTool::createFixedPoint(), Isis::QnetTool::createPoint(), and Isis::ControlNet::SetImages().

◆ SetChooserName() [1/2]

◆ 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 218 of file ControlMeasure.cpp.

◆ SetCoordinate() [1/2]

◆ 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 245 of file ControlMeasure.cpp.

◆ 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 200 of file ControlMeasure.cpp.

Referenced by Isis::QnetTool::addMeasure(), Isis::ControlPointEditWidget::createControlPoint(), Isis::QnetTool::createFixedPoint(), Isis::ControlNetVersioner::createMeasure(), Isis::StereoTool::createPoint(), Isis::MatchTool::createPoint(), Isis::QnetTool::createPoint(), Isis::ControlPointEditWidget::createTemporaryGroundMeasure(), and Isis::QnetTool::createTemporaryGroundMeasure().

◆ 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 269 of file ControlMeasure.cpp.

◆ 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 285 of file ControlMeasure.cpp.

Referenced by Isis::StereoTool::calculateElevation(), and Isis::ControlNetVersioner::createMeasure().

◆ 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 332 of file ControlMeasure.cpp.

Referenced by Isis::ControlPoint::ComputeResiduals_Millimeters().

◆ 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 312 of file ControlMeasure.cpp.

Referenced by Isis::StereoTool::calculateElevation(), and Isis::ControlPoint::ComputeApriori().

◆ 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 448 of file ControlMeasure.cpp.

References _FILEINFO_, Isis::ControlMeasureLogData::GetDataType(), and Isis::ControlMeasureLogData::IsValid().

Referenced by Isis::ControlNetVersioner::createMeasure(), Isis::ControlPointEdit::saveMeasure(), and Isis::ControlMeasureEditWidget::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 356 of file ControlMeasure.cpp.

Referenced by Isis::ControlPoint::ClearJigsawRejected(), 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 412 of file ControlMeasure.cpp.

Referenced by Isis::ControlPoint::ComputeResiduals(), and Isis::ControlNetVersioner::createMeasure().

◆ SetType()

◆ 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 932 of file ControlMeasure.cpp.

References _FILEINFO_.

◆ 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 517 of file ControlMeasure.cpp.

References _FILEINFO_, Isis::ControlMeasureLogData::DataTypeToName(), and Isis::ControlMeasureLogData::GetDataType().

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 380 of file ControlMeasure.h.

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

◆ p_aprioriSample

double Isis::ControlMeasure::p_aprioriSample
private

The first identified location of the.

Definition at line 379 of file ControlMeasure.h.

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

◆ 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 370 of file ControlMeasure.h.

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

◆ p_editLock

bool Isis::ControlMeasure::p_editLock
private

If true do not edit anything in measure.

Definition at line 372 of file ControlMeasure.h.

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

◆ p_jigsawRejected

bool Isis::ControlMeasure::p_jigsawRejected
private

Status of measure for last bundle adjust iteration.

Definition at line 374 of file ControlMeasure.h.

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

◆ p_line

double Isis::ControlMeasure::p_line
private

Jigsaw uses this measure.

Definition at line 376 of file ControlMeasure.h.

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

◆ p_lineResidual

double Isis::ControlMeasure::p_lineResidual
private

Jigsaw information - Solution error - replaces p_lineError.

Definition at line 390 of file ControlMeasure.h.

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

◆ p_lineSigma

double Isis::ControlMeasure::p_lineSigma
private

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

Definition at line 388 of file ControlMeasure.h.

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

◆ p_sample

double Isis::ControlMeasure::p_sample
private

Current sample/line measurement.

Definition at line 375 of file ControlMeasure.h.

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

◆ p_sampleResidual

double Isis::ControlMeasure::p_sampleResidual
private

Jigsaw information - Solution error - replaces p_sampleError.

Definition at line 389 of file ControlMeasure.h.

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

◆ p_sampleSigma

double Isis::ControlMeasure::p_sampleSigma
private

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

Definition at line 387 of file ControlMeasure.h.

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

◆ parentPoint

ControlPoint* Isis::ControlMeasure::parentPoint
private

Pointer to parent ControlPoint, may be null.

Definition at line 357 of file ControlMeasure.h.

Referenced by Isis::ControlPoint::AddMeasure().


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