LTI-Lib latest version v1.9 - last update 10 Apr 2010

lti::regionGraphFunctor< G >::parameters Class Reference

the parameters for the class regionGraphFunctor More...

#include <ltiRegionGraphFunctor.h>

Inheritance diagram for lti::regionGraphFunctor< G >::parameters:
Inheritance graph
[legend]
Collaboration diagram for lti::regionGraphFunctor< G >::parameters:
Collaboration graph
[legend]

List of all members.

Public Types

enum  eMergeMode { Fast, Optimal }

Public Member Functions

 parameters (const eMergeMode &mode=Fast, const weight_type &threshold=weight_type())
 parameters (const parameters &other)
 ~parameters ()
const char * getTypeName () const
parameterscopy (const parameters &other)
parametersoperator= (const parameters &other)
virtual functor::parametersclone () const
virtual bool write (ioHandler &handler, const bool complete=true) const
virtual bool read (ioHandler &handler, const bool complete=true)

Public Attributes

eMergeMode mergeMode
weight_type mergeThreshold
int minRegionNumber

Detailed Description

template<class G>
class lti::regionGraphFunctor< G >::parameters

the parameters for the class regionGraphFunctor


Member Enumeration Documentation

Type used to specify how to merge regions.

Enumerator:
Fast 

Fast method, which does not recompute distances.

Only the initial values are used.

Optimal 

Slower method, which recomputes distances when two regions are merged.


Constructor & Destructor Documentation

template<class G>
lti::regionGraphFunctor< G >::parameters::parameters ( const eMergeMode mode = Fast,
const weight_type threshold = weight_type() 
) [inline]
template<class G>
lti::regionGraphFunctor< G >::parameters::parameters ( const parameters other  )  [inline]

copy constructor

Parameters:
other the parameters object to be copied

References lti::regionGraphFunctor< G >::parameters::copy().

template<class G>
lti::regionGraphFunctor< G >::parameters::~parameters (  )  [inline, virtual]

destructor

Reimplemented from lti::functor::parameters.


Member Function Documentation

template<class G>
virtual functor::parameters* lti::regionGraphFunctor< G >::parameters::clone (  )  const [inline, virtual]

returns a pointer to a clone of the parameters

Implements lti::functor::parameters.

References lti::functor::parameters::parameters().

template<class G>
parameters& lti::regionGraphFunctor< G >::parameters::copy ( const parameters other  )  [inline]
template<class G>
const char* lti::regionGraphFunctor< G >::parameters::getTypeName ( void   )  const [inline, virtual]

returns name of this type

Reimplemented from lti::functor::parameters.

template<class G>
parameters& lti::regionGraphFunctor< G >::parameters::operator= ( const parameters other  )  [inline]

copy the contents of a parameters object

Parameters:
other the parameters object to be copied
Returns:
a reference to this parameters object

References lti::regionGraphFunctor< G >::parameters::copy().

template<class G>
virtual bool lti::regionGraphFunctor< G >::parameters::read ( ioHandler handler,
const bool  complete = true 
) [inline, virtual]

read the parameters from the given ioHandler

Parameters:
handler the ioHandler to be used
complete if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written.
Returns:
true if write was successful

Reimplemented from lti::functor::parameters.

References lti::regionGraphFunctor< G >::parameters::Fast, lti::regionGraphFunctor< G >::parameters::mergeMode, lti::regionGraphFunctor< G >::parameters::mergeThreshold, lti::regionGraphFunctor< G >::parameters::minRegionNumber, lti::regionGraphFunctor< G >::parameters::Optimal, lti::ioHandler::readBegin(), and lti::ioHandler::readEnd().

template<class G>
virtual bool lti::regionGraphFunctor< G >::parameters::write ( ioHandler handler,
const bool  complete = true 
) const [inline, virtual]

write the parameters in the given ioHandler

Parameters:
handler the ioHandler to be used
complete if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written.
Returns:
true if write was successful

Reimplemented from lti::functor::parameters.

References lti::regionGraphFunctor< G >::parameters::Fast, lti::regionGraphFunctor< G >::parameters::mergeMode, lti::regionGraphFunctor< G >::parameters::mergeThreshold, lti::regionGraphFunctor< G >::parameters::minRegionNumber, lti::regionGraphFunctor< G >::parameters::Optimal, lti::ioHandler::writeBegin(), and lti::ioHandler::writeEnd().


Member Data Documentation

Merge strategy to be used:

  • Fast: freezes the graph weights, recomputing them only if necessary (when you merge A and B, and both had edges to an edge C, the new edge will be computed automatically using the method += of the G::edge_data_type::operator+=).

No distances between nodes will be recomputed, saving lots of time. Additionally, the merge order of nodes is

  • Optimal: When two nodes are merged, their data and the weights of the edges to all neighbors will be recomputed. This will change the merge order, which always chooses to merge the nodes with the smallest distance.

Referenced by lti::regionGraphFunctor< G >::parameters::copy(), lti::regionGraphFunctor< G >::parameters::parameters(), lti::regionGraphFunctor< G >::parameters::read(), and lti::regionGraphFunctor< G >::parameters::write().

For the merge methods, this is the maximal weight between two nodes allowed.

This means, edges with weights larger than this value won't be merged.

Very low values will produce an oversegmentation, larger values produce undersegmentations.

Default value: weight_type()

Referenced by lti::regionGraphFunctor< G >::parameters::copy(), lti::regionGraphFunctor< G >::parameters::parameters(), lti::regionGraphFunctor< G >::parameters::read(), and lti::regionGraphFunctor< G >::parameters::write().

Minimum number of regions.

The merge operation can be controled by the merge-threshold, but if it is set too large, the final result would contain just one node. This parameter allows you to specify the minimal number of nodes the graph has to retain after merging. Of course, if the input graph has already less nodes than the number specified here, then nothing will be done.

Default value: 1

Referenced by lti::regionGraphFunctor< G >::parameters::copy(), lti::regionGraphFunctor< G >::parameters::parameters(), lti::regionGraphFunctor< G >::parameters::read(), and lti::regionGraphFunctor< G >::parameters::write().


The documentation for this class was generated from the following file:

Generated on Sat Apr 10 15:27:46 2010 for LTI-Lib by Doxygen 1.6.1