Isis Developer Reference
QuickFilter.h
Go to the documentation of this file.
1 #ifndef QuickFilter_h
2 #define QuickFilter_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 #include "SpecialPixel.h"
10 
11 namespace Isis {
50  class QuickFilter {
51  private:
52  double *p_sums;
62  double *p_sumsqrs;
66  int *p_counts;
74  int p_ns;
80  double p_minimum;
87  double p_maximum;
94  int p_minimumPixels;
100  int p_width;
105  int p_halfWidth;
111  int p_height;
116  int p_halfHeight;
123  double p_lastSum;
135  double p_lastSumsqr;
136  int p_lastCount;
137  int p_lastIndex;
148  int p_linesAdded;
153  void Compute(const int index);
154 
155  public:
156  QuickFilter(const int ns, const int width, const int height);
157  ~QuickFilter();
158 
159  double Average(const int index);
160  double Variance(const int index);
161  int Count(const int index);
162 
163  int Width() const;
164  int HalfWidth() const;
165  int Height() const;
166  int HalfHeight() const;
167  int Samples() const;
168 
169  double Low() const;
170  double High() const;
171  int MinimumPixels() const;
172 
173  void AddLine(const double *buf);
174  void RemoveLine(const double *buf);
175  void Reset();
176 
177  void SetMinMax(const double minimum, const double maximum);
178  void SetMinimumPixels(const int minimumValid);
179 
180  };
181 };
182 
183 #endif
Isis::QuickFilter::Samples
int Samples() const
Returns the number of samples in a line.
Definition: QuickFilter.cpp:311
Isis::QuickFilter::Average
double Average(const int index)
Computes and returns the boxcar average at pixel index (zero based).
Definition: QuickFilter.cpp:213
Isis::QuickFilter::SetMinMax
void SetMinMax(const double minimum, const double maximum)
This method is used to set the minimum/maximum valid values.
Definition: QuickFilter.cpp:118
SpecialPixel.h
Isis::QuickFilter::RemoveLine
void RemoveLine(const double *buf)
Remove an array of doubles from the accumulators and counters.
Definition: QuickFilter.cpp:188
Isis::QuickFilter::AddLine
void AddLine(const double *buf)
Add an array of doubles to the accumulators and counters.
Definition: QuickFilter.cpp:162
Isis::QuickFilter::Low
double Low() const
Returns the lowest pixel value included in filtering computations.
Definition: QuickFilter.cpp:320
Isis::QuickFilter::HalfWidth
int HalfWidth() const
Returns the half the width of the boxcar rounded down because the boxcar size is odd.
Definition: QuickFilter.cpp:283
Isis::QuickFilter
Container for boxcar statistics.
Definition: QuickFilter.h:50
Isis::QuickFilter::HalfHeight
int HalfHeight() const
Returns the half the height of the boxcar rounded down because the boxcar size is odd.
Definition: QuickFilter.cpp:302
QuickFilter.h
Isis::QuickFilter::MinimumPixels
int MinimumPixels() const
Returns the minimum number of pixels which need to be valid inside the boxcar.
Definition: QuickFilter.cpp:340
Isis::QuickFilter::QuickFilter
QuickFilter(const int ns, const int width, const int height)
Constructs a QuickFilter object with accumulators and counters set to zero.
Definition: QuickFilter.cpp:27
Isis::QuickFilter::Height
int Height() const
Returns the height of the boxcar.
Definition: QuickFilter.cpp:292
Isis::QuickFilter::Variance
double Variance(const int index)
Computes and returns the boxcar variance at pixel index (zero based).
Definition: QuickFilter.cpp:236
_FILEINFO_
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
Isis::QuickFilter::SetMinimumPixels
void SetMinimumPixels(const int minimumValid)
This method is used to set the minimum number of valid pixels in the boxcar.
Definition: QuickFilter.cpp:139
Isis::NULL8
const double NULL8
Definition: SpecialPixel.h:94
Isis::QuickFilter::Reset
void Reset()
Reset all accumulators and counters to zero.
Definition: QuickFilter.cpp:79
Isis::IException
Isis exception class.
Definition: IException.h:91
IException.h
std
Namespace for the standard library.
Isis::QuickFilter::High
double High() const
Returns the highest pixel value included in filtering computations.
Definition: QuickFilter.cpp:329
Isis::IsValidPixel
bool IsValidPixel(const double d)
Returns if the input pixel is valid.
Definition: SpecialPixel.h:223
Isis::QuickFilter::Count
int Count(const int index)
Computes and returns the number of valid pixels in the boxcar at pixel index (zero based).
Definition: QuickFilter.cpp:260
Isis::QuickFilter::~QuickFilter
~QuickFilter()
Destroys the QuickFilter object.
Definition: QuickFilter.cpp:97
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::QuickFilter::Width
int Width() const
Returns the width of the boxcar.
Definition: QuickFilter.cpp:273