opengm::PottsFunction< T, I, L > Class Template Reference
[Function Types]

Potts function for two variables. More...

#include <potts.hxx>

Inheritance diagram for opengm::PottsFunction< T, I, L >:
Inheritance graph
[legend]
Collaboration diagram for opengm::PottsFunction< T, I, L >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef T ValueType
typedef L LabelType
typedef I IndexType

Public Member Functions

 PottsFunction (const LabelType=2, const LabelType=2, const ValueType=ValueType(), const ValueType=ValueType())
LabelType shape (const size_t) const
size_t size () const
size_t dimension () const
template<class ITERATOR >
ValueType operator() (ITERATOR) const
bool operator== (const PottsFunction &) const
ValueType valueEqual () const
ValueType valueNotEqual () const
IndexType numberOfParameters () const
ValueType parameter (const size_t index) const
ValueTypeparameter (const size_t index)
bool isPotts () const
bool isGeneralizedPotts () const
ValueType min () const
ValueType max () const
ValueType sum () const
ValueType product () const
MinMaxFunctor< ValueTypeminMax () const
 find minimum and maximum of the function in a single sweep

Detailed Description

template<class T, class I = size_t, class L = size_t>
class opengm::PottsFunction< T, I, L >

Potts function for two variables.

Examples:

grid_potts.cxx, markov-chain.cxx, and one_to_one_matching.cxx.

Definition at line 19 of file potts.hxx.


Member Typedef Documentation

template<class T, class I = size_t, class L = size_t>
typedef I opengm::PottsFunction< T, I, L >::IndexType

Definition at line 25 of file potts.hxx.

template<class T, class I = size_t, class L = size_t>
typedef L opengm::PottsFunction< T, I, L >::LabelType

Definition at line 24 of file potts.hxx.

template<class T, class I = size_t, class L = size_t>
typedef T opengm::PottsFunction< T, I, L >::ValueType

Definition at line 23 of file potts.hxx.


Constructor & Destructor Documentation

template<class T , class I , class L >
opengm::PottsFunction< T, I, L >::PottsFunction ( const  LabelType = 2,
const  LabelType = 2,
const  ValueType = ValueType(),
const  ValueType = ValueType() 
) [inline]

constructor

Parameters:
numberOfLabels1 number of labels of the first variable
numberOfLabels2 number of labels of the second variable
valueEqual value if the labels of the two variables are equal
valueNotEqual value if the labels of the two variables are not equal

Definition at line 90 of file potts.hxx.


Member Function Documentation

template<class T , class I , class L >
size_t opengm::PottsFunction< T, I, L >::dimension (  )  const [inline]

Definition at line 136 of file potts.hxx.

template<class T , class I , class L >
bool opengm::PottsFunction< T, I, L >::isGeneralizedPotts (  )  const [inline]
template<class T , class I , class L >
bool opengm::PottsFunction< T, I, L >::isPotts (  )  const [inline]
template<class T , class I , class L >
PottsFunction< T, I, L >::ValueType opengm::PottsFunction< T, I, L >::max (  )  const [inline]
template<class T , class I , class L >
PottsFunction< T, I, L >::ValueType opengm::PottsFunction< T, I, L >::min (  )  const [inline]

Reimplemented from opengm::FunctionBase< PottsFunction< T, I, L >, T, size_t, size_t >.

Definition at line 255 of file potts.hxx.

Here is the caller graph for this function:

template<class T , class I , class L >
MinMaxFunctor< typename PottsFunction< T, I, L >::ValueType > opengm::PottsFunction< T, I, L >::minMax (  )  const [inline]

find minimum and maximum of the function in a single sweep

Returns:
class holding the minimum and the maximum

Reimplemented from opengm::FunctionBase< PottsFunction< T, I, L >, T, size_t, size_t >.

Definition at line 293 of file potts.hxx.

template<class T , class I , class L >
PottsFunction< T, I, L >::IndexType opengm::PottsFunction< T, I, L >::numberOfParameters (  )  const [inline]

Definition at line 214 of file potts.hxx.

template<class T , class I , class L >
template<class ITERATOR >
T opengm::PottsFunction< T, I, L >::operator() ( ITERATOR  begin  )  const [inline]

Definition at line 106 of file potts.hxx.

template<class T , class I , class L >
bool opengm::PottsFunction< T, I, L >::operator== ( const PottsFunction< T, I, L > &  fb  )  const [inline]
template<class T , class I , class L >
PottsFunction< T, I, L >::ValueType & opengm::PottsFunction< T, I, L >::parameter ( const size_t  index  )  [inline]

Definition at line 231 of file potts.hxx.

template<class T , class I , class L >
PottsFunction< T, I, L >::ValueType opengm::PottsFunction< T, I, L >::parameter ( const size_t  index  )  const [inline]

Definition at line 221 of file potts.hxx.

template<class T , class I , class L >
PottsFunction< T, I, L >::ValueType opengm::PottsFunction< T, I, L >::product (  )  const [inline]

Reimplemented from opengm::FunctionBase< PottsFunction< T, I, L >, T, size_t, size_t >.

Definition at line 278 of file potts.hxx.

Here is the call graph for this function:

template<class T , class I , class L >
L opengm::PottsFunction< T, I, L >::shape ( const size_t  i  )  const [inline]

Definition at line 127 of file potts.hxx.

template<class T , class I , class L >
size_t opengm::PottsFunction< T, I, L >::size (  )  const [inline]

Definition at line 142 of file potts.hxx.

template<class T , class I , class L >
PottsFunction< T, I, L >::ValueType opengm::PottsFunction< T, I, L >::sum (  )  const [inline]

Reimplemented from opengm::FunctionBase< PottsFunction< T, I, L >, T, size_t, size_t >.

Definition at line 269 of file potts.hxx.

Here is the call graph for this function:

template<class T , class I , class L >
T opengm::PottsFunction< T, I, L >::valueEqual (  )  const [inline]

Definition at line 114 of file potts.hxx.

template<class T , class I , class L >
T opengm::PottsFunction< T, I, L >::valueNotEqual (  )  const [inline]

Definition at line 120 of file potts.hxx.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Mon Jun 17 16:31:10 2013 for OpenGM by  doxygen 1.6.3