contrib/tbl/vipl/vipl_convert.h
Go to the documentation of this file.
00001 #ifndef vipl_convert_h_
00002 #define vipl_convert_h_
00003 //:
00004 // \file
00005 // \brief convert between arbitrary image types
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 //   This class actually copies one image to an other, pixel-wise.
00012 //
00013 // \author Peter Vanroose, K.U.Leuven (ESAT/PSI)
00014 // \date   29 May 1998.
00015 //
00016 // \verbatim
00017 // Modifications:
00018 //   Peter Vanroose, Aug.2000 - adapted to vxl
00019 // \endverbatim
00020 //
00021 // \example examples/example_convert.cxx
00022 
00023 #include <vipl/filter/vipl_filter_2d.h> // parent class
00024 
00025 //: convert between arbitrary image types
00026 template <class ImgIn,class ImgOut,class DataIn,class DataOut, VCL_DFL_TYPE_PARAM_STLDECL(PixelItr, vipl_trivial_pixeliter) >
00027 class vipl_convert : public vipl_filter_2d<ImgIn,ImgOut,DataIn,DataOut,PixelItr>
00028 {
00029  public:
00030 
00031   // -+-+- constructors/destructors: -+-+-
00032  public:
00033   inline vipl_convert()
00034     : vipl_filter_2d<ImgIn,ImgOut,DataIn,DataOut,PixelItr>() {}
00035   inline vipl_convert(vipl_convert const& A)
00036     : vipl_filter_2d<ImgIn,ImgOut,DataIn,DataOut,PixelItr>(A) {}
00037   inline ~vipl_convert() {}
00038 
00039   // -+-+- required method for filters: -+-+-
00040   bool section_applyop();
00041 };
00042 
00043 #ifdef INSTANTIATE_TEMPLATES
00044 #include "vipl_convert.txx"
00045 #endif
00046 
00047 #endif // vipl_convert_h_