contrib/tbl/vepl1/vepl1_monadic.h
Go to the documentation of this file.
00001 #ifndef vepl1_monadic_h_
00002 #define vepl1_monadic_h_
00003 //:
00004 // \file
00005 // \brief apply any (fixed) function to all pixels
00006 //
00007 //   The only parameter to be passed to the constructor must be a (monadic)
00008 //   function that takes a pixel value from the input image and produces
00009 //   a pixel value of the output image, i.e., its signature must be
00010 //   DataOut f(DataIn const&).
00011 //   A typical example is, e.g., log(), but any point operator (like e.g.
00012 //   thresholding) could be implemented through this more general monadic IP
00013 //   operator, notably shift or scale of intensity values.
00014 //
00015 //   Note that the input and output images are allowed to be identical.
00016 //
00017 // \author Peter Vanroose, K.U.Leuven (ESAT/PSI)
00018 // \date   28 April 2001
00019 
00020 #include <vil1/vil1_image.h>
00021 
00022 //: replace pixels by their absolute value
00023 vil1_image vepl1_monadic_abs(vil1_image const& );
00024 //: replace pixels by their square root
00025 vil1_image vepl1_monadic_sqrt(vil1_image const& );
00026 //: replace pixels by their square
00027 vil1_image vepl1_monadic_sqr(vil1_image const& );
00028 //: replace pixels by a linear distortion
00029 vil1_image vepl1_monadic_shear(vil1_image const& , double shift, double scale);
00030 
00031 #endif // vepl1_monadic_h_