Isis 3.0
Back | Home
Isis::ControlMeasure Class Reference

a control measurement More...

#include <ControlMeasure.h>

Inherits QObject.

Public Types

enum  MeasureType { Candidate, Manual, RegisteredPixel, RegisteredSubPixel }
 Control network measurement types. More...
 
enum  Status { Success, MeasureLocked }
 
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 ControlPointFileEntryV0002_Measure &)
 Converts the protocol buffer version of the measure into a real ControlMeasure. More...
 
 ControlMeasure (const ControlMeasure &other)
 Copy the other control measure exactly. More...
 
 ~ControlMeasure ()
 Free the memory allocated by a control. More...
 
ControlPointParent ()
 
ControlCubeGraphNodeControlSN ()
 
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...
 
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...
 
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
 
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...
 
ControlPointFileEntryV0002_Measure ToProtocolBuffer () const
 

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)
 

Friends

class ControlPoint
 
class ControlCubeGraphNode
 

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

Member Enumeration Documentation

Enumerator
AprioriLine 
AprioriSample 
ChooserName 
CubeSerialNumber 
Coordinate 
DateTime 
Diameter 
EditLock 
Rejected 
FocalPlaneMeasured 
FocalPlaneComputed 
Ignore 
SampleResidual 
LineResidual 
SampleSigma 
LineSigma 
Type 

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)

Enumerator
Success 
MeasureLocked 

Constructor & Destructor Documentation

Isis::ControlMeasure::ControlMeasure ( )

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

Isis::ControlMeasure::ControlMeasure ( const ControlPointFileEntryV0002_Measure protoBuf)

Converts the protocol buffer version of the measure into a real ControlMeasure.

Parameters
otherThe control measure to copy all of the values from

References Isis::ControlPointFileEntryV0002_Measure::aprioriline(), Isis::ControlPointFileEntryV0002_Measure::apriorisample(), Isis::ControlPointFileEntryV0002_Measure::choosername(), Isis::ControlPointFileEntryV0002_Measure::datetime(), Isis::ControlPointFileEntryV0002_Measure::diameter(), Isis::ControlPointFileEntryV0002_Measure::editlock(), Isis::ControlPointFileEntryV0002_Measure::has_aprioriline(), Isis::ControlPointFileEntryV0002_Measure::has_apriorisample(), Isis::ControlPointFileEntryV0002_Measure::has_diameter(), Isis::ControlPointFileEntryV0002_Measure::has_lineresidual(), Isis::ControlPointFileEntryV0002_Measure::has_linesigma(), Isis::ControlPointFileEntryV0002_Measure::has_sampleresidual(), Isis::ControlPointFileEntryV0002_Measure::has_samplesigma(), Isis::ControlPointFileEntryV0002_Measure::ignore(), Isis::ControlPointFileEntryV0002_Measure::jigsawrejected(), Isis::ControlPointFileEntryV0002_Measure::line(), Isis::ControlPointFileEntryV0002_Measure::lineresidual(), Isis::ControlPointFileEntryV0002_Measure::linesigma(), Isis::ControlPointFileEntryV0002_Measure::log(), Isis::ControlPointFileEntryV0002_Measure::log_size(), Isis::ControlPointFileEntryV0002_Measure::sample(), Isis::ControlPointFileEntryV0002_Measure::sampleresidual(), Isis::ControlPointFileEntryV0002_Measure::samplesigma(), Isis::ControlPointFileEntryV0002_Measure::serialnumber(), and Isis::ControlPointFileEntryV0002_Measure::type().

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

Copy the other control measure exactly.

Parameters
otherThe control measure to copy all of the values from
Isis::ControlMeasure::~ControlMeasure ( )

Free the memory allocated by a control.

Member Function Documentation

ControlCubeGraphNode* Isis::ControlMeasure::ControlSN ( )
inline
void Isis::ControlMeasure::DeleteLogData ( long  dataType)

This deletes log data of the specified type.

If none exist, this does nothing.

Parameters
dataTypeA ControlMeasureLogData::NumericLogDataType

References Isis::ControlMeasureLogData::GetDataType().

double Isis::ControlMeasure::GetAprioriLine ( ) const
double Isis::ControlMeasure::GetAprioriSample ( ) const
QString Isis::ControlMeasure::GetChooserName ( ) const

Return the chooser name.

References Isis::FileName::name().

QString Isis::ControlMeasure::GetDateTime ( ) const

Return the date/time the coordinate was last changed.

double Isis::ControlMeasure::GetDiameter ( ) const

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

Referenced by Isis::CnetViz::AbstractMeasureItem::getData().

double Isis::ControlMeasure::GetFocalPlaneComputedX ( ) const
double Isis::ControlMeasure::GetFocalPlaneComputedY ( ) const
double Isis::ControlMeasure::GetFocalPlaneMeasuredX ( ) const
double Isis::ControlMeasure::GetFocalPlaneMeasuredY ( ) const
QVector<ControlMeasureLogData> Isis::ControlMeasure::GetLastRunLogDataEntries ( ) const
double Isis::ControlMeasure::GetLineSigma ( ) const
QVector<ControlMeasureLogData> Isis::ControlMeasure::GetLogDataEntries ( ) const
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.

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

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

One Getter to rule them all.

References _FILEINFO_.

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

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

QString Isis::ControlMeasure::GetPointId ( ) const

References _FILEINFO_.

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

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

Parameters
dataTypeA ControlMeasureLogData::NumericLogDataType

References Isis::ControlMeasureLogData::GetDataType().

Referenced by Isis::CnetViz::GoodnessOfFitFilter::evaluate().

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

References _FILEINFO_.

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

Return the String Control Measure type.

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

References _FILEINFO_, and Isis::toString().

Referenced by Isis::CnetViz::AbstractMeasureItem::getData().

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

Compare 2 Control Measures for inequality.

Author
sprasad (4/20/2010)
Parameters
pMeasure
Returns
bool
const ControlMeasure & Isis::ControlMeasure::operator= ( const ControlMeasure other)

Assignment operator.

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

Check for Control Measures equality.

Author
sprasad (4/20/2010)
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.
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

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

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

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

ControlMeasure::Status Isis::ControlMeasure::SetCoordinate ( double  sample,
double  line 
)
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
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

Referenced by Isis::ControlPointEditWidget::createControlPoint(), Isis::QnetTool::createFixedPoint(), Isis::StereoTool::createPoint(), Isis::MatchTool::createPoint(), Isis::QnetTool::createPoint(), and Isis::CnetViz::AbstractMeasureItem::setData().

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

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

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

Referenced by Isis::CnetViz::AbstractMeasureItem::setData().

ControlMeasure::Status Isis::ControlMeasure::SetEditLock ( bool  editLock)
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

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

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

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

ControlMeasure::Status Isis::ControlMeasure::SetLineSigma ( double  lineSigma)
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.

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

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

Referenced by Isis::ControlPoint::ClearJigsawRejected(), and Isis::BundleMeasure::setRejected().

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

Referenced by Isis::ControlPoint::ComputeResiduals(), and Isis::CnetViz::AbstractMeasureItem::setData().

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

References _FILEINFO_.

Referenced by Isis::CnetViz::AbstractMeasureItem::setData().

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

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

Friends And Related Function Documentation

friend class ControlCubeGraphNode
friend
friend class ControlPoint
friend

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

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the ISIS Support Center
File Modified: 07/12/2023 23:35:17