OpenGM  2.3.x
Discrete Graphical Model Library
opengmpython.hxx
Go to the documentation of this file.
1 #ifndef OPENGM_PYTHON_EXPORT_TYPEDEFS_HXX
2 #define OPENGM_PYTHON_EXPORT_TYPEDEFS_HXX
3 
4 #include <map>
5 
9 
20 
25 
26 
27 #include <algorithm>
28 #include <vector>
29 #include <cmath>
30 
31 
32 
33 
34 namespace opengm{
35 namespace python{
36 
37 
38  template<class V,class I,class O,class F>
39  struct GmGen{
42  };
43  template<class V,class I>
44  struct ETLGen{
46  };
47 
48  template<class V,class I>
49  struct FTLGen{
50 
51  typedef V ValueType;
52  typedef I IndexType;
53  typedef I LabelType;
62 
63  typedef typename opengm::meta::TypeListGenerator<
71  PyPythonFunction
73  };
74 
75 
76 
77  typedef double GmValueType;
79  typedef GmIndexType GmLabelType;
80 
81 
82 
83  // different function types
94 
95  typedef std::vector<GmIndexType> IndexVectorType;
96  typedef std::vector<IndexVectorType> IndexVectorVectorType;
97 
98  typedef GmGen<
100  GmIndexType,
101  opengm::Adder ,
103  >::type GmAdder;
104 
106  typedef FactorGmAdder GmAdderFactor;
107 
108  typedef GmGen<
109  GmValueType,
110  GmIndexType,
113  >::type GmMultiplier;
114 
116 
117  typedef FactorGmMultiplier GmMultiplierFactor;
118 
120 
121  namespace pyenums{
126  };
130  };
134  };
135 
137  VIEW=0, TABLES=1, TL1=2, TL2=3
138  };
139  }
140 
141 }
142 }
143 
144 #endif /* OPENGM_PYTHON_EXPORT_TYPEDEFS_HXX */
145 
opengm::PottsNFunction< GmValueType, GmIndexType, GmLabelType > GmPottsNFunction
The OpenGM namespace.
Definition: config.hxx:43
opengm::TruncatedAbsoluteDifferenceFunction< GmValueType, GmIndexType, GmLabelType > GmTruncatedAbsoluteDifferenceFunction
GmGen< GmValueType, GmIndexType, opengm::Multiplier, FTLGen< GmValueType, GmIndexType >::type >::type GmMultiplier
opengm::SparseFunction< ValueType, IndexType, LabelType > PySparseFunction
Multiplication as a binary operation.
Definition: multiplier.hxx:12
FactorGmAdder GmAdderFactor
Addition as a binary operation.
Definition: adder.hxx:10
Discrete space in which variables can have differently many labels.
Factor (with corresponding function and variable indices), independent of a GraphicalModel.
opengm::PottsFunction< ValueType, IndexType, LabelType > PyPottsFunction
opengm::AbsoluteDifferenceFunction< GmValueType, GmIndexType, GmLabelType > GmAbsoluteDifferenceFunction
opengm::IndependentFactor< GmValueType, GmIndexType, GmIndexType > GmIndependentFactor
squared difference of the labels of two variables
Absolute difference between two labels.
opengm::PottsGFunction< GmValueType, GmIndexType, GmLabelType > GmPottsGFunction
GmMultiplier::FactorType FactorGmMultiplier
opengm::ExplicitFunction< ValueType, IndexType, LabelType > PyExplicitFunction
std::vector< GmIndexType > IndexVectorType
opengm::SquaredDifferenceFunction< GmValueType, GmIndexType, GmLabelType > GmSquaredDifferenceFunction
detail_types::UInt64Type UInt64Type
uint64
Definition: config.hxx:300
FactorGmMultiplier GmMultiplierFactor
opengm::python::PythonFunction< GmValueType, GmIndexType, GmLabelType > GmPythonFunction
truncated absolute differents between the labels of 2 variables
Abstraction (wrapper class) of factors, independent of the function used to implement the factor...
Function encoded as a dense multi-dimensional array, marray::Marray.
opengm::TruncatedAbsoluteDifferenceFunction< ValueType, IndexType, LabelType > PyTruncatedAbsoluteDifferenceFunction
GmGen< GmValueType, GmIndexType, opengm::Adder, FTLGen< GmValueType, GmIndexType >::type >::type GmAdder
GmAdder::FactorType FactorGmAdder
opengm::PottsFunction< GmValueType, GmIndexType, GmLabelType > GmPottsFunction
opengm::TruncatedSquaredDifferenceFunction< ValueType, IndexType, LabelType > PyTruncatedSquaredDifferenceFunction
GmIndexType GmLabelType
opengm::GraphicalModel< V, O, F, SpaceType > type
std::vector< IndexVectorType > IndexVectorVectorType
truncated squared difference of the labels of two variables
Generalized Potts Function.
Definition: pottsg.hxx:36
PythonFunction< ValueType, IndexType, LabelType > PyPythonFunction
Potts function for two variables.
Definition: potts.hxx:19
opengm::UInt64Type GmIndexType
opengm::DiscreteSpace< I, I > SpaceType
opengm::TruncatedSquaredDifferenceFunction< GmValueType, GmIndexType, GmLabelType > GmTruncatedSquaredDifferenceFunction
opengm::ExplicitFunction< GmValueType, GmIndexType, GmLabelType > GmExplicitFunction
opengm::ExplicitFunction< V,I, I > type
Potts function in N variables.
Definition: pottsn.hxx:18
opengm::SparseFunction< GmValueType, GmIndexType, GmLabelType > GmSparseFunction
opengm::PottsGFunction< ValueType, IndexType, LabelType > PyPottsGFunction
opengm::PottsNFunction< ValueType, IndexType, LabelType > PyPottsNFunction
opengm::meta::TypeListGenerator< PyExplicitFunction, PyPottsFunction, PyPottsNFunction, PyPottsGFunction, PyTruncatedAbsoluteDifferenceFunction, PyTruncatedSquaredDifferenceFunction, PySparseFunction, PyPythonFunction >::type type