Isis 3 Programmer Reference
GoodnessOfFitFilter.cpp
1
7/* SPDX-License-Identifier: CC0-1.0 */
8
9#include "GoodnessOfFitFilter.h"
10
11#include <QPair>
12#include <QString>
13
14#include "ControlMeasure.h"
15#include "ControlMeasureLogData.h"
16#include "ControlNet.h"
17#include "ControlPoint.h"
18#include "SpecialPixel.h"
19
20
21namespace Isis {
22 GoodnessOfFitFilter::GoodnessOfFitFilter(
23 AbstractFilter::FilterEffectivenessFlag flag,
24 int minimumForSuccess) : AbstractNumberFilter(flag, minimumForSuccess) {
25 }
26
27
28 GoodnessOfFitFilter::GoodnessOfFitFilter(const GoodnessOfFitFilter &other)
29 : AbstractNumberFilter(other) {
30 }
31
32
33 GoodnessOfFitFilter::~GoodnessOfFitFilter() {
34 }
35
36
37 bool GoodnessOfFitFilter::evaluate(const QPair<QString, ControlNet *> *imageAndNet) const {
38 return evaluateImageFromMeasureFilter(imageAndNet);
39 }
40
41
42 bool GoodnessOfFitFilter::evaluate(const ControlPoint *point) const {
43 return evaluatePointFromMeasureFilter(point);
44 }
45
46
47 bool GoodnessOfFitFilter::evaluate(const ControlMeasure *measure) const {
48 double goodness = Null;
49
50 if (measure->HasLogData(ControlMeasureLogData::GoodnessOfFit)) {
51 goodness = measure->GetLogData(ControlMeasureLogData::GoodnessOfFit).GetNumericalValue();
52 }
53
54 return AbstractNumberFilter::evaluate(goodness);
55 }
56
57
58 AbstractFilter *GoodnessOfFitFilter::clone() const {
59 return new GoodnessOfFitFilter(*this);
60 }
61
62
63 QString GoodnessOfFitFilter::getImageDescription() const {
64 QString description = AbstractFilter::getImageDescription();
65 if (getMinForSuccess() == 1)
66 description += "measure that has a goodness of fit which is ";
67 else
68 description += "measures that have goodness of fits which are ";
69
70 description += descriptionSuffix();
71 return description;
72 }
73
74
75 QString GoodnessOfFitFilter::getPointDescription() const {
76 return getImageDescription();
77 }
78
79
80 QString GoodnessOfFitFilter::getMeasureDescription() const {
81 return "that have goodness of fits which are " + descriptionSuffix();
82 }
83}
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
const double Null
Value for an Isis Null pixel.