Isis Developer 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)
 

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

Member Enumeration Documentation

◆ DataField

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

◆ 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)

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

Enumerator
IgnoredModified 

◆ Status

Enumerator
Success 
MeasureLocked 

Constructor & Destructor Documentation

◆ ControlMeasure() [1/2]

Isis::ControlMeasure::ControlMeasure ( )

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

◆ 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

◆ ~ControlMeasure()

Isis::ControlMeasure::~ControlMeasure ( )

Free the memory allocated by a control.

Member Function Documentation

◆ Camera()

◆ 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

References Isis::ControlMeasureLogData::GetDataType().

◆ GetAprioriLine()

double Isis::ControlMeasure::GetAprioriLine ( ) const

◆ GetAprioriSample()

double Isis::ControlMeasure::GetAprioriSample ( ) const

◆ GetChooserName()

QString Isis::ControlMeasure::GetChooserName ( ) const

Return the chooser name.

References Isis::FileName::name().

Referenced by Isis::ControlNetVersioner::toPvl().

◆ GetCubeSerialNumber()

◆ GetDateTime()

QString Isis::ControlMeasure::GetDateTime ( ) const

Return the date/time the coordinate was last changed.

Referenced by Isis::ControlNetVersioner::toPvl().

◆ GetDiameter()

double Isis::ControlMeasure::GetDiameter ( ) const

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

Referenced by Isis::AbstractMeasureItem::getData(), and Isis::ControlNetVersioner::toPvl().

◆ GetFocalPlaneComputedX()

double Isis::ControlMeasure::GetFocalPlaneComputedX ( ) const

◆ GetFocalPlaneComputedY()

double Isis::ControlMeasure::GetFocalPlaneComputedY ( ) const

◆ GetFocalPlaneMeasuredX()

double Isis::ControlMeasure::GetFocalPlaneMeasuredX ( ) const

◆ GetFocalPlaneMeasuredY()

double Isis::ControlMeasure::GetFocalPlaneMeasuredY ( ) const

◆ GetLastRunLogDataEntries()

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

◆ GetLine()

◆ GetLineResidual()

◆ GetLineShift()

double Isis::ControlMeasure::GetLineShift ( ) const

◆ GetLineSigma()

double Isis::ControlMeasure::GetLineSigma ( ) const

◆ GetLogData()

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

Referenced by Isis::ControlNetVersioner::toPvl().

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

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

◆ GetMeasureData()

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

One Getter to rule them all.

References _FILEINFO_.

◆ GetMeasureDataNames()

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

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

◆ GetMeasureTypeString()

◆ GetPixelShift()

◆ GetPointId()

QString Isis::ControlMeasure::GetPointId ( ) const

References _FILEINFO_.

◆ 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

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

Referenced by Isis::ResidualMagnitudeFilter::evaluate(), Isis::QnetPointJigsawErrorFilter::filter(), Isis::AbstractMeasureItem::getData(), Isis::ControlPointGraphicsItem::paint(), Isis::ControlNetFilter::PointResMagnitudeFilter(), Isis::BundleMeasure::residualMagnitude(), and Isis::ControlNetValidMeasure::ValidStandardOptions().

◆ GetSample()

◆ GetSampleResidual()

◆ GetSampleShift()

double Isis::ControlMeasure::GetSampleShift ( ) const

◆ GetSampleSigma()

double Isis::ControlMeasure::GetSampleSigma ( ) const

◆ GetType()

◆ HasChooserName()

bool Isis::ControlMeasure::HasChooserName ( ) const

Returns true if the choosername is not empty.

◆ HasDateTime()

bool Isis::ControlMeasure::HasDateTime ( ) const

Returns true if the datetime is not empty.

◆ 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

References Isis::ControlMeasureLogData::GetDataType().

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

◆ IsEditLocked()

◆ IsIgnored()

◆ IsMeasured()

bool Isis::ControlMeasure::IsMeasured ( ) const

◆ IsRegistered()

bool Isis::ControlMeasure::IsRegistered ( ) const

◆ IsRejected()

◆ IsStatisticallyRelevant()

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

References _FILEINFO_.

◆ MeasureTypeToString()

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::AbstractMeasureItem::getData().

◆ 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

◆ operator=()

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

Assignment operator.

◆ operator==()

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

Check for Control Measures equality.

Author
sprasad (4/20/2010)

◆ Parent()

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

◆ SetAprioriLine()

◆ SetAprioriSample()

◆ 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

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.

◆ 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,

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

◆ 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

◆ 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

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

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

◆ 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

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

◆ SetEditLock()

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

◆ 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

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

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

◆ SetIgnored()

◆ SetLineSigma()

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

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

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

◆ 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

Referenced by Isis::ControlPoint::ClearJigsawRejected(), 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

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

◆ SetSampleSigma()

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

◆ 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

References _FILEINFO_.

Referenced by Isis::MeasureTableDelegate::readData(), and Isis::AbstractMeasureItem::setData().

◆ 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

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

Friends And Related Function Documentation

◆ ControlPoint

friend class ControlPoint
friend

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