Direct Graphical Models  v.1.7.0
DirectGraphicalModels::CGraph3 Class Reference

Triple graph class. More...

#include <Graph3.h>

Inheritance diagram for DirectGraphicalModels::CGraph3:
Collaboration diagram for DirectGraphicalModels::CGraph3:

Public Member Functions

 CGraph3 (byte nStates)
 Constructor. More...
 
virtual ~CGraph3 (void)
 
void addTriplet (dword Node1, dword Node2, dword Node3)
 Adds an additional directed edge. More...
 
void addTriplet (dword Node1, dword Node2, dword Node3, const Mat &pot)
 Adds an additional directed edge with specified potentional. More...
 
void setTriplet (dword Node1, dword Node2, dword Node3, const Mat &pot)
 Sets or changes the potentional of directed edge. More...
 
- Public Member Functions inherited from DirectGraphicalModels::CGraphPairwise
 CGraphPairwise (byte nStates)
 Constructor. More...
 
virtual ~CGraphPairwise (void)=default
 
void reset (void) override
 Resets the graph. More...
 
size_t addNode (const Mat &pot=EmptyMat) override
 Adds an additional node (with specified potentional) More...
 
void setNode (size_t node, const Mat &pot) override
 Sets or changes the potential of node. More...
 
void getNode (size_t node, Mat &pot) const override
 Returns the node potential. More...
 
void getChildNodes (size_t node, vec_size_t &vNodes) const override
 Returns the set of IDs of the child nodes of the argument node. More...
 
void getParentNodes (size_t node, vec_size_t &vNodes) const override
 Returns the set of IDs of the parent nodes of the argument node. More...
 
size_t getNumNodes (void) const override
 Returns the number of nodes in the graph. More...
 
size_t getNumEdges (void) const override
 Returns the number of edges in the graph. More...
 
void addEdge (size_t srcNode, size_t dstNode, byte group, const Mat &pot) override
 Adds an additional directed edge with specified potentional. More...
 
void setEdge (size_t srcNode, size_t dstNode, const Mat &pot) override
 Sets or changes the potentional of directed edge. More...
 
void setEdges (std::optional< byte > group, const Mat &pot) override
 Sets the potential pot to all edges belonging to group group. More...
 
void getEdge (size_t srcNode, size_t dstNode, Mat &pot) const override
 Returns the edge potential. More...
 
void setEdgeGroup (size_t srcNode, size_t dstNode, byte group) override
 Assigns a directed edge (srcNode) –> (dstNode) to the group group. More...
 
byte getEdgeGroup (size_t srcNode, size_t dstNode) const override
 Returns the group of the edge. More...
 
void removeEdge (size_t srcNode, size_t dstNode) override
 Removes the specified edge. More...
 
bool isEdgeExists (size_t srcNode, size_t dstNode) const override
 Checks whether the edge exists. More...
 
- Public Member Functions inherited from DirectGraphicalModels::IGraphPairwise
 IGraphPairwise (byte nStates)
 Constructor. More...
 
virtual ~IGraphPairwise (void)=default
 
void marginalize (const vec_size_t &nodes)
 Marginalizes a set of nodes. More...
 
void addEdge (size_t srcNode, size_t dstNode, const Mat &pot=EmptyMat)
 Adds an additional directed edge with specified potentional. More...
 
virtual bool isEdgeArc (size_t srcNode, size_t dstNode) const
 Checks whether the edge is a part of an arc. More...
 
void addArc (size_t Node1, size_t Node2, const Mat &pot=EmptyMat)
 Adds an additional udirected edge (arc) with specified potentional. More...
 
virtual void addArc (size_t Node1, size_t Node2, byte group, const Mat &pot)
 Adds an additional udirected edge (arc) with specified potentional. More...
 
virtual void setArc (size_t Node1, size_t Node2, const Mat &pot)
 Sets or changes the potentional of udirected edge (arc) More...
 
virtual void setArcGroup (size_t Node1, size_t Node2, byte group)
 Assigns an undirected edge (arc) (Node1) – (Node2) to the group group. More...
 
virtual void removeArc (size_t Node1, size_t Node2)
 Removes the specified arc. More...
 
virtual bool isArcExists (size_t Node1, size_t Node2) const
 Checks whether the arc exists. More...
 
- Public Member Functions inherited from DirectGraphicalModels::CGraph
 CGraph (byte nStates)
 Constructor. More...
 
 CGraph (const CGraph &)=delete
 
virtual ~CGraph (void)=default
 
const CGraphoperator= (const CGraph &)=delete
 
virtual void addNodes (const Mat &pots)
 Adds the graph nodes with potentials. More...
 
virtual void setNodes (size_t start_node, const Mat &pots)
 Fills the graph nodes with new potentials. More...
 
virtual void getNodes (size_t start_node, size_t num_nodes, Mat &pots) const
 Returns the node potentials. More...
 
byte getNumStates (void) const
 Returns number of states (classes) More...
 

Detailed Description

Triple graph class.

Author
Sergey G. Kosov, serge.nosp@m.y.ko.nosp@m.sov@p.nosp@m.roje.nosp@m.ct-10.nosp@m..de

Definition at line 31 of file Graph3.h.

Constructor & Destructor Documentation

◆ CGraph3()

DirectGraphicalModels::CGraph3::CGraph3 ( byte  nStates)
inline

Constructor.

Parameters
nStatesthe number of States (classes)

Definition at line 38 of file Graph3.h.

◆ ~CGraph3()

virtual DirectGraphicalModels::CGraph3::~CGraph3 ( void  )
inlinevirtual

Definition at line 39 of file Graph3.h.

Member Function Documentation

◆ addTriplet() [1/2]

void DirectGraphicalModels::CGraph3::addTriplet ( dword  Node1,
dword  Node2,
dword  Node3 
)

Adds an additional directed edge.

Parameters
[in]Node1index of the first node
[in]Node2index of the second node
[in]Node3index of the third node

Definition at line 5 of file Graph3.cpp.

◆ addTriplet() [2/2]

void DirectGraphicalModels::CGraph3::addTriplet ( dword  Node1,
dword  Node2,
dword  Node3,
const Mat &  pot 
)

Adds an additional directed edge with specified potentional.

Parameters
[in]Node1index of the first node
[in]Node2index of the second node
[in]Node3index of the third node
[in]potedge potential matrix: Mat(size: nStates x nStates; type: CV_32FC1)

Definition at line 9 of file Graph3.cpp.

◆ setTriplet()

void DirectGraphicalModels::CGraph3::setTriplet ( dword  Node1,
dword  Node2,
dword  Node3,
const Mat &  pot 
)

Sets or changes the potentional of directed edge.

Parameters
[in]Node1index of the first node
[in]Node2index of the second node
[in]Node3index of the third node
[in]potedge potential matrix: Mat(size: nStates x nStates; type: CV_32FC1)

Definition at line 13 of file Graph3.cpp.


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