core/vil1/vil1_convolve_simple.txx File Reference


Detailed Description

Author:
fsm

Definition in file vil1_convolve_simple.txx.

#include "vil1_convolve_simple.h"
#include <vcl_cassert.h>
#include <vcl_algorithm.h>
#include <vcl_vector.h>
#include <vil1/vil1_memory_image_of.h>

Go to the source code of this file.


Defines

#define TRACE   0
#define VIL1_CONVOLVE_SIMPLE_INSTANTIATE0(I1, I2, AC, O)
#define VIL1_CONVOLVE_SIMPLE_INSTANTIATE1(I1, I2, AC, O)
#define VIL1_CONVOLVE_SIMPLE_INSTANTIATE2(I1, I2, AC, O)
#define VIL1_CONVOLVE_SIMPLE_INSTANTIATE(I1, I2, AC, O)

Functions

template<class I1, class I2, class AC, class O>
void vil1_convolve_simple (I1 const *const *input1, unsigned w1, unsigned h1, I2 const *const *input2, unsigned w2, unsigned h2, AC *, O *const *out)
 Convolution.
template<class I1, class I2, class AC, class O>
void vil1_convolve_simple (vil1_memory_image_of< I1 > const &input1, int x1, int y1, unsigned w1, unsigned h1, vil1_memory_image_of< I2 > const &input2, int x2, int y2, unsigned w2, unsigned h2, AC *, vil1_memory_image_of< O > &output, int xo, int yo)
 Convolution.
template<class I1, class I2, class AC, class O>
void vil1_convolve_simple (vil1_memory_image_of< I1 > const &in1, vil1_memory_image_of< I2 > const &in2, AC *, vil1_memory_image_of< O > &out)
 Convolution.

Define Documentation

#define TRACE   0

Definition at line 15 of file vil1_convolve_simple.txx.

#define VIL1_CONVOLVE_SIMPLE_INSTANTIATE ( I1,
I2,
AC,
 ) 

Value:

Definition at line 176 of file vil1_convolve_simple.txx.

#define VIL1_CONVOLVE_SIMPLE_INSTANTIATE0 ( I1,
I2,
AC,
 ) 

Value:

template void vil1_convolve_simple(I1 const * const *, unsigned, unsigned, \
                                   I2 const * const *, unsigned, unsigned, \
                                   AC *,  \
                                   O * const *)

Definition at line 75 of file vil1_convolve_simple.txx.

#define VIL1_CONVOLVE_SIMPLE_INSTANTIATE1 ( I1,
I2,
AC,
 ) 

Value:

template void vil1_convolve_simple(vil1_memory_image_of<I1 > const &, \
                                   int, int, unsigned, unsigned,      \
                                   vil1_memory_image_of<I2 > const &, \
                                   int, int, unsigned, unsigned,      \
                                   AC *, \
                                   vil1_memory_image_of<O >        &, \
                                   int, int)

Definition at line 136 of file vil1_convolve_simple.txx.

#define VIL1_CONVOLVE_SIMPLE_INSTANTIATE2 ( I1,
I2,
AC,
 ) 

Value:

Definition at line 167 of file vil1_convolve_simple.txx.


Function Documentation

template<class I1, class I2, class AC, class O>
void vil1_convolve_simple ( vil1_memory_image_of< I1 > const &  input1,
vil1_memory_image_of< I2 > const &  input2,
AC *  ,
vil1_memory_image_of< O > &  output 
)

Convolution.

Like the previous function, except without bounds checking and specified regions.

$\displaystyle {\rm out}_{{\rm off}+k} = \sum_{i+j=k} a_{{\rm off}+i} b_{{\rm off}+j}$

Definition at line 149 of file vil1_convolve_simple.txx.

template<class I1, class I2, class AC, class O>
void vil1_convolve_simple ( vil1_memory_image_of< I1 > const &  IN1,
int  x1,
int  y1,
unsigned  w1,
unsigned  h1,
vil1_memory_image_of< I2 > const &  IN2,
int  x2,
int  y2,
unsigned  w2,
unsigned  h2,
AC *  ,
vil1_memory_image_of< O > &  OUT,
int  xo,
int  yo 
)

Convolution.

This function performs some bounds checks on the given memory images and then dispatches the convolution itself to the above function.

$\displaystyle {\rm out}_{{\rm off}+k} = \sum_{i+j=k} a_{{\rm off}+i} b_{{\rm off}+j}$

Definition at line 86 of file vil1_convolve_simple.txx.

template<class I1, class I2, class AC, class O>
void vil1_convolve_simple ( I1 const *const *  in1,
unsigned  w1,
unsigned  h1,
I2 const *const *  in2,
unsigned  w2,
unsigned  h2,
AC *  ,
O *const *  out 
)

Convolution.

This function assumes that the image types provide operator[] to return a pointer (or something which behaves like one) to the y'th raster.

The given regions of the input images are convolved and placed at the given position in the output image, according to the formula : $\displaystyle OUT[y][x] = \sum_{x_1+x_2=x, y_1+y_2=y} IN_1[y_1][x_1] IN_2[y_2][x_2]$

The dummy parameter is just for dumb compilers that do not allow the use of vil1_convolve_simple<...> to specify the accumulator type.

Definition at line 32 of file vil1_convolve_simple.txx.


Generated on Mon Mar 8 05:09:34 2010 for core/vil1 by  doxygen 1.5.1