CluE  1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
CluE::ProxyBasedAgglo< T > Class Template Reference

Agglomerative proxy-based clustering algorithm. More...

#include <proxybasedagglo.h>

Inheritance diagram for CluE::ProxyBasedAgglo< T >:
Inheritance graph
Collaboration diagram for CluE::ProxyBasedAgglo< T >:
Collaboration graph

Public Types

enum  ComputationMode { OnDemand, Precompute }
 On demand computation / pre-computation. More...
 

Public Member Functions

 ProxyBasedAgglo (std::vector< T * > const *=NULL, ProxyGenerator< T > *=NULL, DissimilarityMeasure< T > *=NULL, ComputationMode=OnDemand)
 
 ProxyBasedAgglo (const ProxyBasedAgglo< T > &)
 
ProxyBasedAgglo< T > & operator= (const ProxyBasedAgglo< T > &)
 
virtual ~ProxyBasedAgglo ()
 
virtual DoubleSolution< T > * compute ()
 
virtual void setInput (std::vector< T * > const *)
 
void setGenerator (ProxyGenerator< T > *)
 
virtual void setMeasure (DissimilarityMeasure< T > *)
 
void setMode (int)
 
- Public Member Functions inherited from CluE::Algorithm
virtual ~Algorithm ()
 
- Public Member Functions inherited from CluE::MeasureSetter< T >
virtual void setMeasure (DissimilarityMeasure< T > const *measure)=0
 

Static Public Member Functions

static ProxyBasedAgglo< T > * toProxyBasedAgglo (Algorithm *s)
 Does a dynamic cast of the given Algorithm to ProxyBasedAgglo<T>. More...
 

Private Attributes

std::vector< T * > const * input
 
ProxyGenerator< T > * generator
 
DissimilarityMeasure< T > * measure
 
int mode
 

Detailed Description

template<typename T>
class CluE::ProxyBasedAgglo< T >

Agglomerative proxy-based clustering algorithm.

Algorithm<T> template implementing an agglomerative clustering algorithm based on the computation and comparison of proxies for the computed clusters.

Definition at line 25 of file proxybasedagglo.h.

Member Enumeration Documentation

template<typename T>
enum CluE::ProxyBasedAgglo::ComputationMode

On demand computation / pre-computation.

This enum is used to tell the algorithm via the constructor if the dissimilarities should be computed on demand everytime they are needed or if they should be precomputed, held in memory and be updated whenever a dissimilarity may have changed.

Enumerator
OnDemand 
Precompute 

slow, needs no extra memory

fast, needs more memory

Definition at line 36 of file proxybasedagglo.h.

Constructor & Destructor Documentation

template<typename T >
CluE::ProxyBasedAgglo< T >::ProxyBasedAgglo ( std::vector< T * > const *  data = NULL,
ProxyGenerator< T > *  g = NULL,
DissimilarityMeasure< T > *  m = NULL,
ComputationMode  cm = OnDemand 
)

Definition at line 74 of file proxybasedagglo.h.

template<typename T >
CluE::ProxyBasedAgglo< T >::ProxyBasedAgglo ( const ProxyBasedAgglo< T > &  rhs)

Definition at line 80 of file proxybasedagglo.h.

template<typename T >
CluE::ProxyBasedAgglo< T >::~ProxyBasedAgglo ( )
virtual

Definition at line 101 of file proxybasedagglo.h.

Member Function Documentation

template<typename T >
ProxyBasedAgglo< T > & CluE::ProxyBasedAgglo< T >::operator= ( const ProxyBasedAgglo< T > &  rhs)

Definition at line 86 of file proxybasedagglo.h.

template<typename T >
DoubleSolution< T > * CluE::ProxyBasedAgglo< T >::compute ( )
virtual
Exceptions
InvalidRuntimeConfigurationException[0] Input is NULL.
InvalidRuntimeConfigurationException[1] Dissimilarity measure is NULL.
InvalidRuntimeConfigurationException[2] Proxy generator is NULL.

Implements CluE::Algorithm.

Definition at line 107 of file proxybasedagglo.h.

template<typename T >
void CluE::ProxyBasedAgglo< T >::setInput ( std::vector< T * > const *  data)
virtual

Implements CluE::InputSetter< T >.

Definition at line 232 of file proxybasedagglo.h.

template<typename T >
void CluE::ProxyBasedAgglo< T >::setGenerator ( ProxyGenerator< T > *  g)

Definition at line 237 of file proxybasedagglo.h.

template<typename T >
void CluE::ProxyBasedAgglo< T >::setMeasure ( DissimilarityMeasure< T > *  m)
virtual

Definition at line 242 of file proxybasedagglo.h.

template<typename T >
void CluE::ProxyBasedAgglo< T >::setMode ( int  m)

Definition at line 247 of file proxybasedagglo.h.

template<typename T >
ProxyBasedAgglo< T > * CluE::ProxyBasedAgglo< T >::toProxyBasedAgglo ( Algorithm s)
static

Does a dynamic cast of the given Algorithm to ProxyBasedAgglo<T>.

Returns
NULL if the Algorithm is not a ProxyBasedAgglo<T> instance

Definition at line 252 of file proxybasedagglo.h.

Member Data Documentation

template<typename T>
std::vector<T*> const* CluE::ProxyBasedAgglo< T >::input
private

Definition at line 68 of file proxybasedagglo.h.

template<typename T>
ProxyGenerator<T>* CluE::ProxyBasedAgglo< T >::generator
private

Definition at line 69 of file proxybasedagglo.h.

template<typename T>
DissimilarityMeasure<T>* CluE::ProxyBasedAgglo< T >::measure
private

Definition at line 70 of file proxybasedagglo.h.

template<typename T>
int CluE::ProxyBasedAgglo< T >::mode
private

Definition at line 71 of file proxybasedagglo.h.


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