Namespaces | Functions

mln::data Namespace Reference

Namespace of image processing routines related to pixel data. More...

Namespaces

namespace  approx
 

Namespace of image processing routines related to pixel levels with approximation.


namespace  impl
 

Implementation namespace of data namespace.


namespace  naive
 

Namespace of image processing routines related to pixel levels with naive approach.


Functions

template<typename I , typename O >
void abs (const Image< I > &input, Image< O > &output)
template<typename I >
void abs_inplace (Image< I > &input)
template<typename I , typename F >
void apply (Image< I > &input, const Function_v2v< F > &f)
template<typename A , typename I >
A::result compute (const Accumulator< A > &a, const Image< I > &input)
 Compute an accumulator onto the pixel values of the image input.
template<typename A , typename I >
A::result compute (Accumulator< A > &a, const Image< I > &input)
 Compute an accumulator onto the pixel values of the image input.
template<typename V , typename I >
mln::trait::ch_value< I, V >::ret convert (const V &v, const Image< I > &input)
 Convert the image input by changing the value type.
template<typename I , typename W , typename O >
void fast_median (const Image< I > &input, const Window< W > &win, Image< O > &output)
template<typename I , typename D >
void fill (Image< I > &ima, const D &data)
template<typename I , typename J >
void fill_with_image (Image< I > &ima, const Image< J > &data)
 Fill the image ima with the values of the image data.
template<typename I , typename W >
mln::trait::concrete< I >::ret median (const Image< I > &input, const Window< W > &win)
template<typename A , typename I >
 mln_meta_accu_result (A, typename I::value) compute(const Meta_Accumulator< A > &a
 Compute an accumulator onto the pixel values of the image input.
template<typename I , typename J >
void paste (const Image< I > &input, Image< J > &output)
 Paste the contents of image input into the image output.
template<typename I , typename J >
void paste_without_localization (const Image< I > &input, Image< J > &output)
 Paste the contents of image input into the image output without taking into account the localization of sites.
template<typename I >
void replace (Image< I > &input, const typename I::value &old_value, const typename I::value &new_value)
template<typename I , typename V >
mln::trait::ch_value< I, V >::ret saturate (const Image< I > &input, const V &min, const V &max)
template<typename V , typename I >
mln::trait::ch_value< I, V >::ret saturate (V v, const Image< I > &input)
template<typename I >
void saturate_inplace (Image< I > &input, const typename I::value &min, const typename I::value &max)
template<typename I >
util::array< unsigned > sort_offsets_increasing (const Image< I > &input)
 Sort pixel offsets of the image input wrt increasing pixel values.
template<typename I >
p_array< typename I::psite > sort_psites_decreasing (const Image< I > &input)
template<typename I >
p_array< typename I::psite > sort_psites_increasing (const Image< I > &input)
template<typename V , typename I >
mln::trait::ch_value< I, V >::ret stretch (const V &v, const Image< I > &input)
template<typename I , typename O >
void to_enc (const Image< I > &input, Image< O > &output)
template<typename I1 , typename I2 , typename F >
mln::trait::ch_value< I1,
typename F::result >::ret 
transform (const Image< I1 > &input1, const Image< I2 > &input2, const Function_vv2v< F > &f)
template<typename I , typename F >
mln::trait::ch_value< I,
typename F::result >::ret 
transform (const Image< I > &input, const Function_v2v< F > &f)
template<typename I1 , typename I2 , typename F >
void transform_inplace (Image< I1 > &ima, const Image< I2 > &aux, const Function_vv2v< F > &f)
template<typename I , typename F >
void transform_inplace (Image< I > &ima, const Function_v2v< F > &f)
template<typename A , typename I >
A::result update (Accumulator< A > &a, const Image< I > &input)
template<typename V , typename I >
mln::trait::ch_value< I, V >::ret wrap (const V &v, const Image< I > &input)
 Routine to wrap values such as 0 -> 0 and [1, lmax] maps to [1, Lmax] (using modulus).

template<typename I , typename V >
void fill_with_value (Image< I > &ima, const V &val)
 Fill the whole image ima with the single value v.

Detailed Description

Namespace of image processing routines related to pixel data.


Function Documentation

template<typename I , typename O >
void mln::data::abs ( const Image< I > &  input,
Image< O > &  output 
) [inline]

Apply the absolute value (abs) function to image pixel values.

Parameters:
[in] input The input image.
[out] output The output image.

References transform().

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

Apply the absolute value (abs) function to image pixel values.

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

References apply().

template<typename I , typename F >
void mln::data::apply ( Image< I > &  input,
const Function_v2v< F > &  f 
) [inline]

Apply a function-object to the image input.

Parameters:
[in,out] input The input image.
[in] f The function-object.

This routine runs:
for all p of input, input(p) = f( input(p) )

This routine is equivalent to data::tranform(input, f, input) but it is faster since a single iterator is required.

Referenced by abs_inplace(), and saturate_inplace().

template<typename A , typename I >
A::result mln::data::compute ( const Accumulator< A > &  a,
const Image< I > &  input 
) [inline]

Compute an accumulator onto the pixel values of the image input.

Be ware that the given accumulator won't be modified and won't store any result.

Parameters:
[in] a An accumulator.
[in] input The input image.
Returns:
The accumulator result.

It fully relies on data::update.

Referenced by mln::labeled_image< I >::labeled_image(), mln::estim::mean(), mln::estim::min_max(), and mln::estim::sum().

template<typename A , typename I >
A::result mln::data::compute ( Accumulator< A > &  a,
const Image< I > &  input 
) [inline]

Compute an accumulator onto the pixel values of the image input.

Parameters:
[in,out] a An accumulator.
[in] input The input image.
Returns:
The accumulator result.

It fully relies on data::update.

template<typename V , typename I >
mln::trait::ch_value< I, V >::ret mln::data::convert ( const V &  v,
const Image< I > &  input 
) [inline]

Convert the image input by changing the value type.

Parameters:
[in] v A value of the destination type.
[in] input The input image.

Referenced by mln::morpho::watershed::superpose(), and mln::debug::superpose().

template<typename I , typename W , typename O >
void mln::data::fast_median ( const Image< I > &  input,
const Window< W > &  win,
Image< O > &  output 
) [inline]

Compute in output the median filter of image input by the window win.

Parameters:
[in] input The image to be filtered.
[in] win The window.
[in,out] output The output image.
Precondition:
input and output have to be initialized.
template<typename I , typename D >
void mln::data::fill ( Image< I > &  ima,
const D &  data 
) [inline]
template<typename I , typename J >
void mln::data::fill_with_image ( Image< I > &  ima,
const Image< J > &  data 
) [inline]

Fill the image ima with the values of the image data.

Parameters:
[in,out] ima The image to be filled.
[in] data The image.
Warning:
The definition domain of ima has to be included in the one of data.
Precondition:
ima.domain <= data.domain.
template<typename I , typename V >
void mln::data::fill_with_value ( Image< I > &  ima,
const V &  val 
) [inline]

Fill the whole image ima with the single value v.

Parameters:
[in,out] ima The image to be filled.
[in] val The value to assign to all sites.
Precondition:
ima has to be initialized.

Referenced by mln::p_image< I >::clear().

template<typename I , typename W >
mln::trait::concrete< I >::ret mln::data::median ( const Image< I > &  input,
const Window< W > &  win 
)

Compute in output the median filter of image input by the window win.

Parameters:
[in] input The image to be filtered.
[in] win The window.
Precondition:
input have to be initialized.
template<typename A , typename I >
mln::data::mln_meta_accu_result ( ,
typename I::value   
) const [inline]

Compute an accumulator onto the pixel values of the image input.

Parameters:
[in] a A meta-accumulator.
[in] input The input image.
Returns:
The accumulator result.
template<typename I , typename J >
void mln::data::paste ( const Image< I > &  input,
Image< J > &  output 
) [inline]

Paste the contents of image input into the image output.

Parameters:
[in] input The input image providing pixels values.
[in,out] output The image in which values are assigned.

This routine runs:
for all p of input, output(p) = input(p).

Warning:
The definition domain of input has to be included in the one of output; so using mln::safe_image does not make pasting outside the output domain work.
Precondition:
input.domain <= output.domain

Referenced by mln::make::image3d(), mln::draw::line(), mln::debug::mosaic(), mln::geom::rotate(), mln::debug::slices_2d(), and mln::labeling::superpose().

template<typename I , typename J >
void mln::data::paste_without_localization ( const Image< I > &  input,
Image< J > &  output 
) [inline]

Paste the contents of image input into the image output without taking into account the localization of sites.

Parameters:
[in] input The input image providing pixels values.
[in,out] output The image in which values are assigned.
template<typename I >
void mln::data::replace ( Image< I > &  input,
const typename I::value &  old_value,
const typename I::value &  new_value 
)

Replace old_value by new_value in the image input

Parameters:
[in] input The input image.
[in] old_value The value to be replaced...
[in] new_value ...by this one.
template<typename V , typename I >
mln::trait::ch_value< I, V >::ret mln::data::saturate ( v,
const Image< I > &  input 
) [inline]

Apply the saturate function to image pixel values.

Parameters:
[in] v A value of the output type.
[in] input The input image.

The saturation is based on the min and max values of the output value type. This assumes that the range of values in the input image is larger than the one of the output image.

References transform().

template<typename I , typename V >
mln::trait::ch_value< I, V >::ret mln::data::saturate ( const Image< I > &  input,
const V &  min,
const V &  max 
) [inline]

Apply the saturate function to image pixel values.

Parameters:
[in] input The input image.
[in] min The minimum output value.
[in] max The maximum output value.

References transform().

template<typename I >
void mln::data::saturate_inplace ( Image< I > &  input,
const typename I::value &  min,
const typename I::value &  max 
) [inline]

Apply the saturate function to image pixel values.

Parameters:
[in,out] input The input image.
[in] min The minimum output value.
[in] max The maximum output value

References apply().

template<typename I >
util::array< unsigned > mln::data::sort_offsets_increasing ( const Image< I > &  input  )  [inline]

Sort pixel offsets of the image input wrt increasing pixel values.

template<typename I >
p_array< typename I::psite > mln::data::sort_psites_decreasing ( const Image< I > &  input  )  [inline]

Sort psites the image input through a function f to set the output image in decreasing way.

Parameters:
[in] input The input image.
Precondition:
input.is_valid

Referenced by mln::morpho::tree::min_tree().

template<typename I >
p_array< typename I::psite > mln::data::sort_psites_increasing ( const Image< I > &  input  )  [inline]

Sort psites the image input through a function f to set the output image in increasing way.

Parameters:
[in] input The input image.
Precondition:
input.is_valid

Referenced by mln::morpho::tree::max_tree().

template<typename V , typename I >
mln::trait::ch_value< I, V >::ret mln::data::stretch ( const V &  v,
const Image< I > &  input 
) [inline]

Stretch the values of input so that they can be stored in output.

Parameters:
[in] v A value to set the output value type.
[in] input The input image.
Returns:
A stretch image with values of the same type as v.
Precondition:
input.is_valid

References mln::data::impl::stretch().

template<typename I , typename O >
void mln::data::to_enc ( const Image< I > &  input,
Image< O > &  output 
) [inline]

Set the output image with the encoding values of the image input pixels.

Parameters:
[in] input The input image.
[out] output The result image.
Precondition:
output.domain >= input.domain

References transform().

template<typename I , typename F >
mln::trait::ch_value< I, typename F::result >::ret mln::data::transform ( const Image< I > &  input,
const Function_v2v< F > &  f 
) [inline]

Transform the image input through a function f.

Parameters:
[in] input The input image.
[in] f The function.

This routine runs:
for all p of input, output(p) = f( input(p) ).

Referenced by abs(), mln::logical::and_not(), mln::labeling::colorize(), mln::arith::diff_abs(), mln::linear::mln_ch_convolve(), mln::linear::mln_ch_convolve_grad(), mln::labeling::pack(), mln::labeling::pack_inplace(), mln::labeling::relabel(), saturate(), mln::data::impl::stretch(), to_enc(), mln::labeling::wrap(), and wrap().

template<typename I1 , typename I2 , typename F >
mln::trait::ch_value< I1, typename F::result >::ret mln::data::transform ( const Image< I1 > &  input1,
const Image< I2 > &  input2,
const Function_vv2v< F > &  f 
) [inline]

Transform two images input1 input2 through a function f.

Parameters:
[in] input1 The 1st input image.
[in] input2 The 2nd input image.
[in] f The function.

This routine runs:
for all p of input, output(p) = f( input1(p), input2(p) ).

template<typename I1 , typename I2 , typename F >
void mln::data::transform_inplace ( Image< I1 > &  ima,
const Image< I2 > &  aux,
const Function_vv2v< F > &  f 
)

Transform inplace the image ima with the image aux through a function f.

Parameters:
[in] ima The image to be transformed.
[in] aux The auxiliary image.
[in] f The function.

This routine runs:
for all p of ima, ima(p) = f( ima(p), aux(p) ).

template<typename I , typename F >
void mln::data::transform_inplace ( Image< I > &  ima,
const Function_v2v< F > &  f 
)

Transform inplace the image ima through a function f.

Parameters:
[in,out] ima The image to be transformed.
[in] f The function.

This routine runs:
for all p of ima, ima(p) = f( ima(p) ).

Referenced by mln::logical::and_inplace(), mln::logical::and_not_inplace(), mln::logical::not_inplace(), mln::logical::or_inplace(), mln::labeling::relabel_inplace(), and mln::logical::xor_inplace().

template<typename A , typename I >
A::result mln::data::update ( Accumulator< A > &  a,
const Image< I > &  input 
) [inline]

Update an accumulator with the pixel values of the image input.

Parameters:
[in] a The accumulator.
[in] input The input image.
Returns:
The accumulator result.
template<typename V , typename I >
mln::trait::ch_value< I, V >::ret mln::data::wrap ( const V &  v,
const Image< I > &  input 
)

Routine to wrap values such as 0 -> 0 and [1, lmax] maps to [1, Lmax] (using modulus).

Parameters:
[in] v The target value type.
[in] input Input image.
Returns:
An image with wrapped values.

References transform().