core/vil1/vil1_convolve.h File Reference


Detailed Description

Author:
fsm

Definition in file vil1_convolve.h.

#include <vcl_compiler.h>
#include <vil1/vil1_memory_image_of.h>

Go to the source code of this file.


Classes

struct  vil1_convolve_signal_1d< T >
 Parameters for convolution. More...
struct  vil1_convolve_signal_2d< T >
 Parameters for convolution. More...

Enumerations

enum  vil1_convolve_boundary_option {
  vil1_convolve_no_extend, vil1_convolve_zero_extend, vil1_convolve_constant_extend, vil1_convolve_periodic_extend,
  vil1_convolve_reflect_extend, vil1_convolve_trim
}
 Available options for boundary behavior. More...

Functions

template<class I1, class I2, class AC, class O>
void vil1_convolve_1d_x (vil1_convolve_signal_1d< I1 const > const &kernel, vil1_convolve_signal_2d< I2 const > const &input, AC *, vil1_convolve_signal_2d< O > const &output, vil1_convolve_boundary_option b, vil1_convolve_boundary_option e)
 Convolution in x-direction : out(x, y) = kernel[i]*in(x-i, y).
template<class I1, class I2, class AC, class O>
void vil1_convolve_1d_y (vil1_convolve_signal_1d< I1 const > const &kernel, vil1_convolve_signal_2d< I2 const > const &input, AC *, vil1_convolve_signal_2d< O > const &output, vil1_convolve_boundary_option b, vil1_convolve_boundary_option e)
 Convolution in y-direction : out(x, y) = kernel[j]*in(x, y-j).
template<class I1, class I2, class AC, class O>
void vil1_convolve_separable (I1 const kernel[], unsigned N, vil1_memory_image_of< I2 > &buf, vil1_memory_image_of< AC > &tmp, vil1_memory_image_of< O > &out)
template<class I1, class I2, class AC, class O>
vil1_image vil1_convolve_separable (vil1_image const &in, I1 const *kernel, int N, I2 *, AC *, O *)
template<class I1, class I2, class AC, class O>
void vil1_convolve_1d_x (I1 const *half_kernel, unsigned kernel_size, vil1_convolve_signal_2d< I2 const > const &input, AC *, vil1_convolve_signal_2d< O > const &output, vil1_convolve_boundary_option b, vil1_convolve_boundary_option e)
 Convolution in x-direction, using a symmetric kernel.
template<class I1, class I2, class AC, class O>
void vil1_convolve_1d_y (I1 const *half_kernel, unsigned kernel_size, vil1_convolve_signal_2d< I2 const > const &input, AC *, vil1_convolve_signal_2d< O > const &output, vil1_convolve_boundary_option b, vil1_convolve_boundary_option e)
 Convolution in y-direction, using a symmetric kernel.

Enumeration Type Documentation

enum vil1_convolve_boundary_option

Available options for boundary behavior.

When convolving a finite signal the boundaries may be treated in various ways which can often be expressed in terms of ways to extend the signal outside its original range.

Enumerator:
vil1_convolve_no_extend 
vil1_convolve_zero_extend 
vil1_convolve_constant_extend 
vil1_convolve_periodic_extend 
vil1_convolve_reflect_extend 
vil1_convolve_trim 

Definition at line 15 of file vil1_convolve.h.


Function Documentation

template<class I1, class I2, class AC, class O>
void vil1_convolve_1d_x ( I1 const *  half_kernel,
unsigned  kernel_size,
vil1_convolve_signal_2d< I2 const > const &  input,
AC *  ,
vil1_convolve_signal_2d< O > const &  output,
vil1_convolve_boundary_option  b,
vil1_convolve_boundary_option  e 
)

Convolution in x-direction, using a symmetric kernel.

template<class I1, class I2, class AC, class O>
void vil1_convolve_1d_x ( vil1_convolve_signal_1d< I1 const > const &  kernel,
vil1_convolve_signal_2d< I2 const > const &  input,
AC *  ,
vil1_convolve_signal_2d< O > const &  output,
vil1_convolve_boundary_option  b,
vil1_convolve_boundary_option  e 
)

Convolution in x-direction : out(x, y) = kernel[i]*in(x-i, y).

Definition at line 13 of file vil1_convolve_1d_x.txx.

template<class I1, class I2, class AC, class O>
void vil1_convolve_1d_y ( I1 const *  half_kernel,
unsigned  kernel_size,
vil1_convolve_signal_2d< I2 const > const &  input,
AC *  ,
vil1_convolve_signal_2d< O > const &  output,
vil1_convolve_boundary_option  b,
vil1_convolve_boundary_option  e 
)

Convolution in y-direction, using a symmetric kernel.

template<class I1, class I2, class AC, class O>
void vil1_convolve_1d_y ( vil1_convolve_signal_1d< I1 const > const &  kernel,
vil1_convolve_signal_2d< I2 const > const &  input,
AC *  ,
vil1_convolve_signal_2d< O > const &  output,
vil1_convolve_boundary_option  b,
vil1_convolve_boundary_option  e 
)

Convolution in y-direction : out(x, y) = kernel[j]*in(x, y-j).

Definition at line 13 of file vil1_convolve_1d_y.txx.

template<class I1, class I2, class AC, class O>
vil1_image vil1_convolve_separable ( vil1_image const &  in,
I1 const *  kernel,
int  N,
I2 *  ,
AC *  ,
O *   
)

Definition at line 38 of file vil1_convolve.txx.

template<class I1, class I2, class AC, class O>
void vil1_convolve_separable ( I1 const  kernel[],
unsigned  N,
vil1_memory_image_of< I2 > &  buf,
vil1_memory_image_of< AC > &  tmp,
vil1_memory_image_of< O > &  out 
)

Definition at line 9 of file vil1_convolve.txx.


Generated on Mon Oct 6 05:08:16 2008 for core/vil1 by  doxygen 1.5.1