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.


Member Typedef Documentation

template<typename I>
typedef I ::value mln::morpho::attribute::sharpness< I >::argument
typedef Accumulator<void> mln::Accumulator< sharpness< I > >::category [inherited]

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

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

Constructor & Destructor Documentation

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

Member Function Documentation

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

Give the area of the component.

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

Give the height.

template<typename I >
void mln::morpho::attribute::sharpness< I >::init (  )  [inline]
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.

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]
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.

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

Give the volume of the component.


Member Data Documentation

The height of the component.

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

The volume of the component.

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