Direct Graphical Models  v.1.7.0
Decode.h
1 // Base abstract class for random model decoding
2 // Written by Sergey G. Kosov in 2013-2015 for Project X
3 #pragma once
4 
5 #include "types.h"
6 
7 namespace DirectGraphicalModels
8 {
9  class CGraph;
10 
11  // ================================ Decode Class ===============================
17  class CDecode
18  {
19  protected:
24  DllExport CDecode(CGraph &graph) : m_graph(graph) {};
25 
26 
27  public:
28  DllExport virtual ~CDecode(void) {};
38  DllExport virtual vec_byte_t decode(Mat &lossMatrix = EmptyMat) const { return decode(m_graph, lossMatrix); }
49  DllExport static vec_byte_t decode(const CGraph &graph, Mat &lossMatrix = EmptyMat);
58  DllExport static Mat getDefaultLossMatrix(byte nStates);
59 
60 
61  protected:
66  CGraph & getGraph(void) const { return m_graph; }
67 
68 
69  private:
71  };
72 }
CGraph & m_graph
The graph.
Definition: Decode.h:70
CGraph & getGraph(void) const
Returns the reference to the graph.
Definition: Decode.h:66
virtual vec_byte_t decode(Mat &lossMatrix=EmptyMat) const
Approximate decoding.
Definition: Decode.h:38
Interface class for graphical models.
Definition: Graph.h:14
Base abstract class for random model decoding.
Definition: Decode.h:17
virtual ~CDecode(void)
Definition: Decode.h:28
CDecode(CGraph &graph)
Constructor.
Definition: Decode.h:24
static Mat getDefaultLossMatrix(byte nStates)
Returns a default loss matrix .
Definition: Decode.cpp:28