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.