1 #ifndef ControlMeasure_h
2 #define ControlMeasure_h
28 template<
class A>
class QVector;
29 template<
class A>
class QList;
37 class ControlMeasureLogData;
39 class ControlPointFileEntryV0002_Measure;
40 class ControlCubeGraphNode;
223 CubeSerialNumber = 8,
229 FocalPlaneMeasured = 512,
230 FocalPlaneComputed = 1024,
232 SampleResidual = 4096,
247 Status SetAprioriLine(
double aprioriLine);
248 Status SetAprioriSample(
double aprioriSample);
258 Status SetEditLock(
bool editLock);
261 Status SetIgnored(
bool newIgnoredStatus);
262 Status SetLineSigma(
double lineSigma);
264 Status
SetResidual(
double sampResidual,
double lineResidual);
265 Status SetSampleSigma(
double sampleSigma);
274 double GetAprioriLine()
const;
275 double GetAprioriSample()
const;
281 ControlMeasureLogData GetLogData(
long dataType)
const;
283 bool IsRejected()
const;
284 double GetFocalPlaneComputedX()
const;
285 double GetFocalPlaneComputedY()
const;
286 double GetFocalPlaneMeasuredX()
const;
287 double GetFocalPlaneMeasuredY()
const;
289 bool IsIgnored()
const;
290 bool IsMeasured()
const;
291 bool IsRegistered()
const;
292 bool IsStatisticallyRelevant(DataField field)
const;
293 double GetLine()
const;
294 double GetLineResidual()
const;
295 double GetLineSigma()
const;
299 double GetSample()
const;
300 double GetSampleResidual()
const;
301 double GetSampleSigma()
const;
303 QString GetPointId()
const;
305 double GetSampleShift()
const;
306 double GetLineShift()
const;
307 double GetPixelShift()
const;
321 ControlPointFileEntryV0002_Measure ToProtocolBuffer()
const;
325 void MeasureModified();
332 QString *p_serialNumber;
357 double p_computedEphemerisTime;
364 double p_focalPlaneMeasuredX;
365 double p_focalPlaneMeasuredY;
366 double p_focalPlaneComputedX;
367 double p_focalPlaneComputedY;
368 double p_measuredEphemerisTime;
Status SetType(MeasureType type)
Set how the coordinate was obtained.
double p_aprioriSample
The first identified location of the.
QString GetDateTime() const
Return the date/time the coordinate was last changed.
Serial Number with added functionality for Control Networks.
double p_lineResidual
Jigsaw information - Solution error - replaces p_lineError.
(e.g., autoseed, interest) AKA predicted, unmeasured, unverified
bool p_jigsawRejected
Status of measure for last bundle adjust iteration.
double GetResidualMagnitude() const
Return Residual magnitude.
ControlPoint * parentPoint
Pointer to parent ControlPoint, may be null.
double p_sample
Current sample/line measurement.
ControlCubeGraphNode * associatedCSN
Pointer to the Serial Number.
QVariant GetLogValue(long dataType) const
Get the value of the log data with the specified type as a variant.
bool operator!=(const Isis::ControlMeasure &pMeasure) const
Compare 2 Control Measures for inequality.
QList< QStringList > PrintableClassData() const
Data accessor method, provides access to string representations of all variable values and names...
QString * p_chooserName
list the program used and the definition file or include the user name for qnet
Registered to whole pixel (e.g.,pointreg)
Registered to sub-pixel (e.g., pointreg)
static QVector< QString > GetMeasureDataNames()
Returns a list of all valid options to pass to GetMeasureData.
Status SetRejected(bool rejected)
Set "jigsaw" rejected flag for a measure.
bool p_editLock
If true do not edit anything in measure.
double p_sampleSigma
Uncertainty/sigma in pixels of the measurement (current sample/line)
double p_lineSigma
Not sure how we determine this for automated or manual picking.
Status SetDiameter(double diameter)
Set the crater diameter at the coordinate.
const ControlMeasure & operator=(const ControlMeasure &other)
Assignment operator.
ControlMeasure()
Create a new control measure and initialize it to nulls and zeros.
double GetMeasureData(QString) const
One Getter to rule them all.
void UpdateLogData(ControlMeasureLogData)
This updates existing log data information associated with data's type.
double p_line
Jigsaw uses this measure.
QString GetMeasureTypeString() const
Obtain a string representation of the MeasureType.
Status SetResidual(double sampResidual, double lineResidual)
Set the BundleAdjust Residual of the coordinate.
bool operator==(const Isis::ControlMeasure &pMeasure) const
Check for Control Measures equality.
Hand Measured (e.g., qnet)
Status SetCamera(Isis::Camera *camera)
Set pointer to camera associated with a measure.
Contains multiple PvlContainers.
void SetLogData(ControlMeasureLogData)
This adds or updates the log data information associated with data's type.
double p_aprioriLine
measure by autoseed. Pointreg/Interest < always use this location to star...
bool IsEditLocked() const
Return value for p_editLock or implicit lock on reference measure.
MeasureType
Control network measurement types.
~ControlMeasure()
Free the memory allocated by a control.
double p_sampleResidual
Jigsaw information - Solution error - replaces p_sampleError.
Status SetFocalPlaneMeasured(double x, double y)
Set the focal plane x/y for the measured line/sample.
void InitializeToNull()
initialize pointers and other data to NULL
Status SetChooserName()
Set chooser name to a user who last changed the coordinate.
QString GetCubeSerialNumber() const
Return the serial number of the cube containing the coordinate.
Status SetCubeSerialNumber(QString newSerialNumber)
Set cube serial number.
Status SetCoordinate(double sample, double line)
Set the coordinate of the measurement.
void DeleteLogData(long dataType)
This deletes log data of the specified type.
Status SetDateTime()
Date Time - Creation Time.
double GetDiameter() const
Return the diameter of the crater in pixels (0 implies no crater)
QString GetChooserName() const
Return the chooser name.
Status SetFocalPlaneComputed(double x, double y)
Set the computed focal plane x/y for the apriori lat/lon.
bool HasLogData(long dataType) const
Test if we have a valid log data value of the specified type.
static MeasureType StringToMeasureType(QString str)
static QString MeasureTypeToString(MeasureType type)
Return the String Control Measure type.