contrib/tbl/vipl/vipl_sobel.h
Go to the documentation of this file.
00001 #ifndef vipl_sobel_h_
00002 #define vipl_sobel_h_
00003 //:
00004 // \file
00005 // \brief vipl_sobel convolution filter
00006 //
00007 //   This image processing class is implemented using the vipl filters,
00008 //   which means that it can be used with any image class (IUE or not,
00009 //   TargetJr or not, vil or vil1 or not) of any pixel data type.
00010 //
00011 // \author Peter Vanroose, K.U.Leuven (ESAT/PSI)
00012 // \date   29 may 1998.
00013 //
00014 // \verbatim
00015 // Modifications:
00016 //   Peter Vanroose, Aug.2000 - adapted to vxl
00017 // \endverbatim
00018 //
00019 // \example examples/example_sobel.cxx
00020 
00021 #include <vipl/filter/vipl_filter_2d.h> // parent class
00022 
00023 //: vipl_sobel convolution filter
00024 template <class ImgIn,class ImgOut,class DataIn,class DataOut, VCL_DFL_TYPE_PARAM_STLDECL(PixelItr, vipl_trivial_pixeliter) >
00025 class vipl_sobel : public vipl_filter_2d<ImgIn,ImgOut,DataIn,DataOut,PixelItr>
00026 {
00027   // -+-+- no data members: -+-+-
00028   // -+-+- constructors/destructors: -+-+-
00029  public:
00030   inline vipl_sobel()
00031            : vipl_filter_2d<ImgIn,ImgOut,DataIn,DataOut,PixelItr>() {}
00032   inline vipl_sobel(vipl_sobel const& A)
00033            : vipl_filter_2d<ImgIn,ImgOut,DataIn,DataOut,PixelItr>(A) {}
00034   inline ~vipl_sobel() {}
00035 
00036   // -+-+- required method for filters: -+-+-
00037   bool section_applyop();
00038 };
00039 
00040 #ifdef INSTANTIATE_TEMPLATES
00041 #include "vipl_sobel.txx"
00042 #endif
00043 
00044 #endif // vipl_sobel_h_