USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::ControlMeasure Class Reference

a control measurement More...

#include <ControlMeasure.h>

Inherits QObject.

List of all members.

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.
 ControlMeasure (const ControlPointFileEntryV0002_Measure &)
 Converts the protocol buffer version of the measure into a real ControlMeasure.
 ControlMeasure (const ControlMeasure &other)
 Copy the other control measure exactly.
 ~ControlMeasure ()
 Free the memory allocated by a control.
ControlPointParent ()
ControlCubeGraphNodeControlSN ()
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 (iString 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 (iString newSerialNumber)
 Set cube serial number.
Status SetDateTime ()
 Date Time - Creation Time.
Status SetDateTime (iString 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
iString GetChooserName () const
 Return the chooser name.
iString GetCubeSerialNumber () const
 Return the serial number of the cube containing the coordinate.
iString GetDateTime () const
 Return the date/time the coordinate was last changed.
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 (iString) 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
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< QStringList > PrintableClassData () const
 Data accessor method, provides access to string representations of all variable values and names.
iString 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.
ControlPointFileEntryV0002_Measure ToProtocolBuffer () const

Static Public Member Functions

static QVector< iStringGetMeasureDataNames ()
 Returns a list of all valid options to pass to GetMeasureData.
static iString MeasureTypeToString (MeasureType type)
 Return the String Control Measure type.
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.

References Candidate.

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

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

Parameters:
other The control measure to copy all of the values from

References Isis::ControlPointFileEntryV0002_Measure::aprioriline(), Isis::ControlPointFileEntryV0002_Measure::apriorisample(), Candidate, Isis::ControlPointFileEntryV0002_Measure::Candidate, 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(), Manual, Isis::ControlPointFileEntryV0002_Measure::Manual, RegisteredPixel, Isis::ControlPointFileEntryV0002_Measure::RegisteredPixel, RegisteredSubPixel, Isis::ControlPointFileEntryV0002_Measure::RegisteredSubPixel, 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:
other The control measure to copy all of the values from
Isis::ControlMeasure::~ControlMeasure (  ) 

Free the memory allocated by a control.


Member Function Documentation

Isis::Camera * Isis::ControlMeasure::Camera (  )  const
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:
dataType A ControlMeasureLogData::NumericLogDataType

References Isis::ControlMeasureLogData::GetDataType().

double Isis::ControlMeasure::GetAprioriLine (  )  const

Referenced by ToProtocolBuffer().

double Isis::ControlMeasure::GetAprioriSample (  )  const

Referenced by ToProtocolBuffer().

iString Isis::ControlMeasure::GetChooserName (  )  const

Return the chooser name.

Referenced by ToProtocolBuffer().

iString Isis::ControlMeasure::GetCubeSerialNumber (  )  const
iString Isis::ControlMeasure::GetDateTime (  )  const

Return the date/time the coordinate was last changed.

References DateTime.

Referenced by ToProtocolBuffer().

double Isis::ControlMeasure::GetDiameter (  )  const

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

Referenced by ToProtocolBuffer().

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::GetLine (  )  const
double Isis::ControlMeasure::GetLineResidual (  )  const
double Isis::ControlMeasure::GetLineShift (  )  const
double Isis::ControlMeasure::GetLineSigma (  )  const

Referenced by ToProtocolBuffer().

ControlMeasureLogData Isis::ControlMeasure::GetLogData ( long  dataType  )  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 ( iString  data  )  const
QVector< iString > Isis::ControlMeasure::GetMeasureDataNames (  )  [static]

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

iString Isis::ControlMeasure::GetMeasureTypeString (  )  const
double Isis::ControlMeasure::GetPixelShift (  )  const
QString Isis::ControlMeasure::GetPointId (  )  const
double Isis::ControlMeasure::GetResidualMagnitude (  )  const
double Isis::ControlMeasure::GetSample (  )  const
double Isis::ControlMeasure::GetSampleResidual (  )  const
double Isis::ControlMeasure::GetSampleShift (  )  const
double Isis::ControlMeasure::GetSampleSigma (  )  const

Referenced by ToProtocolBuffer().

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

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

Parameters:
dataType A ControlMeasureLogData::NumericLogDataType

References Isis::ControlMeasureLogData::GetDataType().

Referenced by SetLogData().

bool Isis::ControlMeasure::IsEditLocked (  )  const
bool Isis::ControlMeasure::IsIgnored (  )  const
bool Isis::ControlMeasure::IsMeasured (  )  const

References Candidate.

Referenced by GetMeasureData().

bool Isis::ControlMeasure::IsRegistered (  )  const

References RegisteredPixel, and RegisteredSubPixel.

Referenced by GetMeasureData().

bool Isis::ControlMeasure::IsRejected (  )  const
bool Isis::ControlMeasure::IsStatisticallyRelevant ( DataField  field  )  const
iString Isis::ControlMeasure::MeasureTypeToString ( MeasureType  type  )  [static]

Return the String Control Measure type.

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

References _FILEINFO_, Candidate, Manual, Isis::iException::Message(), Isis::iException::Programmer, RegisteredPixel, and RegisteredSubPixel.

Referenced by GetMeasureTypeString().

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.

References SetIgnored().

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

Parameters:
pMeasure - Control Measure to be compared against
Returns:
bool
ControlPoint* Isis::ControlMeasure::Parent (  )  [inline]
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.

References GetMeasureTypeString(), and GetResidualMagnitude().

ControlMeasure::Status Isis::ControlMeasure::SetAprioriLine ( double  aprioriLine  ) 
ControlMeasure::Status Isis::ControlMeasure::SetAprioriSample ( double  aprioriSample  ) 
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:
*camera Pointer to camera
Returns:
Status Success

References Success.

Referenced by Isis::ControlNet::SetImages().

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

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

References IsEditLocked(), MeasureLocked, and Success.

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

Set chooser name to a user who last changed the coordinate.

References IsEditLocked(), MeasureLocked, and Success.

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

Set the coordinate of the measurement.

Parameters:
sample Sample coordinate of the measurement
line Line coordinate of the measurement
type The type of the coordinate

References IsEditLocked(), MeasureLocked, SetType(), and Success.

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

Set the coordinate of the measurement.

Parameters:
sample Sample coordinate of the measurement
line Line coordinate of the measurement,

References GetType().

ControlMeasure::Status Isis::ControlMeasure::SetCubeSerialNumber ( iString  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:
sn Serial number of the cube where the coordinate was selected
Returns:
Status Success or MeasureLocked

References IsEditLocked(), MeasureLocked, and Success.

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

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

References IsEditLocked(), MeasureLocked, and Success.

ControlMeasure::Status Isis::ControlMeasure::SetDateTime (  ) 

Date Time - Creation Time.

References DateTime, IsEditLocked(), MeasureLocked, and Success.

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:
diameter The diameter of the crater in pixels

References IsEditLocked(), MeasureLocked, and Success.

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

References Success.

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:
*camera Pointer to camera
Returns:
Status Success

References Success.

Referenced by Isis::ControlPoint::ComputeResiduals(), and 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:
*camera Pointer to camera
Returns:
Status Success

References Success.

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

ControlMeasure::Status Isis::ControlMeasure::SetIgnored ( bool  newIgnoredStatus  ) 
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(), HasLogData(), Isis::ControlMeasureLogData::IsValid(), Isis::iException::Message(), Isis::iException::Programmer, and UpdateLogData().

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:
*reject rejected flag
Returns:
Status Success

References Success.

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

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:
sampResidual Sample Residual
lineResidual Line Residual

References Success.

Referenced by Isis::ControlPoint::ComputeResiduals(), and Isis::ControlPoint::ComputeResiduals_Millimeters().

ControlMeasure::Status Isis::ControlMeasure::SetSampleSigma ( double  sampleSigma  ) 
ControlMeasure::Status Isis::ControlMeasure::SetType ( MeasureType  type  ) 

Set how the coordinate was obtained.

References IsEditLocked(), MeasureLocked, and Success.

Referenced by SetCoordinate().

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

References _FILEINFO_, Candidate, Manual, Isis::iException::Message(), Isis::iException::Programmer, RegisteredPixel, and RegisteredSubPixel.

ControlPointFileEntryV0002_Measure Isis::ControlMeasure::ToProtocolBuffer (  )  const

References Isis::ControlPointFileEntryV0002_Measure::add_log(), Isis::ControlPointFileEntryV0002_Measure::Candidate, Candidate, GetAprioriLine(), GetAprioriSample(), GetChooserName(), GetCubeSerialNumber(), GetDateTime(), GetDiameter(), GetLine(), GetLineResidual(), GetLineSigma(), GetSample(), GetSampleResidual(), GetSampleSigma(), GetType(), IsEditLocked(), IsIgnored(), IsRejected(), Isis::ControlPointFileEntryV0002_Measure::Manual, Manual, Isis::Null, Isis::ControlPointFileEntryV0002_Measure::RegisteredPixel, RegisteredPixel, Isis::ControlPointFileEntryV0002_Measure::RegisteredSubPixel, RegisteredSubPixel, Isis::ControlPointFileEntryV0002_Measure::set_aprioriline(), Isis::ControlPointFileEntryV0002_Measure::set_apriorisample(), Isis::ControlPointFileEntryV0002_Measure::set_choosername(), Isis::ControlPointFileEntryV0002_Measure::set_datetime(), Isis::ControlPointFileEntryV0002_Measure::set_diameter(), Isis::ControlPointFileEntryV0002_Measure::set_editlock(), Isis::ControlPointFileEntryV0002_Measure::set_ignore(), Isis::ControlPointFileEntryV0002_Measure::set_jigsawrejected(), Isis::ControlPointFileEntryV0002_Measure::set_line(), Isis::ControlPointFileEntryV0002_Measure::set_lineresidual(), Isis::ControlPointFileEntryV0002_Measure::set_linesigma(), Isis::ControlPointFileEntryV0002_Measure::set_sample(), Isis::ControlPointFileEntryV0002_Measure::set_sampleresidual(), Isis::ControlPointFileEntryV0002_Measure::set_samplesigma(), Isis::ControlPointFileEntryV0002_Measure::set_serialnumber(), Isis::ControlPointFileEntryV0002_Measure::set_type(), and Isis::ControlMeasureLogData::ToProtocolBuffer().

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(), Isis::ControlMeasureLogData::GetDataType(), Isis::iException::Message(), and Isis::iException::Programmer.

Referenced by SetLogData().


Friends And Related Function Documentation

friend class ControlCubeGraphNode [friend]
friend class ControlPoint [friend]

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