Go to the documentation of this file.00001 #ifndef vipl_y_gradient_h_
00002 #define vipl_y_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 #include <vipl/filter/vipl_filter_2d.h>
00029
00030
00031 template <class ImgIn,class ImgOut,class DataIn,class DataOut, VCL_DFL_TYPE_PARAM_STLDECL(PixelItr, vipl_trivial_pixeliter) >
00032 class vipl_y_gradient : public vipl_filter_2d<ImgIn,ImgOut,DataIn,DataOut,PixelItr>
00033 {
00034
00035
00036 private: DataOut shift_;
00037 public: DataOut shift() const { return shift_; }
00038
00039 private: double scale_;
00040 public: double scale() const { return scale_; }
00041
00042
00043 public:
00044 inline vipl_y_gradient(double s=1.0, DataOut h=DataOut())
00045 : vipl_filter_2d<ImgIn,ImgOut,DataIn,DataOut,PixelItr>(),
00046 shift_(h), scale_(s) {}
00047 inline vipl_y_gradient(vipl_y_gradient const& A)
00048 : vipl_filter_2d<ImgIn,ImgOut,DataIn,DataOut,PixelItr>(A),
00049 shift_(A.shift()), scale_(A.scale()) {}
00050 inline ~vipl_y_gradient() {}
00051
00052
00053 bool section_applyop();
00054 };
00055
00056 #ifdef INSTANTIATE_TEMPLATES
00057 #include "vipl_y_gradient.txx"
00058 #endif
00059
00060 #endif // vipl_y_gradient_h_