File failed to load: https://isis.astrogeology.usgs.gov/9.0.0/Object/assets/jax/output/NativeMML/config.js
Isis 3 Programmer Reference
ImagePointFilterSelector.cpp
1
6
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 "AdjustedXFilter.h"
30#include "AdjustedXSigmaFilter.h"
31#include "AdjustedYFilter.h"
32#include "AdjustedYSigmaFilter.h"
33#include "AdjustedZFilter.h"
34#include "AdjustedZSigmaFilter.h"
35#include "APrioriXFilter.h"
36#include "APrioriXSigmaFilter.h"
37#include "APrioriYFilter.h"
38#include "APrioriYSigmaFilter.h"
39#include "APrioriZFilter.h"
40#include "APrioriZSigmaFilter.h"
41#include "ChooserNameFilter.h"
42#include "CnetDisplayProperties.h"
43#include "ImageIdFilter.h"
44#include "GoodnessOfFitFilter.h"
45#include "LineFilter.h"
46#include "LineResidualFilter.h"
47#include "LineShiftFilter.h"
48#include "MeasureIgnoredFilter.h"
49#include "MeasureJigsawRejectedFilter.h"
50#include "MeasureTypeFilter.h"
51#include "PointEditLockedFilter.h"
52#include "PointIgnoredFilter.h"
53#include "PointIdFilter.h"
54#include "PointJigsawRejectedFilter.h"
55#include "PointTypeFilter.h"
56#include "ResidualMagnitudeFilter.h"
57#include "SampleFilter.h"
58#include "SampleResidualFilter.h"
59#include "SampleShiftFilter.h"
60
61
62using std::swap;
63
64
65namespace Isis {
66 ImagePointFilterSelector::ImagePointFilterSelector() {
67 nullify();
68 createSelector();
69 }
70
71
72 ImagePointFilterSelector::ImagePointFilterSelector(const ImagePointFilterSelector &other) {
73 createSelector();
74 getSelector()->setCurrentIndex(other.getSelector()->currentIndex());
75 if (other.getFilter()) {
76 setFilter(other.getFilter()->clone());
77 }
78 }
79
80
81 ImagePointFilterSelector::~ImagePointFilterSelector() {
82 }
83
84
85 ImagePointFilterSelector &ImagePointFilterSelector::operator=(
86 const ImagePointFilterSelector &other) {
87 *((AbstractFilterSelector *) this) = other;
88 return *this;
89 }
90
91
92 void ImagePointFilterSelector::createSelector() {
93 AbstractFilterSelector::createSelector();
94
95 CnetDisplayProperties *displayProperties = CnetDisplayProperties::getInstance();
96
97 getSelector()->addItem("Image ID");
98 getSelector()->insertSeparator(getSelector()->count());
99
100 bool latLonRadDisplay = true;
101 if (displayProperties->coordinateDisplayType() == CnetDisplayProperties::XYZ)
102 latLonRadDisplay = false;
103
104 if (latLonRadDisplay == true) {
105 getSelector()->addItem("Adjusted SP Latitude");
106 getSelector()->addItem("Adjusted SP Latitude Sigma");
107 getSelector()->addItem("Adjusted SP Longitude");
108 getSelector()->addItem("Adjusted SP Longitude Sigma");
109 getSelector()->addItem("Adjusted SP Radius");
110 getSelector()->addItem("Adjusted SP Radius Sigma");
111 getSelector()->addItem("A Priori SP Latitude");
112 getSelector()->addItem("A Priori SP Latitude Sigma");
113 getSelector()->addItem("A Priori SP Longitude");
114 getSelector()->addItem("A Priori SP Longitude Sigma");
115 getSelector()->addItem("A Priori SP Radius");
116 getSelector()->addItem("A Priori SP Radius Sigma");
117 getSelector()->insertSeparator(getSelector()->count());
118 }
119 else {
120 getSelector()->addItem("Adjusted SP X");
121 getSelector()->addItem("Adjusted SP X Sigma");
122 getSelector()->addItem("Adjusted SP Y");
123 getSelector()->addItem("Adjusted SP Y Sigma");
124 getSelector()->addItem("Adjusted SP Z");
125 getSelector()->addItem("Adjusted SP Z Sigma");
126 getSelector()->addItem("A Priori SP X");
127 getSelector()->addItem("A Priori SP X Sigma");
128 getSelector()->addItem("A Priori SP Y");
129 getSelector()->addItem("A Priori SP Y Sigma");
130 getSelector()->addItem("A Priori SP Z");
131 getSelector()->addItem("A Priori SP Z Sigma");
132 getSelector()->insertSeparator(getSelector()->count());
133 }
134
135 getSelector()->addItem("Chooser Name");
136 getSelector()->addItem("Edit Locked Points");
137 getSelector()->addItem("Ignored Points");
138 getSelector()->addItem("Jigsaw Rejected Points");
139 getSelector()->addItem("Point ID");
140 getSelector()->addItem("Point Type");
141 getSelector()->insertSeparator(getSelector()->count());
142 getSelector()->addItem("Goodness Of Fit");
143 getSelector()->addItem("Ignored Measures");
144 getSelector()->addItem("Jigsaw Rejected Measures");
145 getSelector()->addItem("Line");
146 getSelector()->addItem("Line Residual");
147 getSelector()->addItem("Line Shift");
148 getSelector()->addItem("Measure Type");
149 getSelector()->addItem("Residual Magnitude");
150 getSelector()->addItem("Sample");
151 getSelector()->addItem("Sample Residual");
152 getSelector()->addItem("Sample Shift");
153 }
154
155
156 void ImagePointFilterSelector::changeFilter(int index) {
157 deleteFilter();
158
159 if (index != 0) {
160 switch (index) {
161 case 0: // this is the ----Select----- line at the top of the drop down
162 break;
163 case 1: // separator
164 break;
165 case 2:
166 setFilter(new ImageIdFilter(AbstractFilter::Images));
167 break;
168 case 3: // separator
169 break;
170 case 4:
171 setFilter(new AdjustedLatitudeFilter(AbstractFilter::Images |
172 AbstractFilter::Points, 1));
173 break;
174 case 5:
175 setFilter(new AdjustedLatitudeSigmaFilter(AbstractFilter::Images |
176 AbstractFilter::Points, 1));
177 break;
178 case 6:
179 setFilter(new AdjustedLongitudeFilter(AbstractFilter::Images |
180 AbstractFilter::Points, 1));
181 break;
182 case 7:
183 setFilter(new AdjustedLongitudeSigmaFilter(AbstractFilter::Images |
184 AbstractFilter::Points, 1));
185 break;
186 case 8:
187 setFilter(new AdjustedRadiusFilter(AbstractFilter::Images |
188 AbstractFilter::Points, 1));
189 break;
190 case 9:
191 setFilter(new AdjustedRadiusSigmaFilter(AbstractFilter::Images |
192 AbstractFilter::Points, 1));
193 break;
194 case 10:
195 setFilter(new APrioriLatitudeFilter(AbstractFilter::Images |
196 AbstractFilter::Points, 1));
197 break;
198 case 11:
199 setFilter(new APrioriLatitudeSigmaFilter(AbstractFilter::Images |
200 AbstractFilter::Points, 1));
201 break;
202 case 12:
203 setFilter(new APrioriLongitudeFilter(AbstractFilter::Images |
204 AbstractFilter::Points, 1));
205 break;
206 case 13:
207 setFilter(new APrioriLongitudeSigmaFilter(AbstractFilter::Images |
208 AbstractFilter::Points, 1));
209 break;
210 case 14:
211 setFilter(new APrioriRadiusFilter(AbstractFilter::Images |
212 AbstractFilter::Points, 1));
213 break;
214 case 15:
215 setFilter(new APrioriRadiusSigmaFilter(AbstractFilter::Images |
216 AbstractFilter::Points, 1));
217 break;
218 case 16: // separator
219 break;
220 case 17:
221 setFilter(new AdjustedXFilter(AbstractFilter::Images |
222 AbstractFilter::Points, 1));
223 break;
224 case 18:
225 setFilter(new AdjustedXSigmaFilter(AbstractFilter::Images |
226 AbstractFilter::Points, 1));
227 break;
228 case 19:
229 setFilter(new AdjustedYFilter(AbstractFilter::Images |
230 AbstractFilter::Points, 1));
231 break;
232 case 20:
233 setFilter(new AdjustedYSigmaFilter(AbstractFilter::Images |
234 AbstractFilter::Points, 1));
235 break;
236 case 21:
237 setFilter(new AdjustedZFilter(AbstractFilter::Images |
238 AbstractFilter::Points, 1));
239 break;
240 case 22:
241 setFilter(new AdjustedZSigmaFilter(AbstractFilter::Images |
242 AbstractFilter::Points, 1));
243 break;
244 case 23:
245 setFilter(new APrioriXFilter(AbstractFilter::Images |
246 AbstractFilter::Points, 1));
247 break;
248 case 24:
249 setFilter(new APrioriXSigmaFilter(AbstractFilter::Images |
250 AbstractFilter::Points, 1));
251 break;
252 case 25:
253 setFilter(new APrioriYFilter(AbstractFilter::Images |
254 AbstractFilter::Points, 1));
255 break;
256 case 26:
257 setFilter(new APrioriYSigmaFilter(AbstractFilter::Images |
258 AbstractFilter::Points, 1));
259 break;
260 case 27:
261 setFilter(new APrioriZFilter(AbstractFilter::Images |
262 AbstractFilter::Points, 1));
263 break;
264 case 28:
265 setFilter(new APrioriZSigmaFilter(AbstractFilter::Images |
266 AbstractFilter::Points, 1));
267 break;
268 case 29: // separator
269 break;
270 case 30:
271 setFilter(new ChooserNameFilter(AbstractFilter::Images |
272 AbstractFilter::Points, 1));
273 break;
274 case 31:
275 setFilter(new PointEditLockedFilter(AbstractFilter::Images |
276 AbstractFilter::Points, 1));
277 break;
278 case 32:
279 setFilter(new PointIgnoredFilter(AbstractFilter::Images |
280 AbstractFilter::Points, 1));
281 break;
282 case 33:
283 setFilter(new PointJigsawRejectedFilter(AbstractFilter::Images |
284 AbstractFilter::Points, 1));
285 break;
286 case 34:
287 setFilter(new PointIdFilter(AbstractFilter::Images |
288 AbstractFilter::Points, 1));
289 break;
290 case 35:
291 setFilter(new PointTypeFilter(AbstractFilter::Images |
292 AbstractFilter::Points, 1));
293 break;
294 case 36: // separator
295 break;
296 case 37:
297 setFilter(new GoodnessOfFitFilter(AbstractFilter::Images, 1));
298 break;
299 case 38:
300 setFilter(new MeasureIgnoredFilter(AbstractFilter::Images, 1));
301 break;
302 case 39:
303 setFilter(new MeasureJigsawRejectedFilter(AbstractFilter::Images, 1));
304 break;
305 case 40:
306 setFilter(new LineFilter(AbstractFilter::Images, 1));
307 break;
308 case 41:
309 setFilter(new LineResidualFilter(AbstractFilter::Images, 1));
310 break;
311 case 42:
312 setFilter(new LineShiftFilter(AbstractFilter::Images, 1));
313 break;
314 case 43:
315 setFilter(new MeasureTypeFilter(AbstractFilter::Images, 1));
316 break;
317 case 44:
318 setFilter(new ResidualMagnitudeFilter(AbstractFilter::Images, 1));
319 break;
320 case 45:
321 setFilter(new SampleFilter(AbstractFilter::Images, 1));
322 break;
323 case 46:
324 setFilter(new SampleResidualFilter(AbstractFilter::Images, 1));
325 break;
326 case 47:
327 setFilter(new SampleShiftFilter(AbstractFilter::Images, 1));
328 break;
329 }
330 }
331
332 emit sizeChanged();
333 emit filterChanged();
334 }
335}
Allows users to choose filters for filtering images and points.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16