1 #ifndef ossimFilter_HEADER 2 #define ossimFilter_HEADER 15 virtual double filter (
double x,
double support)
const = 0;
28 virtual NEWMAT::Matrix *
newMatrix(
long width=3,
30 double scale=0.0)
const;
34 double scale=0.0)
const;
36 virtual NEWMAT::RowVector *
newVector(
long width,
38 double scale = 1.0)
const;
49 static double Sinc(
double x,
double )
71 virtual double filter (
double x,
double )
const 114 virtual double filter(
double value,
double )
const 116 if(value < 0) value = -value;
117 if(value < .5)
return(.75 - (value * value));
119 value = (value - 1.5);
120 return(.5 * (value * value));
146 virtual double filter(
double value,
double )
const;
158 virtual double filter(
double x,
double support)
const 181 virtual double filter (
double x,
double )
const 183 return(0.42+0.50*cos(
M_PI*
x)+0.08*cos(2.0*
M_PI*
x));
198 virtual double filter (
double x,
double support)
const 216 virtual double filter (
double x,
double support)
const 239 return(0.5*(4.0+
x*(8.0+
x*(5.0+
x))));
241 return(0.5*(2.0+
x*
x*(-5.0-3.0*
x)));
243 return(0.5*(2.0+
x*
x*(-5.0+3.0*
x)));
245 return(0.5*(4.0+
x*(-8.0+
x*(5.0-
x))));
265 return((2.0+
x)*(2.0+
x)*(2.0+
x)/6.0);
267 return((4.0+
x*
x*(-6.0-3.0*
x))/6.0);
269 return((4.0+
x*
x*(-6.0+3.0*
x))/6.0);
271 return((2.0-
x)*(2.0-
x)*(2.0-
x)/6.0);
286 virtual double filter(
double value,
double )
const 290 if(value < 0) value = -value;
293 return((.5 * tt * value) - tt + (2.0 / 3.0));
294 }
else if(value < 2) {
296 return((1.0 / 6.0) * (value * value * value));
313 virtual double filter (
double x,
double )
const 315 return(exp(-2.0*
x*
x)*sqrt(2.0/
M_PI));
331 return(0.5+0.5*cos(
M_PI*
x));
346 virtual double filter (
double x,
double )
const 348 return(0.54+0.46*cos(
M_PI*
x));
367 return((2.0*(-
x)-3.0)*(-
x)*(-
x)+1.0);
369 return((2.0*
x-3.0)*
x*
x+1.0);
434 #define MITCHELL_B (1.0/3.0) 435 #define MITCHELL_C (1.0/3.0) 436 #define MITCHELL_P0 (( 6.0- 2.0*MITCHELL_B )/6.0) 437 #define MITCHELL_P2 ((-18.0+12.0*MITCHELL_B+ 6.0*MITCHELL_C)/6.0) 438 #define MITCHELL_P3 (( 12.0- 9.0*MITCHELL_B- 6.0*MITCHELL_C)/6.0) 439 #define MITCHELL_Q0 (( 8.0*MITCHELL_B+24.0*MITCHELL_C)/6.0) 440 #define MITCHELL_Q1 (( -12.0*MITCHELL_B-48.0*MITCHELL_C)/6.0) 441 #define MITCHELL_Q2 (( 6.0*MITCHELL_B+30.0*MITCHELL_C)/6.0) 442 #define MITCHELL_Q3 (( - 1.0*MITCHELL_B- 6.0*MITCHELL_C)/6.0) 473 return(0.5*(
x+1.5)*(
x+1.5));
477 return(0.5*(
x-1.5)*(
x-1.5));
493 virtual double filter (
double x,
double )
const virtual double filter(double x, double) const
double filter(double x, double) const
double filter(double x, double) const
double getSupport() const
virtual double getSupport() const
ossimNearestNeighborFilter()
virtual double filter(double value, double) const
virtual double filter(double x, double) const
ossimBlackmanBesselFilter()
virtual double filter(double value, double) const
virtual void createMatrix(NEWMAT::Matrix &m, long width=3, double middle=0.0, double scale=0.0) const
virtual double getSupport() const =0
virtual ~ossimBesselFilter()
virtual double getSupport() const
double filter(double x, double) const
virtual ~ossimBellFilter()
virtual double getSupport() const
virtual ~ossimBesselOrderOneFilter()
double filter(double x, double) const
virtual double getSupport() const
virtual double getSupport() const
double filter(double x, double) const
virtual NEWMAT::RowVector * newVector(long width, double middle=0.0, double scale=1.0) const
double filter(double x, double) const
double filter(double x, double) const
ossimBlackmanSincFilter()
virtual ~ossimQuadraticFilter()
virtual ~ossimBSplineFilter()
virtual ~ossimLanczosFilter()
virtual ~ossimMitchellFilter()
virtual double filter(double x, double) const
virtual double filter(double x, double support) const
ossimBesselOrderOneFilter()
virtual ~ossimCatromFilter()
virtual double getSupport() const
virtual double filter(double x, double) const
virtual ~ossimCubicFilter()
virtual ~ossimHammingFilter()
virtual ~ossimBlackmanSincFilter()
virtual double getSupport() const
virtual double filter(double x, double) const
double filter(double x, double) const
virtual NEWMAT::Matrix * newMatrix(long width=3, double middle=0.0, double scale=0.0) const
virtual ~ossimBoxFilter()
virtual ~ossimHermiteFilter()
virtual double getSupport() const
virtual ~ossimBlackmanBesselFilter()
double filter(double x, double) const
virtual ~ossimNearestNeighborFilter()
virtual ~ossimTriangleFilter()
virtual double getSupport() const
virtual ~ossimSincFilter()
virtual ~ossimHanningFilter()
virtual double filter(double x, double support) const =0
static double Sinc(double x)
virtual ~ossimBlackmanFilter()
virtual double getSupport() const
virtual double filter(double x, double support) const
virtual ~ossimMagicFilter()
virtual double getSupport() const
virtual double getSupport() const
virtual double getSupport() const
virtual double getSupport() const
virtual double getSupport() const
virtual double getSupport() const
virtual ~ossimGaussianFilter()
virtual double filter(double value, double) const
virtual double filter(double x, double support) const
static double Sinc(double x, double)
virtual double getSupport() const
virtual double getSupport() const
virtual double getSupport() const
virtual double getSupport() const