core/vil1/vil1_convolve_1d.txx

Go to the documentation of this file.
00001 // This is core/vil1/vil1_convolve_1d.txx
00002 #ifndef vil1_convolve_1d_txx_
00003 #define vil1_convolve_1d_txx_
00004 //:
00005 // \file
00006 // \author fsm
00007 
00008 #include "vil1_convolve.h"
00009 
00010 // Macros to get origin-relative values in signals.
00011 #define value1d(sig, k)    ( (sig).array_[(sig).origin_ + (k)] )
00012 #define value2d(sig, x, y) ( (sig).array_[(sig).originy_ + (y)][(sig).originx_ + (x)] )
00013 
00014 // To make it easier to compare the x and y versions, they live
00015 // in separate source files.
00016 #define fsm_dont_croak
00017 // Known problems : the convolvers may segfault if the kernel
00018 //                  is larger than the input signal.
00019 #include "vil1_convolve_1d_x.txx"
00020 #include "vil1_convolve_1d_y.txx"
00021 
00022 #undef VIL1_CONVOLVE_1D_INSTANTIATE
00023 #define VIL1_CONVOLVE_1D_INSTANTIATE(I1, I2, AC, O) \
00024 template \
00025 void vil1_convolve_1d_x(vil1_convolve_signal_1d<const I1 > const &, \
00026                         vil1_convolve_signal_2d<const I2 > const &, \
00027                         AC *, \
00028                         vil1_convolve_signal_2d<O > const &, \
00029                         vil1_convolve_boundary_option, \
00030                         vil1_convolve_boundary_option); \
00031 template \
00032 void vil1_convolve_1d_y(vil1_convolve_signal_1d<const I1 > const &, \
00033                         vil1_convolve_signal_2d<const I2 > const &, \
00034                         AC *, \
00035                         vil1_convolve_signal_2d<O > const &, \
00036                         vil1_convolve_boundary_option, \
00037                         vil1_convolve_boundary_option)
00038 
00039 #endif // vil1_convolve_1d_txx_

Generated on Sun Sep 7 05:08:27 2008 for core/vil1 by  doxygen 1.5.1