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