Public Types | Public Member Functions | Protected Attributes

mln::accu::shape::volume< I > Struct Template Reference
[On images]

Volume accumulator class. More...

#include <volume.hh>

Inheritance diagram for mln::accu::shape::volume< I >:
Inheritance graph

List of all members.

Public Types

typedef util::pix< I > argument
 The accumulated data type.
typedef Accumulator< void > category
typedef volume< I > exact_t
typedef unsigned q_result
typedef mln::metal::unqualif
< unsigned >::ret 
result
typedef argument::value value
 The value type associated to the pixel type.

Public Member Functions

bool is_valid () const
 Check whether this accu is able to return a result.
unsigned subj_ ()
void take_as_init (const T &t)
 Take as initialization the value t.
void take_as_init_ (const T &t)
 Default implementation of "take as initialization".
void take_n_times (unsigned n, const T &t)
 Take n times the value t.
void take_n_times_ (unsigned n, const T &t)
 Default implementation of "take n times".
unsigned to_result () const
 Get the value of the accumulator.
 volume ()

void init ()
 Manipulators.
void take (const argument &pixel)
void take (const volume< I > &other)
void set_value (unsigned v)
 Force the value of the counter to v.

Protected Attributes

unsigned area__
 The area of the component.
value ref_level__
 The reference level (the level of the component's root).
unsigned volume_
 The volume of the component.

Detailed Description

template<typename I>
struct mln::accu::shape::volume< I >

Volume accumulator class.

The parameter I is the image type on which the accumulator of pixels is built.

Definition at line 66 of file accu/shape/volume.hh.


Member Typedef Documentation

template<typename I>
typedef util::pix<I> mln::accu::shape::volume< I >::argument

The accumulated data type.

The volume of component is represented by the volume of its root pixel. See mln::morpho::closing_volume and mln::morpho::opening_volume for actual uses of this accumulator. FIXME: Replaced by mln::morpho::attribute::volume

Definition at line 76 of file accu/shape/volume.hh.

typedef Accumulator<void> mln::Accumulator< volume< I > >::category [inherited]

Reimplemented from mln::Proxy< volume< I > >.

Definition at line 80 of file accumulator.hh.

typedef volume< I > mln::Object< volume< I > >::exact_t [inherited]

Definition at line 173 of file object.hh.

typedef unsigned mln::accu::internal::base< unsigned , volume< I > >::q_result [inherited]

Definition at line 58 of file base.hh.

typedef mln::metal::unqualif< unsigned >::ret mln::accu::internal::base< unsigned , volume< I > >::result [inherited]

Definition at line 59 of file base.hh.

template<typename I>
typedef argument::value mln::accu::shape::volume< I >::value

The value type associated to the pixel type.

Definition at line 78 of file accu/shape/volume.hh.


Constructor & Destructor Documentation

template<typename I >
mln::accu::shape::volume< I >::volume (  )  [inline]

Definition at line 140 of file accu/shape/volume.hh.

References mln::accu::shape::volume< I >::init().


Member Function Documentation

template<typename I >
void mln::accu::shape::volume< I >::init (  )  [inline]
template<typename I >
bool mln::accu::shape::volume< I >::is_valid (  )  const [inline]

Check whether this accu is able to return a result.

Always true here.

Definition at line 215 of file accu/shape/volume.hh.

template<typename I >
void mln::accu::shape::volume< I >::set_value ( unsigned  v  )  [inline]
unsigned mln::accu::internal::base< unsigned , volume< I > >::subj_ (  )  [inherited]
template<typename I >
void mln::accu::shape::volume< I >::take ( const argument pixel  )  [inline]
template<typename I >
void mln::accu::shape::volume< I >::take ( const volume< I > &  other  )  [inline]
void mln::Accumulator< volume< I > >::take_as_init ( const T &  t  )  [inherited]

Take as initialization the value t.

Dev note: this is a final method; override if needed by take_as_init_ (ending with '_').

void mln::Accumulator< volume< I > >::take_as_init_ ( const T &  t  )  [inherited]

Default implementation of "take as initialization".

void mln::Accumulator< volume< I > >::take_n_times ( unsigned  n,
const T &  t 
) [inherited]

Take n times the value t.

Dev note: this is a final method; override if needed by take_as_init_ (ending with '_').

void mln::Accumulator< volume< I > >::take_n_times_ ( unsigned  n,
const T &  t 
) [inherited]

Default implementation of "take n times".

template<typename I >
unsigned mln::accu::shape::volume< I >::to_result (  )  const [inline]

Get the value of the accumulator.

Definition at line 196 of file accu/shape/volume.hh.

References mln::accu::shape::volume< I >::volume_.


Member Data Documentation

template<typename I>
unsigned mln::accu::shape::volume< I >::area__ [protected]
template<typename I>
value mln::accu::shape::volume< I >::ref_level__ [protected]

The reference level (the level of the component's root).

Definition at line 101 of file accu/shape/volume.hh.

Referenced by mln::accu::shape::volume< I >::init(), mln::accu::shape::volume< I >::set_value(), and mln::accu::shape::volume< I >::take().

template<typename I>
unsigned mln::accu::shape::volume< I >::volume_ [protected]