Public Types | Public Member Functions | Protected Attributes

mln::morpho::attribute::sharpness< I > Struct Template Reference

Sharpness accumulator class. More...

#include <sharpness.hh>

Inheritance diagram for mln::morpho::attribute::sharpness< I >:
Inheritance graph

List of all members.

Public Types

typedef I::value argument
typedef Accumulator< void > category
typedef sharpness< I > exact_t
typedef double q_result
typedef mln::metal::unqualif
< double >::ret 
result

Public Member Functions

unsigned area () const
 Give the area of the component.
unsigned height () const
 Give the height.
bool is_valid () const
 Check whether this accu is able to return a result.
 sharpness ()
double 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".
double to_result () const
 Get the value of the accumulator.
unsigned volume () const
 Give the volume of the component.

void init ()
 Manipulators.
void take (const typename I::value &v)
void take (const sharpness< I > &other)
void take_as_init_ (const typename I::value &v)

Protected Attributes

mln::morpho::attribute::height< I > height_
 The height of the component.
mln::morpho::attribute::volume< I > volume_
 The volume of the component.

Detailed Description

template<typename I>
struct mln::morpho::attribute::sharpness< I >

Sharpness accumulator class.

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

Definition at line 80 of file sharpness.hh.


Member Typedef Documentation

template<typename I>
typedef I ::value mln::morpho::attribute::sharpness< I >::argument

Definition at line 83 of file sharpness.hh.

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

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

Definition at line 80 of file accumulator.hh.

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

Definition at line 173 of file object.hh.

typedef double mln::accu::internal::base< double , sharpness< I > >::q_result [inherited]

Definition at line 58 of file base.hh.

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

Definition at line 59 of file base.hh.


Constructor & Destructor Documentation

template<typename I >
mln::morpho::attribute::sharpness< I >::sharpness (  )  [inline]

Definition at line 126 of file sharpness.hh.

References mln::morpho::attribute::sharpness< I >::init().


Member Function Documentation

template<typename I >
unsigned mln::morpho::attribute::sharpness< I >::area (  )  const [inline]

Give the area of the component.

Definition at line 190 of file sharpness.hh.

template<typename I >
unsigned mln::morpho::attribute::sharpness< I >::height (  )  const [inline]

Give the height.

Definition at line 206 of file sharpness.hh.

template<typename I >
void mln::morpho::attribute::sharpness< I >::init (  )  [inline]

Manipulators.

Definition at line 134 of file sharpness.hh.

Referenced by mln::morpho::attribute::sharpness< I >::sharpness().

template<typename I >
bool mln::morpho::attribute::sharpness< I >::is_valid (  )  const [inline]

Check whether this accu is able to return a result.

Always true here.

Definition at line 214 of file sharpness.hh.

Referenced by mln::morpho::attribute::sharpness< I >::take().

double mln::accu::internal::base< double , sharpness< I > >::subj_ (  )  [inherited]
template<typename I >
void mln::morpho::attribute::sharpness< I >::take ( const typename I::value &  v  )  [inline]
template<typename I >
void mln::morpho::attribute::sharpness< I >::take ( const sharpness< I > &  other  )  [inline]
void mln::Accumulator< sharpness< 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 '_').

template<typename I >
void mln::morpho::attribute::sharpness< I >::take_as_init_ ( const typename I::value &  v  )  [inline]

Definition at line 166 of file sharpness.hh.

Referenced by mln::morpho::attribute::sharpness< I >::take().

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

Default implementation of "take as initialization".

void mln::Accumulator< sharpness< 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< sharpness< I > >::take_n_times_ ( unsigned  n,
const T &  t 
) [inherited]

Default implementation of "take n times".

template<typename I >
double mln::morpho::attribute::sharpness< I >::to_result (  )  const [inline]

Get the value of the accumulator.

Definition at line 175 of file sharpness.hh.

template<typename I >
unsigned mln::morpho::attribute::sharpness< I >::volume (  )  const [inline]

Give the volume of the component.

Definition at line 198 of file sharpness.hh.


Member Data Documentation

The height of the component.

Definition at line 115 of file sharpness.hh.

Referenced by mln::morpho::attribute::sharpness< I >::take().

The volume of the component.

Definition at line 117 of file sharpness.hh.

Referenced by mln::morpho::attribute::sharpness< I >::take().