Namespaces | Functions

mln::logical Namespace Reference

Namespace of logic. More...

Namespaces

namespace  impl
 

Implementation namespace of logical namespace.


namespace  internal

Functions

template<typename L , typename R >
mln::trait::ch_value< L,
typename mln::fun::vv2v::land
< typename L::value, typename
R::value >::result >::ret 
and_ (const Image< L > &lhs, const Image< R > &rhs)
template<typename L , typename R >
void and_inplace (Image< L > &lhs, const Image< R > &rhs)
template<typename L , typename R >
mln::trait::ch_value< L,
typename
mln::fun::vv2v::land_not
< typename L::value, typename
R::value >::result >::ret 
and_not (const Image< L > &lhs, const Image< R > &rhs)
template<typename L , typename R >
void and_not_inplace (Image< L > &lhs, const Image< R > &rhs)
template<typename I >
mln::trait::concrete< I >::ret not_ (const Image< I > &input)
template<typename I >
void not_inplace (Image< I > &input)
template<typename L , typename R >
mln::trait::ch_value< L,
typename mln::fun::vv2v::lor
< typename L::value, typename
R::value >::result >::ret 
or_ (const Image< L > &lhs, const Image< R > &rhs)
template<typename L , typename R >
void or_inplace (Image< L > &lhs, const Image< R > &rhs)
template<typename L , typename R >
mln::trait::ch_value< L,
typename mln::fun::vv2v::lxor
< typename L::value, typename
R::value >::result >::ret 
xor_ (const Image< L > &lhs, const Image< R > &rhs)
template<typename L , typename R >
void xor_inplace (Image< L > &lhs, const Image< R > &rhs)

Detailed Description

Namespace of logic.


Function Documentation

template<typename L , typename R >
mln::trait::ch_value< L, typename mln::fun::vv2v::land< typename L::value, typename R::value >::result >::ret mln::logical::and_ ( const Image< L > &  lhs,
const Image< R > &  rhs 
) [inline]

Point-wise "logical and" between images lhs and rhs.

Parameters:
[in] lhs First operand image.
[in] rhs Second operand image.
Returns:
The result image.
Precondition:
lhs.domain == rhs.domain

Definition at line 76 of file logical/and.hh.

References mln::trace::entering(), mln::trace::exiting(), mln::logical::internal::tests(), and mln::data::transform().

Referenced by mln::morpho::impl::hit_or_miss_logic(), and mln::morpho::impl::min_().

template<typename L , typename R >
void mln::logical::and_inplace ( Image< L > &  lhs,
const Image< R > &  rhs 
) [inline]

Point-wise in-place "logical and" of image rhs in image lhs.

Parameters:
[in,out] lhs First operand image.
[in] rhs Second operand image.

It performs:
for all p of rhs.domain
lhs(p) = lhs(p) and rhs(p)

Precondition:
rhs.domain >= lhs.domain

Definition at line 91 of file logical/and.hh.

References mln::trace::entering(), mln::trace::exiting(), mln::logical::internal::tests(), and mln::data::transform_inplace().

Referenced by mln::morpho::impl::min_inplace_().

template<typename L , typename R >
mln::trait::ch_value< L, typename mln::fun::vv2v::land_not< typename L::value, typename R::value >::result >::ret mln::logical::and_not ( const Image< L > &  lhs,
const Image< R > &  rhs 
) [inline]

Point-wise "logical and-not" between images lhs and rhs.

Parameters:
[in] lhs First operand image.
[in] rhs Second operand image.
Returns:
The result image.
Precondition:
lhs.domain == rhs.domain

Definition at line 76 of file and_not.hh.

References mln::trace::entering(), mln::trace::exiting(), mln::logical::internal::tests(), and mln::data::transform().

Referenced by mln::morpho::impl::minus_().

template<typename L , typename R >
void mln::logical::and_not_inplace ( Image< L > &  lhs,
const Image< R > &  rhs 
) [inline]

Point-wise in-place "logical and-not" of image rhs in image lhs.

Parameters:
[in,out] lhs First operand image.
[in] rhs Second operand image.

It performs:
for all p of rhs.domain
lhs(p) = lhs(p) and not rhs(p)

Precondition:
rhs.domain >= lhs.domain

Definition at line 91 of file and_not.hh.

References mln::trace::entering(), mln::trace::exiting(), mln::logical::internal::tests(), and mln::data::transform_inplace().

template<typename I >
mln::trait::concrete< I >::ret mln::logical::not_ ( const Image< I > &  input  )  [inline]

Point-wise "logical not" of image input.

Parameters:
[in] input the input image.
Returns:
The result image.
Precondition:
input.is_valid

Definition at line 73 of file logical/not.hh.

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

Referenced by mln::morpho::impl::complementation_(), mln::morpho::approx::impl::erosion_by_distance_thresholding_2d(), and mln::morpho::approx::impl::erosion_by_distance_thresholding_3d().

template<typename I >
void mln::logical::not_inplace ( Image< I > &  input  )  [inline]

Point-wise in-place "logical not" of image input.

Parameters:
[in,out] input The target image.

It performs:
for all p of input.domain
input(p) = not input(p)

Precondition:
input.is_valid

Definition at line 88 of file logical/not.hh.

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

Referenced by mln::morpho::impl::complementation_inplace_().

template<typename L , typename R >
mln::trait::ch_value< L, typename mln::fun::vv2v::lor< typename L::value, typename R::value >::result >::ret mln::logical::or_ ( const Image< L > &  lhs,
const Image< R > &  rhs 
) [inline]

Point-wise "logical or" between images lhs and rhs.

Parameters:
[in] lhs First operand image.
[in] rhs Second operand image.
Returns:
The result image.
Precondition:
lhs.domain == rhs.domain

Definition at line 76 of file logical/or.hh.

References mln::trace::entering(), mln::trace::exiting(), mln::logical::internal::tests(), and mln::data::transform().

Referenced by mln::morpho::impl::plus_().

template<typename L , typename R >
void mln::logical::or_inplace ( Image< L > &  lhs,
const Image< R > &  rhs 
) [inline]

Point-wise in-place "logical or" of image rhs in image lhs.

Parameters:
[in,out] lhs First operand image.
[in] rhs Second operand image.

It performs:
for all p of rhs.domain
lhs(p) = lhs(p) or rhs(p)

Precondition:
rhs.domain >= lhs.domain

Definition at line 91 of file logical/or.hh.

References mln::trace::entering(), mln::trace::exiting(), mln::logical::internal::tests(), and mln::data::transform_inplace().

template<typename L , typename R >
mln::trait::ch_value< L, typename mln::fun::vv2v::lxor< typename L::value, typename R::value >::result >::ret mln::logical::xor_ ( const Image< L > &  lhs,
const Image< R > &  rhs 
) [inline]

Point-wise "logical xor" between images lhs and rhs.

Parameters:
[in] lhs First operand image.
[in] rhs Second operand image.
Returns:
The result image.
Precondition:
lhs.domain == rhs.domain

Definition at line 76 of file logical/xor.hh.

References mln::trace::entering(), mln::trace::exiting(), mln::logical::internal::tests(), and mln::data::transform().

template<typename L , typename R >
void mln::logical::xor_inplace ( Image< L > &  lhs,
const Image< R > &  rhs 
) [inline]

Point-wise in-place "logical xor" of image rhs in image lhs.

Parameters:
[in,out] lhs First operand image.
[in] rhs Second operand image.

It performs:
for all p of rhs.domain
lhs(p) = lhs(p) xor rhs(p)

Precondition:
rhs.domain >= lhs.domain

Definition at line 91 of file logical/xor.hh.

References mln::trace::entering(), mln::trace::exiting(), mln::logical::internal::tests(), and mln::data::transform_inplace().