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