Go to the documentation of this file.00001 #ifndef vipl_x_gradient_h_
00002 #define vipl_x_gradient_h_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #include <vipl/filter/vipl_filter_2d.h>
00030
00031
00032 template <class ImgIn,class ImgOut,class DataIn,class DataOut, VCL_DFL_TYPE_PARAM_STLDECL(PixelItr, vipl_trivial_pixeliter) >
00033 class vipl_x_gradient : public vipl_filter_2d<ImgIn,ImgOut,DataIn,DataOut,PixelItr>
00034 {
00035
00036
00037 private: DataOut shift_;
00038 public: DataOut shift() const { return shift_; }
00039
00040 private: double scale_;
00041 public: double scale() const { return scale_; }
00042
00043
00044 public:
00045 inline vipl_x_gradient(double s=1.0, DataOut h=DataOut())
00046 : vipl_filter_2d<ImgIn,ImgOut,DataIn,DataOut,PixelItr>(),
00047 shift_(h), scale_(s) {}
00048 inline vipl_x_gradient(vipl_x_gradient const& A)
00049 : vipl_filter_2d<ImgIn,ImgOut,DataIn,DataOut,PixelItr>(A),
00050 shift_(A.shift()), scale_(A.scale()) {}
00051 inline ~vipl_x_gradient() {}
00052
00053
00054 bool section_applyop();
00055 };
00056
00057 #ifdef INSTANTIATE_TEMPLATES
00058 #include "vipl_x_gradient.txx"
00059 #endif
00060
00061 #endif // vipl_x_gradient_h_