USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::ControlMeasureLogData Class Reference

Statistical and similar ControlMeasure associated information. More...

#include <ControlMeasureLogData.h>

List of all members.

Public Types

enum  NumericLogDataType {
  InvalidNumericLogDataType = 0, Eccentricity = 1, GoodnessOfFit = 2, MinimumPixelZScore = 3,
  MaximumPixelZScore = 4, PixelShift = 5, WholePixelCorrelation = 6, SubPixelCorrelation = 7,
  AverageResidual = 8
}
 

Please do not change existing values in this list except the size - it will break backwards compadibility.

More...

Public Member Functions

 ControlMeasureLogData ()
 This creates an empty, invalid (IsValid() will return false), instance.
 ControlMeasureLogData (NumericLogDataType)
 This creates an instance with the given type but no value yet.
 ControlMeasureLogData (PvlKeyword)
 This creates an instance while attempting to interpret keywordRep.
 ControlMeasureLogData (NumericLogDataType, double value)
 This creates an instance with the given type and value for that type.
 ControlMeasureLogData (const ControlNetLogDataProtoV0001_Point_Measure_DataEntry &)
 This creates an instance based on the protocol buffer.
 ControlMeasureLogData (const ControlPointFileEntryV0002_Measure_MeasureLogData &)
 This creates an instance based on the protocol buffer.
 ControlMeasureLogData (const ControlMeasureLogData &other)
 Copy constructor.
 ~ControlMeasureLogData ()
 Destructor.
void SetNumericalValue (double)
 This updates the value associated with a NumericLogDataType.
void SetDataType (NumericLogDataType)
 This changes the type of this log data.
double GetNumericalValue () const
 Get the value associated with this log data.
NumericLogDataType GetDataType () const
 Get the data type associated with this log data.
QVariant GetValue () const
 Get the data type associated with this log data.
bool IsValid () const
 This tests if the log data is complete and valid.
PvlKeyword ToKeyword () const
 This converts the log data to a PvlKeyword.
ControlPointFileEntryV0002_Measure_MeasureLogData ToProtocolBuffer () const
 This converts the log data to a protocol buffer object.
NumericLogDataType NameToDataType (iString name) const
 This converts a string to a log data type and is useful for converting Pvl keywords to Numeric Log Data Type.
iString DataTypeToName (NumericLogDataType) const
 This converts the log data type to a string and is used internally for convertions to and from Pvl.

Static Public Attributes

static const int MaximumNumericLogDataType = 9
 This value must be > the largest enumerated value in this type or convertions to and from Pvl will not work.

Detailed Description

Statistical and similar ControlMeasure associated information.

This class represents information that is related to, or associated with, a control measure but is not part of the measure itself.

Author:
2010-12-22 Steven Lambright
See also:
ControlMeasure

Member Enumeration Documentation

Please do not change existing values in this list except the size - it will break backwards compadibility.

This is the list of log data for control measures. To add a new element, put it in the list (anywhere), assign it a value one greater than the current maximum, and increase the maximum's value. Then add a case to ControlMeasureLogData::DataTypeToName. Once you've done that, you're done! :)

Enumerator:
InvalidNumericLogDataType 

This is a placeholder for unset values.

Eccentricity 

Eccentricity is pointreg information for sub-pixel registered measures based on the algorithm chosen.

This does not apply to adaptive algorithms.

When computing a registration to sub-pixel accuracy, the eccentricity of the surface model can be compared to a tolerance to determine if the registration succeeded or not.

Eccentricity generally ranges between 0 and 1. A value of 0 represents a perfect circle, while a value of 1 represents a parabola. Anything in between is an ellipse, while anything greater than 1 can be considered a hyperbola.

Eccentricity cannot always be computed, due to the nature of its calculation, which takes square roots. If the pointreg algorithm would take the square root of a negative number, then it assumes the eccentricity to be 0 (a perfect circle) under the belief that false positives are more acceptable than false negatives.

Eccentricity can be reported in any instance where sub-pixel accuracy is computed (when the keyword "SubpixelAccuracy" in group "Algorithm" is set to true in pointreg).

GoodnessOfFit 

GoodnessOfFit is pointreg information for reference measures.

This measures how well the computed fit area matches the pattern area.

MinimumPixelZScore 

Control measures store z-scores in pairs.

A pair contains the z-scores of the minimum and maximum pixels in the pattern chip generated for the given measure during point registration. Each z-score indicates how many standard deviations the given pixel value is above or below the mean DN.

MaximumPixelZScore 
See also:
MinimumPixelZScore
PixelShift 

Deprecated keyword kept for backwards compatability with older Control Networks.

DO NOT USE!!

WholePixelCorrelation 

Goodness of Fit of the whole pixel least-squares solution (surface model) from automatic registration.

SubPixelCorrelation 

Goodness of Fit of the sub-pixel least-squares solution (surface model) from automatic registration.

AverageResidual 

Average Residual of the sub-pixel least squares solution (surface model) from automatic registration.


Constructor & Destructor Documentation

Isis::ControlMeasureLogData::ControlMeasureLogData (  ) 

This creates an empty, invalid (IsValid() will return false), instance.

Isis::ControlMeasureLogData::ControlMeasureLogData ( NumericLogDataType  dataType  ) 

This creates an instance with the given type but no value yet.

IsValid() will return false until a value is set.

Parameters:
dataType What the instance is describing (the field)
Isis::ControlMeasureLogData::ControlMeasureLogData ( PvlKeyword  keywordRep  ) 

This creates an instance while attempting to interpret keywordRep.

On failure, the IsValid() test will return false.

Parameters:
keywordRep The PvlKeyword representing log data

References InvalidNumericLogDataType, Isis::PvlKeyword::Name(), and NameToDataType().

Isis::ControlMeasureLogData::ControlMeasureLogData ( NumericLogDataType  dataType,
double  value 
)

This creates an instance with the given type and value for that type.

Parameters:
dataType What the value is describing (the field)
value The numerical value of this field
Isis::ControlMeasureLogData::ControlMeasureLogData ( const ControlNetLogDataProtoV0001_Point_Measure_DataEntry protoBuf  ) 

This creates an instance based on the protocol buffer.

This assumes the protocol buffer is correct and does no extra validation.

Parameters:
protoBuf The protocol buffer version of a log data

References Isis::ControlNetLogDataProtoV0001_Point_Measure_DataEntry::datatype(), and Isis::ControlNetLogDataProtoV0001_Point_Measure_DataEntry::datavalue().

Isis::ControlMeasureLogData::ControlMeasureLogData ( const ControlPointFileEntryV0002_Measure_MeasureLogData protoBuf  ) 

This creates an instance based on the protocol buffer.

This assumes the protocol buffer is correct and does no extra validation.

Parameters:
protoBuf The protocol buffer version of a log data

References Isis::ControlPointFileEntryV0002_Measure_MeasureLogData::doubledatatype(), Isis::ControlPointFileEntryV0002_Measure_MeasureLogData::doubledatavalue(), and Isis::ControlPointFileEntryV0002_Measure_MeasureLogData::has_doubledatatype().

Isis::ControlMeasureLogData::ControlMeasureLogData ( const ControlMeasureLogData other  ) 

Copy constructor.

Parameters:
other The instance to copy into this one.
Isis::ControlMeasureLogData::~ControlMeasureLogData (  ) 

Destructor.

This frees allocated memory by the instance of this class.


Member Function Documentation

iString Isis::ControlMeasureLogData::DataTypeToName ( NumericLogDataType  type  )  const

This converts the log data type to a string and is used internally for convertions to and from Pvl.

This is also useful for GUI programs that need to display log information.

Parameters:
type The data type to convert to a string

References _FILEINFO_, AverageResidual, Eccentricity, GoodnessOfFit, InvalidNumericLogDataType, MaximumPixelZScore, Isis::iException::Message(), MinimumPixelZScore, PixelShift, Isis::iException::Programmer, SubPixelCorrelation, and WholePixelCorrelation.

Referenced by NameToDataType(), ToKeyword(), and Isis::ControlMeasure::UpdateLogData().

ControlMeasureLogData::NumericLogDataType Isis::ControlMeasureLogData::GetDataType (  )  const

Get the data type associated with this log data.

The return value is InvalidNumericLogDataType is no value has been set..

Returns:
A numerical representation of the current DataType

Referenced by Isis::ControlMeasure::DeleteLogData(), Isis::ControlMeasure::GetLogData(), Isis::ControlMeasure::GetLogValue(), Isis::ControlMeasure::HasLogData(), Isis::ControlMeasure::SetLogData(), and Isis::ControlMeasure::UpdateLogData().

double Isis::ControlMeasureLogData::GetNumericalValue (  )  const

Get the value associated with this log data.

Returns Null is IsValid() if false.

Returns:
A numerical representation of the current DataType

Referenced by Isis::ControlPoint::GetStatistic(), and Isis::ControlNetFilter::PointGoodnessOfFitFilter().

QVariant Isis::ControlMeasureLogData::GetValue (  )  const

Get the data type associated with this log data.

The return value is an invalid variant type if the value is not set.

Referenced by Isis::ControlMeasure::GetLogValue().

bool Isis::ControlMeasureLogData::IsValid (  )  const

This tests if the log data is complete and valid.

Returns:
True if type and value are known, false otherwise

Referenced by Isis::ControlMeasure::SetLogData(), ToKeyword(), and ToProtocolBuffer().

ControlMeasureLogData::NumericLogDataType Isis::ControlMeasureLogData::NameToDataType ( iString  name  )  const

This converts a string to a log data type and is useful for converting Pvl keywords to Numeric Log Data Type.

Parameters:
name The string to convert to data type
Returns:
The data type converted from a string

References Isis::iException::Clear(), DataTypeToName(), InvalidNumericLogDataType, and MaximumNumericLogDataType.

Referenced by ControlMeasureLogData().

void Isis::ControlMeasureLogData::SetDataType ( NumericLogDataType  newDataType  ) 

This changes the type of this log data.

This will reset the value of the log data also.

Parameters:
newDataType The data type this log data should represent
void Isis::ControlMeasureLogData::SetNumericalValue ( double  value  ) 

This updates the value associated with a NumericLogDataType.

Parameters:
value The new value for this log data
PvlKeyword Isis::ControlMeasureLogData::ToKeyword (  )  const

This converts the log data to a PvlKeyword.

These should be understandable by the constructor.

Returns:
A PVL representation of this log data

References DataTypeToName(), and IsValid().

Referenced by Isis::ControlNetFileV0002::ToPvl(), and Isis::ControlNetFileV0001::ToPvl().

ControlPointFileEntryV0002_Measure_MeasureLogData Isis::ControlMeasureLogData::ToProtocolBuffer (  )  const

This converts the log data to a protocol buffer object.

This should be understandable by the constructor that takes a protocol buffer object.

Returns:
A protocol buffer representation of this log data

References _FILEINFO_, IsValid(), Isis::iException::Message(), Isis::iException::Programmer, Isis::ControlPointFileEntryV0002_Measure_MeasureLogData::set_doubledatatype(), and Isis::ControlPointFileEntryV0002_Measure_MeasureLogData::set_doubledatavalue().

Referenced by Isis::ControlMeasure::ToProtocolBuffer().


Member Data Documentation

This value must be > the largest enumerated value in this type or convertions to and from Pvl will not work.

Referenced by NameToDataType().


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