USGS

Isis 3.0 Object Programmers' Reference

Home

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;
116  int p_width;
127  int p_height;
139  double p_lastSum;
151  double p_lastSumsqr;
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