11#include "ImagePointFilterSelector.h"
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"
66 ImagePointFilterSelector::ImagePointFilterSelector() {
74 getSelector()->setCurrentIndex(other.getSelector()->currentIndex());
75 if (other.getFilter()) {
76 setFilter(other.getFilter()->clone());
81 ImagePointFilterSelector::~ImagePointFilterSelector() {
87 *((AbstractFilterSelector *)
this) = other;
92 void ImagePointFilterSelector::createSelector() {
93 AbstractFilterSelector::createSelector();
95 CnetDisplayProperties *displayProperties = CnetDisplayProperties::getInstance();
97 getSelector()->addItem(
"Image ID");
98 getSelector()->insertSeparator(getSelector()->count());
100 bool latLonRadDisplay =
true;
101 if (displayProperties->coordinateDisplayType() == CnetDisplayProperties::XYZ)
102 latLonRadDisplay =
false;
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());
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());
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");
156 void ImagePointFilterSelector::changeFilter(
int index) {
166 setFilter(
new ImageIdFilter(AbstractFilter::Images));
171 setFilter(
new AdjustedLatitudeFilter(AbstractFilter::Images |
172 AbstractFilter::Points, 1));
175 setFilter(
new AdjustedLatitudeSigmaFilter(AbstractFilter::Images |
176 AbstractFilter::Points, 1));
179 setFilter(
new AdjustedLongitudeFilter(AbstractFilter::Images |
180 AbstractFilter::Points, 1));
183 setFilter(
new AdjustedLongitudeSigmaFilter(AbstractFilter::Images |
184 AbstractFilter::Points, 1));
187 setFilter(
new AdjustedRadiusFilter(AbstractFilter::Images |
188 AbstractFilter::Points, 1));
191 setFilter(
new AdjustedRadiusSigmaFilter(AbstractFilter::Images |
192 AbstractFilter::Points, 1));
195 setFilter(
new APrioriLatitudeFilter(AbstractFilter::Images |
196 AbstractFilter::Points, 1));
199 setFilter(
new APrioriLatitudeSigmaFilter(AbstractFilter::Images |
200 AbstractFilter::Points, 1));
203 setFilter(
new APrioriLongitudeFilter(AbstractFilter::Images |
204 AbstractFilter::Points, 1));
207 setFilter(
new APrioriLongitudeSigmaFilter(AbstractFilter::Images |
208 AbstractFilter::Points, 1));
211 setFilter(
new APrioriRadiusFilter(AbstractFilter::Images |
212 AbstractFilter::Points, 1));
215 setFilter(
new APrioriRadiusSigmaFilter(AbstractFilter::Images |
216 AbstractFilter::Points, 1));
221 setFilter(
new AdjustedXFilter(AbstractFilter::Images |
222 AbstractFilter::Points, 1));
225 setFilter(
new AdjustedXSigmaFilter(AbstractFilter::Images |
226 AbstractFilter::Points, 1));
229 setFilter(
new AdjustedYFilter(AbstractFilter::Images |
230 AbstractFilter::Points, 1));
233 setFilter(
new AdjustedYSigmaFilter(AbstractFilter::Images |
234 AbstractFilter::Points, 1));
237 setFilter(
new AdjustedZFilter(AbstractFilter::Images |
238 AbstractFilter::Points, 1));
241 setFilter(
new AdjustedZSigmaFilter(AbstractFilter::Images |
242 AbstractFilter::Points, 1));
245 setFilter(
new APrioriXFilter(AbstractFilter::Images |
246 AbstractFilter::Points, 1));
249 setFilter(
new APrioriXSigmaFilter(AbstractFilter::Images |
250 AbstractFilter::Points, 1));
253 setFilter(
new APrioriYFilter(AbstractFilter::Images |
254 AbstractFilter::Points, 1));
257 setFilter(
new APrioriYSigmaFilter(AbstractFilter::Images |
258 AbstractFilter::Points, 1));
261 setFilter(
new APrioriZFilter(AbstractFilter::Images |
262 AbstractFilter::Points, 1));
265 setFilter(
new APrioriZSigmaFilter(AbstractFilter::Images |
266 AbstractFilter::Points, 1));
271 setFilter(
new ChooserNameFilter(AbstractFilter::Images |
272 AbstractFilter::Points, 1));
275 setFilter(
new PointEditLockedFilter(AbstractFilter::Images |
276 AbstractFilter::Points, 1));
279 setFilter(
new PointIgnoredFilter(AbstractFilter::Images |
280 AbstractFilter::Points, 1));
283 setFilter(
new PointJigsawRejectedFilter(AbstractFilter::Images |
284 AbstractFilter::Points, 1));
287 setFilter(
new PointIdFilter(AbstractFilter::Images |
288 AbstractFilter::Points, 1));
291 setFilter(
new PointTypeFilter(AbstractFilter::Images |
292 AbstractFilter::Points, 1));
297 setFilter(
new GoodnessOfFitFilter(AbstractFilter::Images, 1));
300 setFilter(
new MeasureIgnoredFilter(AbstractFilter::Images, 1));
303 setFilter(
new MeasureJigsawRejectedFilter(AbstractFilter::Images, 1));
306 setFilter(
new LineFilter(AbstractFilter::Images, 1));
309 setFilter(
new LineResidualFilter(AbstractFilter::Images, 1));
312 setFilter(
new LineShiftFilter(AbstractFilter::Images, 1));
315 setFilter(
new MeasureTypeFilter(AbstractFilter::Images, 1));
318 setFilter(
new ResidualMagnitudeFilter(AbstractFilter::Images, 1));
321 setFilter(
new SampleFilter(AbstractFilter::Images, 1));
324 setFilter(
new SampleResidualFilter(AbstractFilter::Images, 1));
327 setFilter(
new SampleShiftFilter(AbstractFilter::Images, 1));
333 emit filterChanged();
Allows users to choose filters for filtering images and points.
This is free and unencumbered software released into the public domain.