Isis Developer Reference
ControlMeasure.h
Go to the documentation of this file.
1#ifndef ControlMeasure_h
2#define ControlMeasure_h
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include <QObject>
13
14template< class A> class QVector;
15template< class A> class QList;
16class QString;
17class QStringList;
18class QVariant;
19
20namespace Isis {
21 class Application;
22 class Camera;
23 class ControlMeasureLogData;
24 class ControlPoint;
25 class PvlGroup;
26 class PvlKeyword;
27
175 class ControlMeasure : public QObject {
176
177 Q_OBJECT
178
179 friend class ControlPoint;
180 public:
216
221
222
235
255
257 ControlMeasure(const ControlMeasure &other);
259
260 ControlPoint *Parent() { return parentPoint; }
261
262 Status SetAprioriLine(double aprioriLine);
263 Status SetAprioriSample(double aprioriSample);
266 Status SetChooserName(QString name);
267 Status SetCoordinate(double sample, double line);
268 Status SetCoordinate(double sample, double line, MeasureType type);
269 Status SetCubeSerialNumber(QString newSerialNumber);
271 Status SetDateTime(QString datetime);
272 Status SetDiameter(double diameter);
273 Status SetEditLock(bool editLock);
274 Status SetFocalPlaneMeasured(double x, double y);
275 Status SetFocalPlaneComputed(double x, double y);
276 Status SetIgnored(bool newIgnoredStatus);
277 Status SetLineSigma(double lineSigma);
278 Status SetRejected(bool rejected);
279 Status SetResidual(double sampResidual, double lineResidual);
280 Status SetSampleSigma(double sampleSigma);
281 Status SetType(MeasureType type);
282
283 void DeleteLogData(long dataType);
284 QVariant GetLogValue(long dataType) const;
285 bool HasLogData(long dataType) const;
288
289 double GetAprioriLine() const;
290 double GetAprioriSample() const;
291 Isis::Camera *Camera() const;
292 QString GetChooserName() const;
293 bool HasChooserName() const;
294 QString GetCubeSerialNumber() const;
295 QString GetDateTime() const;
296 bool HasDateTime() const;
297 double GetDiameter() const;
298 ControlMeasureLogData GetLogData(long dataType) const;
299 bool IsEditLocked() const;
300 bool IsRejected() const;
301 double GetFocalPlaneComputedX() const;
302 double GetFocalPlaneComputedY() const;
303 double GetFocalPlaneMeasuredX() const;
304 double GetFocalPlaneMeasuredY() const;
305 double GetMeasureData(QString) 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;
313 QVector<ControlMeasureLogData> GetLogDataEntries() const;
314 QVector<ControlMeasureLogData> GetLastRunLogDataEntries() const;
315 double GetResidualMagnitude() const;
316 double GetSample() const;
317 double GetSampleResidual() const;
318 double GetSampleSigma() const;
319 MeasureType GetType() const;
320 QString GetPointId() const;
321
322 double GetSampleShift() const;
323 double GetLineShift() const;
324 double GetPixelShift() const;
325
326 static QVector<QString> GetMeasureDataNames();
327
328 QList<QStringList> PrintableClassData() const;
329
330 static QString MeasureTypeToString(MeasureType type);
331 static MeasureType StringToMeasureType(QString str);
332 QString GetMeasureTypeString() const;
333
334 const ControlMeasure &operator=(const ControlMeasure &other);
335 bool operator != (const Isis::ControlMeasure &pMeasure) const;
336 bool operator == (const Isis::ControlMeasure &pMeasure) const;
337
338 private: // methods
339 void InitializeToNull();
340 void MeasureModified();
341
342 private: // data
343 ControlPoint *parentPoint;
344 // structure connecting measures in an image
345
346 QString *p_serialNumber;
347 MeasureType p_measureType;
348
349 QVector<ControlMeasureLogData> * p_loggedData;
350 PvlGroup *p_comments;
351
356 QString *p_chooserName;
357 QString *p_dateTime;
358 bool p_editLock;
359 bool p_ignore;
360 bool p_jigsawRejected;
361 double p_sample;
362 double p_line;
363 double p_diameter;
364
365 double p_aprioriSample;
366 double p_aprioriLine;
369
370
371 double p_computedEphemerisTime;
372
373 double p_sampleSigma;
374 double p_lineSigma;
375 double p_sampleResidual;
376 double p_lineResidual;
377 Isis::Camera *p_camera;
378 double p_focalPlaneMeasuredX;
379 double p_focalPlaneMeasuredY;
380 double p_focalPlaneComputedX;
381 double p_focalPlaneComputedY;
382 double p_measuredEphemerisTime;
383 };
384}
385
386#endif
Definition Camera.h:236
a control measurement
Definition ControlMeasure.h:175
QVector< ControlMeasureLogData > GetLastRunLogDataEntries() const
Status SetLineSigma(double lineSigma)
Definition ControlMeasure.cpp:377
bool IsEditLocked() const
Return value for p_editLock or implicit lock on reference measure.
Definition ControlMeasure.cpp:601
Status SetCubeSerialNumber(QString newSerialNumber)
Set cube serial number.
Definition ControlMeasure.cpp:187
QString GetDateTime() const
Return the date/time the coordinate was last changed.
Definition ControlMeasure.cpp:563
double GetLine() const
Definition ControlMeasure.cpp:690
static QString MeasureTypeToString(MeasureType type)
Return the String Control Measure type.
Definition ControlMeasure.cpp:951
bool operator!=(const Isis::ControlMeasure &pMeasure) const
Compare 2 Control Measures for inequality.
Definition ControlMeasure.cpp:1066
double GetAprioriLine() const
Definition ControlMeasure.cpp:526
bool HasLogData(long dataType) const
Test if we have a valid log data value of the specified type.
Definition ControlMeasure.cpp:486
MeasureType GetType() const
Definition ControlMeasure.cpp:738
Status SetSampleSigma(double sampleSigma)
Definition ControlMeasure.cpp:410
QList< QStringList > PrintableClassData() const
Data accessor method, provides access to string representations of all variable values and names.
Definition ControlMeasure.cpp:854
Status SetCoordinate(double sample, double line)
Set the coordinate of the measurement.
Definition ControlMeasure.cpp:219
static MeasureType StringToMeasureType(QString str)
Definition ControlMeasure.cpp:919
double GetFocalPlaneMeasuredY() const
Definition ControlMeasure.cpp:625
void DeleteLogData(long dataType)
This deletes log data of the specified type.
Definition ControlMeasure.cpp:455
QString GetChooserName() const
Return the chooser name.
Definition ControlMeasure.cpp:542
ControlPoint * Parent()
Definition ControlMeasure.h:260
QString GetCubeSerialNumber() const
Return the serial number of the cube containing the coordinate.
Definition ControlMeasure.cpp:557
double GetSampleSigma() const
Definition ControlMeasure.cpp:733
Status SetFocalPlaneComputed(double x, double y)
Set the computed focal plane x/y for the apriori lat/lon.
Definition ControlMeasure.cpp:319
bool IsIgnored() const
Definition ControlMeasure.cpp:630
Status SetAprioriSample(double aprioriSample)
Definition ControlMeasure.cpp:144
double GetMeasureData(QString) const
One Getter to rule them all.
Definition ControlMeasure.cpp:806
double GetFocalPlaneComputedX() const
Definition ControlMeasure.cpp:610
MeasureType
Control network measurement types.
Definition ControlMeasure.h:206
@ Manual
Hand Measured (e.g., qnet)
Definition ControlMeasure.h:210
@ Candidate
(e.g., autoseed, interest) AKA predicted, unmeasured, unverified
Definition ControlMeasure.h:208
@ RegisteredSubPixel
Registered to sub-pixel (e.g., pointreg)
Definition ControlMeasure.h:214
@ RegisteredPixel
Registered to whole pixel (e.g.,pointreg)
Definition ControlMeasure.h:212
double GetSample() const
Definition ControlMeasure.cpp:723
Status SetAprioriLine(double aprioriLine)
Definition ControlMeasure.cpp:134
double GetLineShift() const
Definition ControlMeasure.cpp:759
double GetLineResidual() const
Definition ControlMeasure.cpp:695
bool operator==(const Isis::ControlMeasure &pMeasure) const
Check for Control Measures equality.
Definition ControlMeasure.cpp:1087
Isis::Camera * Camera() const
Definition ControlMeasure.cpp:536
bool IsStatisticallyRelevant(DataField field) const
Definition ControlMeasure.cpp:650
double GetSampleResidual() const
Definition ControlMeasure.cpp:728
Status SetFocalPlaneMeasured(double x, double y)
Set the focal plane x/y for the measured line/sample.
Definition ControlMeasure.cpp:299
bool IsMeasured() const
Definition ControlMeasure.cpp:640
Status SetType(MeasureType type)
Set how the coordinate was obtained.
Definition ControlMeasure.cpp:420
Status SetDiameter(double diameter)
Set the crater diameter at the coordinate.
Definition ControlMeasure.cpp:272
Status
Definition ControlMeasure.h:217
@ MeasureLocked
Definition ControlMeasure.h:219
@ Success
Definition ControlMeasure.h:218
void SetLogData(ControlMeasureLogData)
This adds or updates the log data information associated with data's type.
Definition ControlMeasure.cpp:435
double GetPixelShift() const
Definition ControlMeasure.cpp:765
bool HasDateTime() const
Returns true if the datetime is not empty.
Definition ControlMeasure.cpp:573
QVariant GetLogValue(long dataType) const
Get the value of the log data with the specified type as a variant.
Definition ControlMeasure.cpp:469
const ControlMeasure & operator=(const ControlMeasure &other)
Assignment operator.
Definition ControlMeasure.cpp:1001
ControlMeasureLogData GetLogData(long dataType) const
Definition ControlMeasure.cpp:773
double GetLineSigma() const
Definition ControlMeasure.cpp:700
bool IsRejected() const
Definition ControlMeasure.cpp:635
bool IsRegistered() const
Definition ControlMeasure.cpp:645
void UpdateLogData(ControlMeasureLogData)
This updates existing log data information associated with data's type.
Definition ControlMeasure.cpp:504
Status SetDateTime()
Date Time - Creation Time.
Definition ControlMeasure.cpp:247
DataField
Definition ControlMeasure.h:236
@ SampleResidual
Definition ControlMeasure.h:249
@ LineSigma
Definition ControlMeasure.h:252
@ Rejected
Definition ControlMeasure.h:245
@ CubeSerialNumber
Definition ControlMeasure.h:240
@ Ignore
Definition ControlMeasure.h:248
@ AprioriLine
Definition ControlMeasure.h:237
@ AprioriSample
Definition ControlMeasure.h:238
@ SampleSigma
Definition ControlMeasure.h:251
@ FocalPlaneMeasured
Definition ControlMeasure.h:246
@ FocalPlaneComputed
Definition ControlMeasure.h:247
@ Diameter
Definition ControlMeasure.h:243
@ DateTime
Definition ControlMeasure.h:242
@ ChooserName
Definition ControlMeasure.h:239
@ EditLock
Definition ControlMeasure.h:244
@ LineResidual
Definition ControlMeasure.h:250
double GetFocalPlaneMeasuredX() const
Definition ControlMeasure.cpp:620
Status SetResidual(double sampResidual, double lineResidual)
Set the BundleAdjust Residual of the coordinate.
Definition ControlMeasure.cpp:399
ModType
Control Measure Modification Types.
Definition ControlMeasure.h:232
@ IgnoredModified
Definition ControlMeasure.h:233
QString GetMeasureTypeString() const
Obtain a string representation of the MeasureType.
Definition ControlMeasure.cpp:987
double GetSampleShift() const
Definition ControlMeasure.cpp:753
~ControlMeasure()
Free the memory allocated by a control.
Definition ControlMeasure.cpp:110
Status SetCamera(Isis::Camera *camera)
Set pointer to camera associated with a measure.
Definition ControlMeasure.cpp:169
Status SetIgnored(bool newIgnoredStatus)
Definition ControlMeasure.cpp:350
double GetAprioriSample() const
Definition ControlMeasure.cpp:531
Status SetRejected(bool rejected)
Set "jigsaw" rejected flag for a measure.
Definition ControlMeasure.cpp:343
static QVector< QString > GetMeasureDataNames()
Returns a list of all valid options to pass to GetMeasureData.
Definition ControlMeasure.cpp:833
bool HasChooserName() const
Returns true if the choosername is not empty.
Definition ControlMeasure.cpp:552
double GetFocalPlaneComputedY() const
Definition ControlMeasure.cpp:615
double GetDiameter() const
Return the diameter of the crater in pixels (0 implies no crater)
Definition ControlMeasure.cpp:580
Status SetChooserName()
Set chooser name to a user who last changed the coordinate.
Definition ControlMeasure.cpp:196
ControlMeasure()
Create a new control measure and initialize it to nulls and zeros.
Definition ControlMeasure.cpp:30
double GetResidualMagnitude() const
Return Residual magnitude.
Definition ControlMeasure.cpp:712
QString GetPointId() const
Definition ControlMeasure.cpp:743
QVector< ControlMeasureLogData > GetLogDataEntries() const
Return all of the log data for the measure.
Definition ControlMeasure.cpp:796
Status SetEditLock(bool editLock)
Definition ControlMeasure.cpp:281
Statistical and similar ControlMeasure associated information.
Definition ControlMeasureLogData.h:37
A single control point.
Definition ControlPoint.h:356
Define a generic Y/X container.
Definition GruenTypes.h:53
Contains multiple PvlContainers.
Definition PvlGroup.h:41
This is free and unencumbered software released into the public domain.
Definition BoxcarCachingAlgorithm.h:13
This is free and unencumbered software released into the public domain.
Definition Calculator.h:18
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16