$extrastylesheet
Olena  User documentation 2.1
An Image Processing Platform
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Linear Algebra Computation

Functions

template<typename I , typename W >
mln::linear::ch_convolve< I, W >
::ret 
mln::linear::convolve (const Image< I > &input, const Weighted_Window< W > &w_win)
template<typename I , typename P , typename W , typename R >
void mln::linear::local::convolve (const Image< I > &input, const Site< P > &p, const Weighted_Window< W > &w_win, R &result)
template<typename P , typename W , typename R >
void mln::linear::local::convolve (const Generalized_Pixel< P > &p, const Weighted_Window< W > &w_win, R &result)
template<typename I , typename W , unsigned Sh, unsigned Sv>
mln::linear::ch_convolve< I, W >
::ret 
mln::linear::convolve_2x1d (const Image< I > &input, W(&horizontal_weights)[Sh], W(&vertical_weights)[Sv])
template<typename I , typename W , unsigned S>
mln::linear::ch_convolve< I, W >
::ret 
mln::linear::convolve_directional (const Image< I > &input, unsigned dir, W(&weights)[S])
template<typename I >
mln::trait::concrete< I >::ret mln::linear::gaussian (const Image< I > &input, float sigma)
template<typename I >
mln::trait::concrete< I >::ret mln::linear::gaussian (const Image< I > &input, float sigma, int dir)
template<typename I >
mln::trait::concrete< I >::ret mln::linear::gaussian_1d (const Image< I > &input, double sigma, const typename I::value &bdr)
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)
template<typename I >
mln::linear::ch_convolve< I,
int >::ret 
mln::linear::LoG_13x13 (const Image< I > &input)
template<typename I >
mln::linear::ch_convolve< I,
int >::ret 
mln::linear::LoG_17x17 (const Image< I > &input)
template<typename I >
mln::linear::ch_convolve< I,
int >::ret 
mln::linear::LoG_5x5 (const Image< I > &input)
template<typename I >
mln::linear::ch_convolve< I,
int >::ret 
mln::linear::LoG_7x7 (const Image< I > &input)
template<typename I >
mln::linear::ch_convolve< I,
int >::ret 
mln::linear::lap_4 (const Image< I > &input)
template<typename I >
mln::linear::ch_convolve< I,
int >::ret 
mln::linear::lap_8 (const Image< I > &input)
template<typename I >
mln::linear::ch_convolve< I,
int >::ret 
mln::linear::lap_x (const Image< I > &input)
template<typename I >
mln::linear::ch_convolve< I,
int >::ret 
mln::linear::lap_o (const Image< I > &input)
template<typename I >
mln::linear::ch_convolve< I,
int >::ret 
mln::linear::sobel_2d_h (const Image< I > &input)
template<typename I >
mln::linear::ch_convolve< I,
int >::ret 
mln::linear::sobel_2d_v (const Image< I > &input)
template<typename I >
mln::trait::ch_value< I,
algebra::vec< I::site::dim,
typename
mln::linear::ch_convolve< I,
int >::ret::value > >::ret 
mln::linear::sobel_2d (const Image< I > &input)
template<typename I >
mln::linear::ch_convolve< I,
int >::ret 
mln::linear::sobel_2d_l1_norm (const Image< I > &input)
template<unsigned n, typename C >
mln::trait::value_< typename
mln::trait::op::times< C, C >
::ret >::sum 
mln::norm::l1 (const C(&vec)[n])
template<unsigned n, typename C >
mln::trait::value_< typename
mln::trait::op::times< C, C >
::ret >::sum 
mln::norm::l1 (const algebra::vec< n, C > &vec)
template<unsigned n, typename C >
mln::trait::value_< typename
mln::trait::op::times< C, C >
::ret >::sum 
mln::norm::l1_distance (const C(&vec1)[n], const C(&vec2)[n])
template<unsigned n, typename C >
mln::trait::value_< typename
mln::trait::op::times< C, C >
::ret >::sum 
mln::norm::l1_distance (const algebra::vec< n, C > &vec1, const algebra::vec< n, C > &vec2)
template<unsigned n, typename C >
mln::trait::value_< typename
mln::trait::op::times< C, C >
::ret >::sum 
mln::norm::l2 (const C(&vec)[n])
template<unsigned n, typename C >
mln::trait::value_< typename
mln::trait::op::times< C, C >
::ret >::sum 
mln::norm::l2 (const algebra::vec< n, C > &vec)
template<unsigned n, typename C >
mln::trait::value_< typename
mln::trait::op::times< C, C >
::ret >::sum 
mln::norm::sqr_l2 (const C(&vec)[n])
template<unsigned n, typename C >
mln::trait::value_< typename
mln::trait::op::times< C, C >
::ret >::sum 
mln::norm::sqr_l2 (const algebra::vec< n, C > &vec)
template<unsigned n, typename C >
mln::trait::value_< typename
mln::trait::op::times< C, C >
::ret >::sum 
mln::norm::l2_distance (const C(&vec1)[n], const C(&vec2)[n])
template<unsigned n, typename C >
mln::trait::value_< typename
mln::trait::op::times< C, C >
::ret >::sum 
mln::norm::l2_distance (const algebra::vec< n, C > &vec1, const algebra::vec< n, C > &vec2)
template<unsigned n, typename C >
mln::norm::linfty (const C(&vec)[n])
template<unsigned n, typename C >
mln::norm::linfty (const algebra::vec< n, C > &vec)
template<unsigned n, typename C >
mln::norm::linfty_distance (const C(&vec1)[n], const C(&vec2)[n])
template<unsigned n, typename C >
mln::norm::linfty_distance (const algebra::vec< n, C > &vec1, const algebra::vec< n, C > &vec2)

Detailed Description

All linear algebra algorithms.

Function Documentation

template<typename I , typename W >
mln::linear::ch_convolve< I , W >::ret mln::linear::convolve ( const Image< I > &  input,
const Weighted_Window< W > &  w_win 
)

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
template<typename I , typename P , typename W , typename R >
void mln::linear::local::convolve ( const Image< I > &  input,
const Site< P > &  p,
const Weighted_Window< W > &  w_win,
R &  result 
)

Local convolution of image input at point p by the weighted window w_win.

Warning
Computation of the result is performed with the type R.
The weighted window is used as-is, considering that its symmetrization is handled by the client.
template<typename P , typename W , typename R >
void mln::linear::local::convolve ( const Generalized_Pixel< P > &  p,
const Weighted_Window< W > &  w_win,
R &  result 
)

Local convolution around (generalized) pixel by the weighted window w_win.

Warning
Computation of the result is performed with the type R.
The weighted window is used as-is, considering that its symmetrization is handled by the client.
template<typename I , typename W , unsigned Sh, unsigned Sv>
mln::linear::ch_convolve< I , W >::ret mln::linear::convolve_2x1d ( const Image< I > &  input,
W(&)  horizontal_weights[Sh],
W(&)  vertical_weights[Sv] 
)

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 , unsigned S>
mln::linear::ch_convolve< I , W >::ret mln::linear::convolve_directional ( const Image< I > &  input,
unsigned  dir,
W(&)  weights[S] 
)

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::trait::concrete< I >::ret mln::linear::gaussian ( const Image< I > &  input,
float  sigma 
)

Gaussian filter of an image input.

Precondition
output.domain = input.domain
template<typename I >
mln::trait::concrete< I >::ret mln::linear::gaussian ( const Image< I > &  input,
float  sigma,
int  dir 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

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

Gaussian filter for fastest 1D images.

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 
)

Directional Gaussian filter for 2D images.

template<unsigned n, typename C >
mln::trait::value_< typename mln::trait::op::times< C , C >::ret >::sum mln::norm::l1 ( const C(&)  vec[n])

L1-norm of a vector vec.

template<unsigned n, typename C >
mln::trait::value_< typename mln::trait::op::times< C , C >::ret >::sum mln::norm::l1 ( const algebra::vec< n, C > &  vec)
template<unsigned n, typename C >
mln::trait::value_< typename mln::trait::op::times< C , C >::ret >::sum mln::norm::l1_distance ( const C(&)  vec1[n],
const C(&)  vec2[n] 
)

L1-norm distance between vectors vec1 and vec2.

template<unsigned n, typename C >
mln::trait::value_< typename mln::trait::op::times< C , C >::ret >::sum mln::norm::l1_distance ( const algebra::vec< n, C > &  vec1,
const algebra::vec< n, C > &  vec2 
)
template<unsigned n, typename C >
mln::trait::value_< typename mln::trait::op::times< C , C >::ret >::sum mln::norm::l2 ( const C(&)  vec[n])

L2-norm of a vector vec.

template<unsigned n, typename C >
mln::trait::value_< typename mln::trait::op::times< C, C >::ret >::sum mln::norm::l2 ( const algebra::vec< n, C > &  vec)
template<unsigned n, typename C >
mln::trait::value_< typename mln::trait::op::times< C , C >::ret >::sum mln::norm::l2_distance ( const C(&)  vec1[n],
const C(&)  vec2[n] 
)

L2-norm distance between vectors vec1 and vec2.

template<unsigned n, typename C >
mln::trait::value_< typename mln::trait::op::times< C , C >::ret >::sum mln::norm::l2_distance ( const algebra::vec< n, C > &  vec1,
const algebra::vec< n, C > &  vec2 
)
template<typename I >
mln::linear::ch_convolve< I , int >::ret mln::linear::lap_4 ( const Image< I > &  input)

Laplacian.

template<typename I >
mln::linear::ch_convolve< I , int >::ret mln::linear::lap_8 ( const Image< I > &  input)
template<typename I >
mln::linear::ch_convolve< I , int >::ret mln::linear::lap_o ( const Image< I > &  input)
template<typename I >
mln::linear::ch_convolve< I , int >::ret mln::linear::lap_x ( const Image< I > &  input)
template<unsigned n, typename C >
C mln::norm::linfty ( const C(&)  vec[n])

L-infinity-norm of a vector vec.

template<unsigned n, typename C >
C mln::norm::linfty ( const algebra::vec< n, C > &  vec)
template<unsigned n, typename C >
C mln::norm::linfty_distance ( const C(&)  vec1[n],
const C(&)  vec2[n] 
)

L-infinity-norm distance between vectors vec1 and vec2.

template<unsigned n, typename C >
C mln::norm::linfty_distance ( const algebra::vec< n, C > &  vec1,
const algebra::vec< n, C > &  vec2 
)
template<typename I >
mln::linear::ch_convolve< I , int >::ret mln::linear::LoG_13x13 ( const Image< I > &  input)

Laplacian of Gaussian.

LoG 13x13 (Cf. Russ, p. 250).

template<typename I >
mln::linear::ch_convolve< I , int >::ret mln::linear::LoG_17x17 ( const Image< I > &  input)

Laplacian of Gaussian.

LoG 17x17 (Cf. Sonka et al., pages 85-86).

template<typename I >
mln::linear::ch_convolve< I , int >::ret mln::linear::LoG_5x5 ( const Image< I > &  input)

Laplacian of Gaussian.

LoG_5x5 (Cf. Sonka et al., pages 85-86). This is also a "mexican hat".

template<typename I >
mln::linear::ch_convolve< I , int >::ret mln::linear::LoG_7x7 ( const Image< I > &  input)

Laplacian of Gaussian.

LoG 7x7 (Cf. Russ, p. 250).

template<typename I >
mln::trait::ch_value< I , algebra::vec< I ::site::dim, typename mln::linear::ch_convolve< I , int >::ret::value > >::ret mln::linear::sobel_2d ( const Image< I > &  input)

Compute the vertical component of the 2D Sobel gradient.

template<typename I >
mln::linear::ch_convolve< I , int >::ret mln::linear::sobel_2d_h ( const Image< I > &  input)

Sobel_2d gradient components.

Compute the horizontal component of the 2D Sobel gradient.

template<typename I >
mln::linear::ch_convolve< I , int >::ret mln::linear::sobel_2d_l1_norm ( const Image< I > &  input)

Compute the L1 norm of the 2D Sobel gradient.

template<typename I >
mln::linear::ch_convolve< I , int >::ret mln::linear::sobel_2d_v ( const Image< I > &  input)

Compute the vertical component of the 2D Sobel gradient.

template<unsigned n, typename C >
mln::trait::value_< typename mln::trait::op::times< C , C >::ret >::sum mln::norm::sqr_l2 ( const C(&)  vec[n])

Squared L2-norm of a vector vec.

template<unsigned n, typename C >
mln::trait::value_< typename mln::trait::op::times< C , C >::ret >::sum mln::norm::sqr_l2 ( const algebra::vec< n, C > &  vec)