#include <MatchCost+.hh>
Public Methods | |
MatchCost (SubGraph *Graph1, SubGraph *Graph2) | |
constructor Allocating memory and creating a Divergence object. | |
virtual | ~MatchCost () |
destructor desAllocating memory. | |
void | FixCostFuncWeigths (float weightMTinTLDiff, float TL1TL2Div, float flowDiff, float divDiff, float MIDiff, float divMTaMTbCost, float timeDiff, bool meanCalcul) |
This method introduce in the similarity model a given parameter vector. This method fixes also another parameter specific to the matching calculus. More... | |
void | UpdateGraph2 (SubGraph *Graph2) |
Method to update the pointer to a new candidate SubGraph Object. | |
float | InexactMatchCost (int nbMiniBranches, SearchTree *searchTree, float *costs) |
Method to match the reference sub-graph with the candidate sub-graph based on the parametric similarity model. More... | |
Public Attributes | |
float | factor_weightMTinTLDiff |
parameter weighting the population of each nodes. | |
float | factor_TL1TL2Div |
similarity model parameter weighting the nodes' distribution. | |
float | factor_flowDiff |
similarity model parameter weighting the flow of pixels exchanged between nodes. | |
float | factor_divDiff |
similarity model parameter weighting the change in time of the nodes' distribution. | |
float | factor_MIDiff |
similarity model parameter weighting the intra-node change in time. | |
float | factor_divMTaMTbCost |
similarity model parameter weighting the interaction of the 2 MT classes (only if 2 MT class are consideredper sub-graph). | |
float | factor_timeDiff |
similarity model parameter weighting the time lattice on which the sub-graph is defined. | |
float | meanCalculation |
mean calculation '1' or Kullback-Leibler divergence '0' used in the matching nodes and edges comparisons. More... | |
Private Methods | |
void | LoadTL1TL2MeanCov (int time, int nodek1, int nodek2) |
method to load a node of the reference graph at time sample (t) and a node of the candidate graph at time sample (t). | |
void | LoadTL1MT2MeanCov (int time, int nodek1, int MTk2) |
method to load one node of the reference graph at time sample (t) and a MT class node related to the candidate graph at time sample (t). | |
void | LoadTL2preMT2MeanCov (int time, int nodek1, int MTk2) |
method to load one node of the candidate graph at time sample (t) and a MT class node related to the candidate graph at time sample (t-1). | |
void | LoadpreTL2MT2MeanCov (int time, int nodek1, int MTk2) |
method to load one nodes of the candidate graph at time sample (t-1) and a MT class node related to the candidate graph at time sample (t). | |
void | LoadpreMT2MT2MeanCov (int time, int preMTk2, int MTk2) |
method to load a MT class node related to the candidate graph at time sample (t-1) and a MT class node related to the candidate graph at time sample (t-1). | |
void | LoadMT1aMT1bMeanCov (int time, int MTk1, int MTk2) |
method to load a MT class node related to the reference graph at time sample (t) and a MT class node related to the reference graph at time sample (t). | |
void | LoadMT2aMT2bMeanCov (int time, int MTk1, int MTk2) |
method to load a MT class node related to the candidate graph at time sample (t) and a MT class node related to the candidate graph at time sample (t). | |
void | LoadTL1preTL1MeanCov (int time, int nodek1, int preNodek1) |
method to load a node of the reference graph at time sample (t) and a node od the the reference graph at time sample (t-1). | |
void | LoadTL2preTL2MeanCov (int time, int nodek2, int preNodek2) |
method to load a node of the candidate graph at time sample (t-1) and a node od the the candidate graph at time sample (t-1). | |
bool | CheckMTCoherentEdge1 (int time, int MTk1, int k, int nodek1) |
method to check if the edge related to a node to match of the reference graph are associated to the same MT class as the other previously matched nodes . | |
bool | CheckMTCoherentEdge2 (int time, int MTk2, int k, int nodek2) |
method to check if the edge related to a node to match of the candidate graph are associated to the same MT class as the other previously matched nodes . | |
Private Attributes | |
SubGraph * | subGraph1 |
reference SubGraph Object for matching. | |
SubGraph * | subGraph2 |
candidate SubGraph Object to match with the reference sub-graph. | |
bool | meanCalcul |
mean calculation 'true' or Kullback-Leibler divergence 'false' used in the matching nodes and edges comparison. More... | |
Divergence * | divObject |
divergence objects. | |
float ** | C_A |
Current covariance matrice considered for divergence. | |
float * | M_A |
Current mean vector considered for divergence. | |
float ** | C_B |
Current covariance matrice considered for divergence. | |
float * | M_B |
Current mean vector considered for divergence. |
Definition at line 28 of file MatchCost+.hh.
|
This method introduce in the similarity model a given parameter vector. This method fixes also another parameter specific to the matching calculus.
Definition at line 113 of file MatchCost+.hh. |
|
Method to match the reference sub-graph with the candidate sub-graph based on the parametric similarity model.
The idea of this algorithm is to find a collection of elementary transformation wich maps, with a minimal cost, each node and related edges of the reference graph to an existing node or a virtual node of the sub-graph candidate at the same time sample.
Definition at line 151 of file MatchCost+.hh. |
|
mean calculation 'true' or Kullback-Leibler divergence 'false' used in the matching nodes and edges comparison. We remark that the Kullback-Leibler divergence is not adapted to the actual graph format 2, in which the divergence calculation is replaced by a simple distribution mean difference Definition at line 67 of file MatchCost+.hh. |
|
mean calculation '1' or Kullback-Leibler divergence '0' used in the matching nodes and edges comparisons. We remark that the Kullback-Leibler divergence is not adapted to the actual graph format 2, in which the divergence calculation is replaced by a simple distribution mean difference Definition at line 54 of file MatchCost+.hh. |