Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxRecGauss.h File Reference

More...

#include "HxImageRep.h"

Go to the source code of this file.

Functions

HxImageRep L_HXIMAGEREP HxRecGauss (HxImageRep im, double sx, double sy, int dx=0, int dy=0, int recurOrder=3)
 Recursive Gaussian. More...


Detailed Description


Function Documentation

HxImageRep L_HXIMAGEREP HxRecGauss HxImageRep    im,
double    sx,
double    sy,
int    dx = 0,
int    dy = 0,
int    recurOrder = 3
 

Recursive Gaussian.

00065 {
00066     GaussIIR gx(sx, dx, recurOrder);
00067     GaussIIR gy(sy, dy, recurOrder);
00068     HxImageRep fx = HxImageFactory::instance().fromGenerator(HXIMAGESIG2DDOUBLE, &gx);
00069     HxImageRep fy = HxImageFactory::instance().fromGenerator(HXIMAGESIG2DDOUBLE, &gy);
00070 
00071     HxImageRep res = im.recGenConv2dSep(fx, fy, "mul", "addAssign",
00072                                         HxImageRep::ARITH_PREC);
00073 
00074     switch (dx) {
00075     case 1: {
00076         FilterN fdx(-0.5,0,0.5);
00077         HxImageRep hdx = HxImageFactory::instance().fromGenerator(
00078                                                     HXIMAGESIG2DDOUBLE, &fdx);
00079         res = res.generalizedConvolutionK1d(1,hdx, "mul", "addAssign");
00080        }
00081        break;
00082     case 2: {
00083         FilterN fdx(1,-2,1);
00084         HxImageRep hdx = HxImageFactory::instance().fromGenerator(
00085                                                     HXIMAGESIG2DDOUBLE, &fdx);
00086         res = res.generalizedConvolutionK1d(1,hdx, "mul", "addAssign");
00087        }
00088        break;
00089     }
00090     switch (dy) {
00091     case 1: {
00092         FilterN fdy(-0.5,0,0.5);
00093         HxImageRep hdy = HxImageFactory::instance().fromGenerator(
00094                                                     HXIMAGESIG2DDOUBLE, &fdy);
00095         res = res.generalizedConvolutionK1d(2,hdy, "mul", "addAssign");
00096        }
00097        break;
00098     case 2: {
00099         FilterN fdy(1,-2,1);
00100         HxImageRep hdy = HxImageFactory::instance().fromGenerator(
00101                                                     HXIMAGESIG2DDOUBLE, &fdy);
00102         res = res.generalizedConvolutionK1d(2,hdy, "mul", "addAssign");
00103        }
00104        break;
00105     }
00106 
00107     return res;
00108 }


Generated on Tue Feb 3 14:18:50 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001