Volume accumulator class. More...
#include <volume.hh>
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. |
Volume accumulator class.
The parameter I
is the image type on which the accumulator of pixels is built.
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
typedef Accumulator<void> mln::Accumulator< volume< I > >::category [inherited] |
Reimplemented from mln::Proxy< volume< I > >.
typedef volume< I > mln::Object< volume< I > >::exact_t [inherited] |
typedef unsigned mln::accu::internal::base< unsigned , volume< I > >::q_result [inherited] |
typedef mln::metal::unqualif< unsigned >::ret mln::accu::internal::base< unsigned , volume< I > >::result [inherited] |
typedef argument::value mln::accu::shape::volume< I >::value |
The value type associated to the pixel type.
mln::accu::shape::volume< I >::volume | ( | ) | [inline] |
References mln::accu::shape::volume< I >::init().
void mln::accu::shape::volume< I >::init | ( | ) | [inline] |
Manipulators.
References mln::accu::shape::volume< I >::area__, mln::accu::shape::volume< I >::ref_level__, mln::accu::shape::volume< I >::volume_, and mln::literal::zero.
Referenced by mln::accu::shape::volume< I >::volume().
bool mln::accu::shape::volume< I >::is_valid | ( | ) | const [inline] |
Check whether this accu is able to return a result.
Always true here.
void mln::accu::shape::volume< I >::set_value | ( | unsigned | v | ) | [inline] |
Force the value of the counter to v.
References mln::accu::shape::volume< I >::area__, mln::accu::shape::volume< I >::ref_level__, mln::accu::shape::volume< I >::volume_, and mln::literal::zero.
unsigned mln::accu::internal::base< unsigned , volume< I > >::subj_ | ( | ) | [inherited] |
void mln::accu::shape::volume< I >::take | ( | const argument & | pixel | ) | [inline] |
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".
unsigned mln::accu::shape::volume< I >::to_result | ( | ) | const [inline] |
Get the value of the accumulator.
References mln::accu::shape::volume< I >::volume_.
unsigned mln::accu::shape::volume< I >::area__ [protected] |
The area of the component.
Referenced by mln::accu::shape::volume< I >::init(), mln::accu::shape::volume< I >::set_value(), and mln::accu::shape::volume< I >::take().
value mln::accu::shape::volume< I >::ref_level__ [protected] |
The reference level (the level of the component's root).
Referenced by mln::accu::shape::volume< I >::init(), mln::accu::shape::volume< I >::set_value(), and mln::accu::shape::volume< I >::take().
unsigned mln::accu::shape::volume< I >::volume_ [protected] |
The volume of the component.
Referenced by mln::accu::shape::volume< I >::init(), mln::accu::shape::volume< I >::set_value(), mln::accu::shape::volume< I >::take(), and mln::accu::shape::volume< I >::to_result().