1#ifndef ControlMeasure_h 
    2#define ControlMeasure_h 
   14template< 
class A> 
class QVector;
 
   15template< 
class A> 
class QList;
 
   23  class ControlMeasureLogData;
 
  240        CubeSerialNumber   = 8,
 
  246        FocalPlaneMeasured = 512,
 
  247        FocalPlaneComputed = 1024,
 
  249        SampleResidual     = 4096,
 
  262      Status SetAprioriLine(
double aprioriLine);
 
  263      Status SetAprioriSample(
double aprioriSample);
 
  268      Status 
SetCoordinate(
double sample, 
double line, MeasureType type);
 
  273      Status SetEditLock(
bool editLock);
 
  276      Status SetIgnored(
bool newIgnoredStatus);
 
  277      Status SetLineSigma(
double lineSigma);
 
  279      Status 
SetResidual(
double sampResidual, 
double lineResidual);
 
  280      Status SetSampleSigma(
double sampleSigma);
 
  281      Status 
SetType(MeasureType type);
 
  289      double GetAprioriLine() 
const;
 
  290      double GetAprioriSample() 
const;
 
  298      ControlMeasureLogData GetLogData(
long dataType) 
const;
 
  300      bool IsRejected() 
const;
 
  301      double GetFocalPlaneComputedX() 
const;
 
  302      double GetFocalPlaneComputedY() 
const;
 
  303      double GetFocalPlaneMeasuredX() 
const;
 
  304      double GetFocalPlaneMeasuredY() 
const;
 
  306      bool IsIgnored() 
const;
 
  307      bool IsMeasured() 
const;
 
  308      bool IsRegistered() 
const;
 
  309      bool IsStatisticallyRelevant(DataField field) 
const;
 
  310      double GetLine() 
const;
 
  311      double GetLineResidual() 
const;
 
  312      double GetLineSigma() 
const;
 
  314      QVector<ControlMeasureLogData> GetLastRunLogDataEntries() 
const;
 
  316      double GetSample() 
const;
 
  317      double GetSampleResidual() 
const;
 
  318      double GetSampleSigma() 
const;
 
  319      MeasureType GetType() 
const;
 
  320      QString GetPointId() 
const;
 
  322      double GetSampleShift() 
const;
 
  323      double GetLineShift() 
const;
 
  324      double GetPixelShift() 
const;
 
  340      void MeasureModified();
 
  346      QString *p_serialNumber;
 
  349      QVector<ControlMeasureLogData> * p_loggedData;
 
  371      double p_computedEphemerisTime;
 
  378      double p_focalPlaneMeasuredX;
 
  379      double p_focalPlaneMeasuredY;
 
  380      double p_focalPlaneComputedX;
 
  381      double p_focalPlaneComputedY;
 
  382      double p_measuredEphemerisTime;
 
 
bool IsEditLocked() const
Return value for p_editLock or implicit lock on reference measure.
 
Status SetCubeSerialNumber(QString newSerialNumber)
Set cube serial number.
 
QString GetDateTime() const
Return the date/time the coordinate was last changed.
 
double p_sampleResidual
Jigsaw information - Solution error - replaces p_sampleError.
 
static QString MeasureTypeToString(MeasureType type)
Return the String Control Measure type.
 
bool operator!=(const Isis::ControlMeasure &pMeasure) const
Compare 2 Control Measures for inequality.
 
double p_aprioriLine
measure by autoseed. Pointreg/Interest always use this location to start it's search....
 
bool HasLogData(long dataType) const
Test if we have a valid log data value of the specified type.
 
QList< QStringList > PrintableClassData() const
Data accessor method, provides access to string representations of all variable values and names.
 
Status SetCoordinate(double sample, double line)
Set the coordinate of the measurement.
 
double p_sample
Current sample/line measurement.
 
static MeasureType StringToMeasureType(QString str)
 
void DeleteLogData(long dataType)
This deletes log data of the specified type.
 
QString GetChooserName() const
Return the chooser name.
 
QString GetCubeSerialNumber() const
Return the serial number of the cube containing the coordinate.
 
QString * p_chooserName
list the program used and the definition file or include the user name for qnet
 
Status SetFocalPlaneComputed(double x, double y)
Set the computed focal plane x/y for the apriori lat/lon.
 
double GetMeasureData(QString) const
One Getter to rule them all.
 
void InitializeToNull()
initialize pointers and other data to NULL
 
MeasureType
Control network measurement types.
 
@ Manual
Hand Measured (e.g., qnet)
 
@ Candidate
(e.g., autoseed, interest) AKA predicted, unmeasured, unverified
 
@ RegisteredSubPixel
Registered to sub-pixel (e.g., pointreg)
 
@ RegisteredPixel
Registered to whole pixel (e.g.,pointreg)
 
double p_line
Jigsaw uses this measure.
 
double p_sampleSigma
Uncertainty/sigma in pixels of the measurement (current sample/line)
 
bool operator==(const Isis::ControlMeasure &pMeasure) const
Check for Control Measures equality.
 
double p_lineSigma
Not sure how we determine this for automated or manual picking.
 
Status SetFocalPlaneMeasured(double x, double y)
Set the focal plane x/y for the measured line/sample.
 
Status SetType(MeasureType type)
Set how the coordinate was obtained.
 
Status SetDiameter(double diameter)
Set the crater diameter at the coordinate.
 
void SetLogData(ControlMeasureLogData)
This adds or updates the log data information associated with data's type.
 
bool HasDateTime() const
Returns true if the datetime is not empty.
 
QVariant GetLogValue(long dataType) const
Get the value of the log data with the specified type as a variant.
 
const ControlMeasure & operator=(const ControlMeasure &other)
Assignment operator.
 
double p_lineResidual
Jigsaw information - Solution error - replaces p_lineError.
 
void UpdateLogData(ControlMeasureLogData)
This updates existing log data information associated with data's type.
 
Status SetDateTime()
Date Time - Creation Time.
 
ControlPoint * parentPoint
Pointer to parent ControlPoint, may be null.
 
Status SetResidual(double sampResidual, double lineResidual)
Set the BundleAdjust Residual of the coordinate.
 
ModType
Control Measure Modification Types.
 
QString GetMeasureTypeString() const
Obtain a string representation of the MeasureType.
 
~ControlMeasure()
Free the memory allocated by a control.
 
Status SetCamera(Isis::Camera *camera)
Set pointer to camera associated with a measure.
 
double p_aprioriSample
The first identified location of the.
 
Status SetRejected(bool rejected)
Set "jigsaw" rejected flag for a measure.
 
static QVector< QString > GetMeasureDataNames()
Returns a list of all valid options to pass to GetMeasureData.
 
bool HasChooserName() const
Returns true if the choosername is not empty.
 
double GetDiameter() const
Return the diameter of the crater in pixels (0 implies no crater)
 
Status SetChooserName()
Set chooser name to a user who last changed the coordinate.
 
bool p_jigsawRejected
Status of measure for last bundle adjust iteration.
 
ControlMeasure()
Create a new control measure and initialize it to nulls and zeros.
 
bool p_editLock
If true do not edit anything in measure.
 
double GetResidualMagnitude() const
Return Residual magnitude.
 
QVector< ControlMeasureLogData > GetLogDataEntries() const
Return all of the log data for the measure.
 
Define a generic Y/X container.
 
Contains multiple PvlContainers.
 
This is free and unencumbered software released into the public domain.
 
This is free and unencumbered software released into the public domain.
 
This is free and unencumbered software released into the public domain.