Isis 3.0 Developer's Reference (API) |
Home |
Statistical and similar ControlMeasure associated information. More...
#include <ControlMeasureLogData.h>
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. |
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.
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! :)
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 |
|
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. |
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.
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.
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.
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.
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.
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.
other | The instance to copy into this one. |
Isis::ControlMeasureLogData::~ControlMeasureLogData | ( | ) |
Destructor.
This frees allocated memory by the instance of this class.
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.
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..
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.
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.
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.
name | The string to convert to data type |
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.
newDataType | The data type this log data should represent |
void Isis::ControlMeasureLogData::SetNumericalValue | ( | double | value | ) |
This updates the value associated with a NumericLogDataType.
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.
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.
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().
const int Isis::ControlMeasureLogData::MaximumNumericLogDataType = 9 [static] |
This value must be > the largest enumerated value in this type or convertions to and from Pvl will not work.
Referenced by NameToDataType().