Isis 3 Programmer Reference
QuickFilter.h
1#ifndef QuickFilter_h
2#define QuickFilter_h
8/* SPDX-License-Identifier: CC0-1.0 */
9#include "SpecialPixel.h"
10
11namespace Isis {
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;
123 double p_lastSum;
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
Container for boxcar statistics.
Definition QuickFilter.h:50
double Variance(const int index)
Computes and returns the boxcar variance at pixel index (zero based).
int p_halfHeight
This is half the height of the boxcar rounded down to the next integer since the boxcar is always odd...
double High() const
Returns the highest pixel value included in filtering computations.
void AddLine(const double *buf)
Add an array of doubles to the accumulators and counters.
double * p_sums
Sum accumulator for each column/sample.
Definition QuickFilter.h:52
int p_lastCount
See p_lastSum.
~QuickFilter()
Destroys the QuickFilter object.
double * p_sumsqrs
This is identical to p_sums with the exception that the pixel values are squared before summing occur...
Definition QuickFilter.h:62
int p_ns
This value is initialized in the constructor.
Definition QuickFilter.h:74
int Count(const int index)
Computes and returns the number of valid pixels in the boxcar at pixel index (zero based).
double p_minimum
Minimum valid pixel value.
Definition QuickFilter.h:80
int p_width
This is the width of the boxcar.
void SetMinMax(const double minimum, const double maximum)
This method is used to set the minimum/maximum valid values.
int * p_counts
This is identical to p_sums with the exception that it keeps count of the number of valid pixels in p...
Definition QuickFilter.h:66
void SetMinimumPixels(const int minimumValid)
This method is used to set the minimum number of valid pixels in the boxcar.
QuickFilter(const int ns, const int width, const int height)
Constructs a QuickFilter object with accumulators and counters set to zero.
int p_minimumPixels
The minimum number of pixels in the boxcar which must be valid (not special and inside p_minimum/p_ma...
Definition QuickFilter.h:94
int p_lastIndex
This is used to keep track of the last index passed into the Average, Variance and/or count method.
double Low() const
Returns the lowest pixel value included in filtering computations.
int p_linesAdded
This is used to keep track of the number of lines added.
int p_halfWidth
This is half the width of the boxcar rounded down to the next integer since the boxcar is always odd.
int MinimumPixels() const
Returns the minimum number of pixels which need to be valid inside the boxcar.
double p_lastSumsqr
See p_lastSum.
double Average(const int index)
Computes and returns the boxcar average at pixel index (zero based).
void Compute(const int index)
Computes the moving boxcar sums and counts for the Average, Variance, and count methods.
int Width() const
Returns the width of the boxcar.
int HalfHeight() const
Returns the half the height of the boxcar rounded down because the boxcar size is odd.
double p_maximum
Maximum valid pixel value.
Definition QuickFilter.h:87
int p_height
This is the height of the boxcar.
int HalfWidth() const
Returns the half the width of the boxcar rounded down because the boxcar size is odd.
void RemoveLine(const double *buf)
Remove an array of doubles from the accumulators and counters.
int Samples() const
Returns the number of samples in a line.
void Reset()
Reset all accumulators and counters to zero.
int Height() const
Returns the height of the boxcar.
double p_lastSum
The last sum of a full boxcar.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16