00001
00002 #ifndef vnl_gaussian_kernel_1d_h_
00003 #define vnl_gaussian_kernel_1d_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <vnl/vnl_vector.h>
00020
00021
00022
00023
00024
00025 class vnl_gaussian_kernel_1d
00026 {
00027 public:
00028
00029 vnl_gaussian_kernel_1d(double sigma, double cutoff = 0.5/256.0);
00030
00031 double G(double x) const;
00032
00033 int width() const { return vec_.size(); }
00034 double operator [] (int i) const { return vec_[i]; }
00035
00036 protected:
00037
00038 vnl_vector<double> vec_;
00039 double inscale_;
00040 };
00041
00042 #endif // vnl_gaussian_kernel_1d_h_