Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members  

riesz.h

Go to the documentation of this file.
00001 
00040 #ifndef __RIESZ__
00041 #define __RIESZ__
00042 
00043 #include "base_2D.h"
00044 
00045 namespace Function_2D{
00046 
00048   class Riesz_1:public Filter_interface_2D{
00049 
00050   public:
00051     inline Riesz_1(const real_type center_x = 0,
00052                    const real_type center_y = 0,
00053                    const real_type sigma_x = 1,
00054                    const real_type sigma_y = 1,
00055                    const real_type orientation_angle = 0);
00056 
00057     virtual inline real_type base_value_proxy(const real_type x,
00058                                               const real_type y) const;
00059 
00060   };
00061 
00063   class Riesz_2:public Filter_interface_2D{
00064 
00065   public:
00066     inline Riesz_2(const real_type center_x = 0,
00067                    const real_type center_y = 0,
00068                    const real_type sigma_x = 1,
00069                    const real_type sigma_y = 1,
00070                    const real_type orientation_angle = 0);
00071 
00072     virtual inline real_type base_value_proxy(const real_type x,
00073                                               const real_type y) const;
00074 
00075   };
00076 
00077 
00078 /*
00079   ###########################################################
00080   ###########################################################
00081   ###########################################################
00082   ##############                               ##############
00083   ##############  I M P L E M E N T A T I O N  ##############
00084   ##############                               ##############
00085   ###########################################################
00086   ###########################################################
00087   ###########################################################
00088 */
00089 
00090   Riesz_1::Riesz_1(const real_type center_x,
00091                    const real_type center_y,
00092                    const real_type sigma_x,
00093                    const real_type sigma_y,
00094                    const real_type orientation_angle):
00095     Filter_interface_2D(center_x,center_y,
00096                         sigma_x,sigma_y,
00097                         1,1,
00098                         orientation_angle,
00099                         1){}
00100 
00101   Riesz_1::real_type Riesz_1::base_value_proxy(const real_type x,
00102                                                const real_type y) const{
00103 
00104     const real_type r = x*x+y*y;
00105     
00106     return (r>0) ? x/pow(r,1.5) : 0;
00107   }
00108 
00109     
00110   Riesz_2::Riesz_2(const real_type center_x,
00111                    const real_type center_y,
00112                    const real_type sigma_x,
00113                    const real_type sigma_y,
00114                    const real_type orientation_angle):
00115     Filter_interface_2D(center_x,center_y,
00116                         sigma_x,sigma_y,
00117                         1,1,
00118                         orientation_angle,
00119                         1){}
00120 
00121   Riesz_2::real_type Riesz_2::base_value_proxy(const real_type x,
00122                                                const real_type y) const{
00123 
00124     const real_type r = x*x+y*y;
00125 
00126     return (r>0) ? y/pow(r,1.5) : 0;
00127   }
00128 }
00129 
00130 #endif

Generated on Fri Aug 20 12:08:01 2004 by doxygen1.2.18