Isis 3 Programmer Reference
ImagePointFilterSelector.cpp
1
7/* SPDX-License-Identifier: CC0-1.0 */
8
9#include <algorithm>
10
11#include "ImagePointFilterSelector.h"
12
13#include <QComboBox>
14#include <QHBoxLayout>
15
16#include "AbstractFilter.h"
17#include "AdjustedLatitudeFilter.h"
18#include "AdjustedLatitudeSigmaFilter.h"
19#include "AdjustedLongitudeFilter.h"
20#include "AdjustedLongitudeSigmaFilter.h"
21#include "AdjustedRadiusFilter.h"
22#include "AdjustedRadiusSigmaFilter.h"
23#include "APrioriLatitudeFilter.h"
24#include "APrioriLatitudeSigmaFilter.h"
25#include "APrioriLongitudeFilter.h"
26#include "APrioriLongitudeSigmaFilter.h"
27#include "APrioriRadiusFilter.h"
28#include "APrioriRadiusSigmaFilter.h"
29#include "ChooserNameFilter.h"
30#include "ImageIdFilter.h"
31#include "GoodnessOfFitFilter.h"
32#include "LineFilter.h"
33#include "LineResidualFilter.h"
34#include "LineShiftFilter.h"
35#include "MeasureIgnoredFilter.h"
36#include "MeasureJigsawRejectedFilter.h"
37#include "MeasureTypeFilter.h"
38#include "PointEditLockedFilter.h"
39#include "PointIgnoredFilter.h"
40#include "PointIdFilter.h"
41#include "PointJigsawRejectedFilter.h"
42#include "PointTypeFilter.h"
43#include "ResidualMagnitudeFilter.h"
44#include "SampleFilter.h"
45#include "SampleResidualFilter.h"
46#include "SampleShiftFilter.h"
47
48
49using std::swap;
50
51
52namespace Isis {
53 ImagePointFilterSelector::ImagePointFilterSelector() {
54 nullify();
55 createSelector();
56 }
57
58
59 ImagePointFilterSelector::ImagePointFilterSelector(const ImagePointFilterSelector &other) {
60 createSelector();
61 getSelector()->setCurrentIndex(other.getSelector()->currentIndex());
62 if (other.getFilter()) {
63 setFilter(other.getFilter()->clone());
64 }
65 }
66
67
68 ImagePointFilterSelector::~ImagePointFilterSelector() {
69 }
70
71
72 ImagePointFilterSelector &ImagePointFilterSelector::operator=(
73 const ImagePointFilterSelector &other) {
74 *((AbstractFilterSelector *) this) = other;
75 return *this;
76 }
77
78
79 void ImagePointFilterSelector::createSelector() {
80 AbstractFilterSelector::createSelector();
81
82 getSelector()->addItem("Image ID");
83 getSelector()->insertSeparator(getSelector()->count());
84 getSelector()->addItem("Adjusted SP Latitude");
85 getSelector()->addItem("Adjusted SP Latitude Sigma");
86 getSelector()->addItem("Adjusted SP Longitude");
87 getSelector()->addItem("Adjusted SP Longitude Sigma");
88 getSelector()->addItem("Adjusted SP Radius");
89 getSelector()->addItem("Adjusted SP Radius Sigma");
90 getSelector()->addItem("A Priori SP Latitude");
91 getSelector()->addItem("A Priori SP Latitude Sigma");
92 getSelector()->addItem("A Priori SP Longitude");
93 getSelector()->addItem("A Priori SP Longitude Sigma");
94 getSelector()->addItem("A Priori SP Radius");
95 getSelector()->addItem("A Priori SP Radius Sigma");
96 getSelector()->addItem("Chooser Name");
97 getSelector()->addItem("Edit Locked Points");
98 getSelector()->addItem("Ignored Points");
99 getSelector()->addItem("Jigsaw Rejected Points");
100 getSelector()->addItem("Point ID");
101 getSelector()->addItem("Point Type");
102 getSelector()->insertSeparator(getSelector()->count());
103 getSelector()->addItem("Goodness Of Fit");
104 getSelector()->addItem("Ignored Measures");
105 getSelector()->addItem("Jigsaw Rejected Measures");
106 getSelector()->addItem("Line");
107 getSelector()->addItem("Line Residual");
108 getSelector()->addItem("Line Shift");
109 getSelector()->addItem("Measure Type");
110 getSelector()->addItem("Residual Magnitude");
111 getSelector()->addItem("Sample");
112 getSelector()->addItem("Sample Residual");
113 getSelector()->addItem("Sample Shift");
114 }
115
116
117 void ImagePointFilterSelector::changeFilter(int index) {
118 deleteFilter();
119
120 if (index != 0) {
121 switch (index) {
122 case 2:
123 setFilter(new ImageIdFilter(AbstractFilter::Images));
124 break;
125 case 4:
126 setFilter(new AdjustedLatitudeFilter(AbstractFilter::Images |
127 AbstractFilter::Points, 1));
128 break;
129 case 5:
130 setFilter(new AdjustedLatitudeSigmaFilter(AbstractFilter::Images |
131 AbstractFilter::Points, 1));
132 break;
133 case 6:
134 setFilter(new AdjustedLongitudeFilter(AbstractFilter::Images |
135 AbstractFilter::Points, 1));
136 break;
137 case 7:
138 setFilter(new AdjustedLongitudeSigmaFilter(AbstractFilter::Images |
139 AbstractFilter::Points, 1));
140 break;
141 case 8:
142 setFilter(new AdjustedRadiusFilter(AbstractFilter::Images |
143 AbstractFilter::Points, 1));
144 break;
145 case 9:
146 setFilter(new AdjustedRadiusSigmaFilter(AbstractFilter::Images |
147 AbstractFilter::Points, 1));
148 break;
149 case 10:
150 setFilter(new APrioriLatitudeFilter(AbstractFilter::Images |
151 AbstractFilter::Points, 1));
152 break;
153 case 11:
154 setFilter(new APrioriLatitudeSigmaFilter(AbstractFilter::Images |
155 AbstractFilter::Points, 1));
156 break;
157 case 12:
158 setFilter(new APrioriLongitudeFilter(AbstractFilter::Images |
159 AbstractFilter::Points, 1));
160 break;
161 case 13:
162 setFilter(new APrioriLongitudeSigmaFilter(AbstractFilter::Images |
163 AbstractFilter::Points, 1));
164 break;
165 case 14:
166 setFilter(new APrioriRadiusFilter(AbstractFilter::Images |
167 AbstractFilter::Points, 1));
168 break;
169 case 15:
170 setFilter(new APrioriRadiusSigmaFilter(AbstractFilter::Images |
171 AbstractFilter::Points, 1));
172 break;
173 case 16:
174 setFilter(new ChooserNameFilter(AbstractFilter::Images |
175 AbstractFilter::Points, 1));
176 break;
177 case 17:
178 setFilter(new PointEditLockedFilter(AbstractFilter::Images |
179 AbstractFilter::Points, 1));
180 break;
181 case 18:
182 setFilter(new PointIgnoredFilter(AbstractFilter::Images |
183 AbstractFilter::Points, 1));
184 break;
185 case 19:
186 setFilter(new PointJigsawRejectedFilter(AbstractFilter::Images |
187 AbstractFilter::Points, 1));
188 break;
189 case 20:
190 setFilter(new PointIdFilter(AbstractFilter::Images |
191 AbstractFilter::Points, 1));
192 break;
193 case 21:
194 setFilter(new PointTypeFilter(AbstractFilter::Images |
195 AbstractFilter::Points, 1));
196 break;
197 case 23:
198 setFilter(new GoodnessOfFitFilter(AbstractFilter::Images, 1));
199 break;
200 case 24:
201 setFilter(new MeasureIgnoredFilter(AbstractFilter::Images, 1));
202 break;
203 case 25:
204 setFilter(new MeasureJigsawRejectedFilter(
205 AbstractFilter::Images, 1));
206 break;
207 case 26:
208 setFilter(new LineFilter(AbstractFilter::Images, 1));
209 break;
210 case 27:
211 setFilter(new LineResidualFilter(AbstractFilter::Images, 1));
212 break;
213 case 28:
214 setFilter(new LineShiftFilter(AbstractFilter::Images, 1));
215 break;
216 case 29:
217 setFilter(new MeasureTypeFilter(AbstractFilter::Images, 1));
218 break;
219 case 30:
220 setFilter(new ResidualMagnitudeFilter(AbstractFilter::Images, 1));
221 break;
222 case 31:
223 setFilter(new SampleFilter(AbstractFilter::Images, 1));
224 break;
225 case 32:
226 setFilter(new SampleResidualFilter(AbstractFilter::Images, 1));
227 break;
228 case 33:
229 setFilter(new SampleShiftFilter(AbstractFilter::Images, 1));
230 break;
231 }
232 }
233
234 emit sizeChanged();
235 emit filterChanged();
236 }
237}
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16