Classes | Defines | Functions
core/vil/algo/vil_correlate_1d.h File Reference

1D Convolution with cunning boundary options More...

#include <vcl_algorithm.h>
#include <vcl_cstring.h>
#include <vcl_cassert.h>
#include <vcl_iostream.h>
#include <vil/vil_image_view.h>
#include <vil/vil_image_resource.h>
#include <vil/vil_property.h>
#include <vil/algo/vil_convolve_1d.h>

Go to the source code of this file.

Classes

class  vil_correlate_1d_resource< kernelT, accumT, destT >
 A resource adaptor that behaves like a correlated version of its input. More...

Defines

#define macro(F, T)

Functions

template<class srcT , class destT , class kernelT , class accumT >
void vil_correlate_1d (const srcT *src0, unsigned nx, vcl_ptrdiff_t s_step, destT *dest0, vcl_ptrdiff_t d_step, const kernelT *kernel, vcl_ptrdiff_t k_lo, vcl_ptrdiff_t k_hi, accumT ac, vil_convolve_boundary_option start_option, vil_convolve_boundary_option end_option)
 Correlate kernel[x] (x in [k_lo,k_hi]) with srcT.
template<class srcT , class destT , class kernelT , class accumT >
void vil_correlate_1d (const vil_image_view< srcT > &src_im, vil_image_view< destT > &dest_im, const kernelT *kernel, vcl_ptrdiff_t k_lo, vcl_ptrdiff_t k_hi, accumT ac, vil_convolve_boundary_option start_option, vil_convolve_boundary_option end_option)
 correlate kernel[i] (i in [k_lo,k_hi]) with srcT in i-direction.
template<class destT , class kernelT , class accumT >
vil_image_resource_sptr vil_correlate_1d (const vil_image_resource_sptr &src_im, const destT, const kernelT *kernel, vcl_ptrdiff_t k_lo, vcl_ptrdiff_t k_hi, const accumT, vil_convolve_boundary_option start_option, vil_convolve_boundary_option end_option)
 Create an image_resource object which correlate kernel[x] x in [k_lo,k_hi] with srcT.

Detailed Description

1D Convolution with cunning boundary options

Author:
Tim Cootes (based on work by fsm)

Definition in file vil_correlate_1d.h.


Define Documentation

#define macro (   F,
 
)
Value:
case F : \
        vil_correlate_1d(static_cast<vil_image_view<T >&>(*vs),dest, \
                         kernel_, klo_, khi_, accumT(), start_option_, end_option_); \
        return new vil_image_view<destT>(vil_crop(dest, lboundary, ni, 0, nj));

Function Documentation

template<class srcT , class destT , class kernelT , class accumT >
void vil_correlate_1d ( const srcT *  src0,
unsigned  nx,
vcl_ptrdiff_t  s_step,
destT *  dest0,
vcl_ptrdiff_t  d_step,
const kernelT *  kernel,
vcl_ptrdiff_t  k_lo,
vcl_ptrdiff_t  k_hi,
accumT  ac,
vil_convolve_boundary_option  start_option,
vil_convolve_boundary_option  end_option 
) [inline]

Correlate kernel[x] (x in [k_lo,k_hi]) with srcT.

Assumes dest and src same size (nx)

Definition at line 21 of file vil_correlate_1d.h.

template<class srcT , class destT , class kernelT , class accumT >
void vil_correlate_1d ( const vil_image_view< srcT > &  src_im,
vil_image_view< destT > &  dest_im,
const kernelT *  kernel,
vcl_ptrdiff_t  k_lo,
vcl_ptrdiff_t  k_hi,
accumT  ac,
vil_convolve_boundary_option  start_option,
vil_convolve_boundary_option  end_option 
) [inline]

correlate kernel[i] (i in [k_lo,k_hi]) with srcT in i-direction.

On exit dest_im(i,j) = sum src(i+x,j)*kernel(x) (x=k_lo..k_hi)

Note:
This function does not reverse the kernel. If you want the kernel reversed, use vil_convolve_1d instead.
Parameters:
kernelshould point to tap 0.
dest_imwill be resized to size of src_im.

Definition at line 59 of file vil_correlate_1d.h.

template<class destT , class kernelT , class accumT >
vil_image_resource_sptr vil_correlate_1d ( const vil_image_resource_sptr src_im,
const destT  ,
const kernelT *  kernel,
vcl_ptrdiff_t  k_lo,
vcl_ptrdiff_t  k_hi,
const accumT  ,
vil_convolve_boundary_option  start_option,
vil_convolve_boundary_option  end_option 
)

Create an image_resource object which correlate kernel[x] x in [k_lo,k_hi] with srcT.

Note:
This function does not reverse the kernel. If you want the kernel reversed, use vil_convolve_1d instead.
Parameters:
kernelshould point to tap 0.

Definition at line 214 of file vil_correlate_1d.h.