Isis 3 Developer Reference
QuickFilter.h
Go to the documentation of this file.
1 #ifndef QuickFilter_h
2 #define QuickFilter_h
3 
25 #include "SpecialPixel.h"
26 
27 namespace Isis {
66  class QuickFilter {
67  private:
68  double *p_sums;
78  double *p_sumsqrs;
82  int *p_counts;
90  int p_ns;
96  double p_minimum;
103  double p_maximum;
110  int p_minimumPixels;
116  int p_width;
121  int p_halfWidth;
127  int p_height;
132  int p_halfHeight;
139  double p_lastSum;
151  double p_lastSumsqr;
152  int p_lastCount;
153  int p_lastIndex;
164  int p_linesAdded;
169  void Compute(const int index);
170 
171  public:
172  QuickFilter(const int ns, const int width, const int height);
173  ~QuickFilter();
174 
175  double Average(const int index);
176  double Variance(const int index);
177  int Count(const int index);
178 
179  int Width() const;
180  int HalfWidth() const;
181  int Height() const;
182  int HalfHeight() const;
183  int Samples() const;
184 
185  double Low() const;
186  double High() const;
187  int MinimumPixels() const;
188 
189  void AddLine(const double *buf);
190  void RemoveLine(const double *buf);
191  void Reset();
192 
193  void SetMinMax(const double minimum, const double maximum);
194  void SetMinimumPixels(const int minimumValid);
195 
196  };
197 };
198 
199 #endif
int Height() const
Returns the height of the boxcar.
Definition: QuickFilter.cpp:308
void Reset()
Reset all accumulators and counters to zero.
Definition: QuickFilter.cpp:95
double High() const
Returns the highest pixel value included in filtering computations.
Definition: QuickFilter.cpp:345
~QuickFilter()
Destroys the QuickFilter object.
Definition: QuickFilter.cpp:113
double Variance(const int index)
Computes and returns the boxcar variance at pixel index (zero based).
Definition: QuickFilter.cpp:252
void SetMinimumPixels(const int minimumValid)
This method is used to set the minimum number of valid pixels in the boxcar.
Definition: QuickFilter.cpp:155
int HalfWidth() const
Returns the half the width of the boxcar rounded down because the boxcar size is odd.
Definition: QuickFilter.cpp:299
int Width() const
Returns the width of the boxcar.
Definition: QuickFilter.cpp:289
int HalfHeight() const
Returns the half the height of the boxcar rounded down because the boxcar size is odd...
Definition: QuickFilter.cpp:318
int Count(const int index)
Computes and returns the number of valid pixels in the boxcar at pixel index (zero based)...
Definition: QuickFilter.cpp:276
void SetMinMax(const double minimum, const double maximum)
This method is used to set the minimum/maximum valid values.
Definition: QuickFilter.cpp:134
QuickFilter(const int ns, const int width, const int height)
Constructs a QuickFilter object with accumulators and counters set to zero.
Definition: QuickFilter.cpp:43
double Average(const int index)
Computes and returns the boxcar average at pixel index (zero based).
Definition: QuickFilter.cpp:229
Container for boxcar statistics.
Definition: QuickFilter.h:66
void AddLine(const double *buf)
Add an array of doubles to the accumulators and counters.
Definition: QuickFilter.cpp:178
double Low() const
Returns the lowest pixel value included in filtering computations.
Definition: QuickFilter.cpp:336
void RemoveLine(const double *buf)
Remove an array of doubles from the accumulators and counters.
Definition: QuickFilter.cpp:204
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
int Samples() const
Returns the number of samples in a line.
Definition: QuickFilter.cpp:327
int MinimumPixels() const
Returns the minimum number of pixels which need to be valid inside the boxcar.
Definition: QuickFilter.cpp:356