Namespaces | Classes | Functions | Variables

mln::linear Namespace Reference

Namespace of linear image processing routines. More...

Namespaces

namespace  gaussian
namespace  impl
 

Namespace of linear image processing routines implementation details.


namespace  internal
namespace  local
 

Specializations of local linear routines.


namespace  my

Classes

struct  ch_convolve

Functions

template<typename I >
mln::trait::concrete< I >::ret gaussian (const Image< I > &input, float sigma)
 Gaussian filter of an image input.
template<typename I >
mln::trait::concrete< I >::ret gaussian (const Image< I > &input, float sigma, int dir)
template<typename I >
mln::trait::concrete< I >::ret gaussian_1d (const Image< I > &input, double sigma, const typename I::value &bdr)
template<typename I >
mln::trait::concrete< I >::ret gaussian_1st_derivative (const Image< I > &input, float sigma)
template<typename I >
mln::trait::concrete< I >::ret gaussian_1st_derivative (const Image< I > &input, float sigma, int dir)
template<typename I >
mln::trait::concrete< I >::ret gaussian_2nd_derivative (const Image< I > &input, float sigma)
template<typename I >
mln::trait::concrete< I >::ret gaussian_2nd_derivative (const Image< I > &input, float sigma, int dir)
template<typename I >
mln::trait::concrete< I >::ret gaussian_directional_2d (const Image< I > &input, unsigned dir, double sigma, const typename I::value &bdr)
template<typename I , typename W , unsigned Sh, unsigned Sv>
 mln_ch_convolve (I, W) convolve_2x1d(const Image< I > &input
template<typename I , typename W >
 mln_ch_convolve (I, W) convolve(const Image< I > &input
template<typename I , typename W , unsigned S>
 mln_ch_convolve (I, W) convolve_directional(const Image< I > &input
template<typename I >
 mln_ch_convolve_grad (I, int) sobel_2d(const Image< I > &input)
 Compute the vertical component of the 2D Sobel gradient.
template<typename I , typename C >
void recursivefilter_directional_fastest (I &ima, const C &c, const typename I::psite &start, const typename I::psite &finish, int len, const typename I::psite::delta &d, const typename I::value &bdr)
template<typename I , typename C >
void recursivefilter_directional_generic (I &ima, const C &c, const typename I::psite &start, const typename I::psite &finish, int len, const typename I::psite::delta &d)

template<typename I >
 mln_ch_convolve (I, int) sobel_2d_h(const Image< I > &input)
 Sobel_2d gradient components.

Variables

unsigned dir
W(& horizontal_weights )[Sh]
W(W(& vertical_weights )[Sv]
const Weighted_Window< W > & w_win
unsigned W(& weights )[S]

Detailed Description

Namespace of linear image processing routines.


Function Documentation

template<typename I >
mln::trait::concrete< I >::ret mln::linear::gaussian ( const Image< I > &  input,
float  sigma 
) [inline]

Gaussian filter of an image input.

Precondition:
output.domain = input.domain

Apply an approximated gaussian filter of sigma on input. This filter is applied in all the input image direction.

Precondition:
input.is_valid

Definition at line 750 of file gaussian.hh.

References mln::exact(), mln::linear::impl::gaussian_norm_coef_(), mln::linear::impl::generic_filter_common_(), and mln::initialize().

Referenced by mln::subsampling::gaussian_subsampling().

template<typename I >
mln::trait::concrete< I >::ret mln::linear::gaussian ( const Image< I > &  input,
float  sigma,
int  dir 
) [inline]

Apply an approximated gaussian filter of sigma on input. on a specific direction dir if dir = 0, the filter is applied on the first image dimension. if dir = 1, the filter is applied on the second image dimension. And so on...

Precondition:
input.is_valid
dir < dimension(input)

Definition at line 653 of file gaussian.hh.

References mln::exact(), mln::linear::impl::gaussian_norm_coef_(), mln::linear::impl::generic_filter_common_(), and mln::initialize().

template<typename I >
mln::trait::concrete< I >::ret mln::linear::gaussian_1d ( const Image< I > &  input,
double  sigma,
const typename I::value &  bdr 
) [inline]
template<typename I >
mln::trait::concrete< I >::ret mln::linear::gaussian_1st_derivative ( const Image< I > &  input,
float  sigma 
) [inline]

Apply an approximated first derivative gaussian filter of sigma on input This filter is applied in all the input image direction.

Precondition:
input.is_valid

Definition at line 779 of file gaussian.hh.

References mln::exact(), mln::linear::impl::gaussian_1st_deriv_coef_norm_(), mln::linear::impl::generic_filter_common_(), and mln::initialize().

template<typename I >
mln::trait::concrete< I >::ret mln::linear::gaussian_1st_derivative ( const Image< I > &  input,
float  sigma,
int  dir 
) [inline]

Apply an approximated first derivative gaussian filter of sigma on input. on a specific direction dir if dir = 0, the filter is applied on the first image dimension. if dir = 1, the filter is applied on the second image dimension. And so on...

Precondition:
input.is_valid
dir < dimension(input)

Definition at line 685 of file gaussian.hh.

References mln::exact(), mln::linear::impl::gaussian_1st_deriv_coef_norm_(), mln::linear::impl::generic_filter_common_(), and mln::initialize().

template<typename I >
mln::trait::concrete< I >::ret mln::linear::gaussian_2nd_derivative ( const Image< I > &  input,
float  sigma 
) [inline]

Apply an approximated second derivative gaussian filter of sigma on input This filter is applied in all the input image direction.

Precondition:
input.is_valid

Definition at line 807 of file gaussian.hh.

References mln::exact(), mln::linear::impl::gaussian_2nd_deriv_coef_norm_(), mln::linear::impl::generic_filter_common_(), and mln::initialize().

template<typename I >
mln::trait::concrete< I >::ret mln::linear::gaussian_2nd_derivative ( const Image< I > &  input,
float  sigma,
int  dir 
) [inline]

Apply an approximated second derivative gaussian filter of sigma on input. on a specific direction dir if dir = 0, the filter is applied on the first image dimension. if dir = 1, the filter is applied on the second image dimension. And so on...

Precondition:
input.is_valid
dir < dimension(input)

Definition at line 718 of file gaussian.hh.

References mln::exact(), mln::linear::impl::gaussian_2nd_deriv_coef_norm_(), mln::linear::impl::generic_filter_common_(), and mln::initialize().

template<typename I >
mln::trait::concrete< I >::ret mln::linear::gaussian_directional_2d ( const Image< I > &  input,
unsigned  dir,
double  sigma,
const typename I::value &  bdr 
) [inline]
template<typename I >
mln::linear::mln_ch_convolve ( ,
int   
) const [inline]

Sobel_2d gradient components.

Compute the L1 norm of the 2D Sobel gradient.

Compute the vertical component of the 2D Sobel gradient.

Compute the horizontal component of the 2D Sobel gradient.

Definition at line 142 of file sobel_2d.hh.

References mln::trace::entering(), mln::exact(), mln::trace::exiting(), mln_ch_convolve(), mln_ch_convolve_grad(), and mln::data::transform().

template<typename I , typename W , unsigned Sh, unsigned Sv>
mln::linear::mln_ch_convolve ( ,
 
) const

Convolution of an image input by two weighted line-shapes windows.

Warning:
The weighted window is used as-is, considering that its symmetrization is handled by the client.
Precondition:
input.is_valid
template<typename I , typename W >
mln::linear::mln_ch_convolve ( ,
 
) const

Convolution of an image input by the weighted window w_win.

Warning:
Computation of output(p) is performed with the value type of output.
The weighted window is used as-is, considering that its symmetrization is handled by the client.
Precondition:
input.is_valid

Referenced by mln_ch_convolve(), and mln_ch_convolve_grad().

template<typename I , typename W , unsigned S>
mln::linear::mln_ch_convolve ( ,
 
) const [inline]

Convolution of an image input by a line-shaped (directional) weighted window defined by the array of weights.

Warning:
Computation of output(p) is performed with the value type of output.
The weighted window is used as-is, considering that its symmetrization is handled by the client.
Precondition:
input.is_valid
template<typename I >
mln::linear::mln_ch_convolve_grad ( ,
int   
) const

Compute the vertical component of the 2D Sobel gradient.

Definition at line 124 of file sobel_2d.hh.

References mln::trace::entering(), mln::exact(), mln::trace::exiting(), mln_ch_convolve(), and mln::data::transform().

Referenced by mln_ch_convolve().

template<typename I , typename C >
void mln::linear::recursivefilter_directional_fastest ( I &  ima,
const C &  c,
const typename I::psite &  start,
const typename I::psite &  finish,
int  len,
const typename I::psite::delta &  d,
const typename I::value &  bdr 
) [inline]

Definition at line 339 of file gaussian_directional_2d.hh.

Referenced by gaussian_1d(), and gaussian_directional_2d().

template<typename I , typename C >
void mln::linear::recursivefilter_directional_generic ( I &  ima,
const C &  c,
const typename I::psite &  start,
const typename I::psite &  finish,
int  len,
const typename I::psite::delta &  d 
) [inline]

Definition at line 244 of file gaussian_directional_2d.hh.


Variable Documentation

unsigned mln::linear::dir

Definition at line 59 of file convolve_directional.hh.

Definition at line 57 of file convolve_2x1d.hh.

Definition at line 58 of file convolve_2x1d.hh.

Definition at line 58 of file linear/convolve.hh.

unsigned W(& mln::linear::weights)[S]

Definition at line 59 of file convolve_directional.hh.