![]() |
IPSDK
4_1_0_2
IPSDK : Image Processing Software Development Kit
|
Algorithm allowing to solve a partial graph bipartite assigment problem. More...
#include <BipartitePartialMatch.h>
Public Member Functions | |
| bool | isInit () const |
| check for object initialization | |
| void | init (const ipUInt32 nbRows, const ipUInt32 nbColumns, const ipReal64 threshold) |
| initialization of algorithm | |
| ipUInt32 | getNbRows () const |
| retrieve number of rows for matrix associated to algorithm More... | |
| ipUInt32 | getNbColumns () const |
| retrieve number of columns for matrix associated to algorithm More... | |
| ipReal64 | getThreshold () const |
| retrieve assignment threshold associated to algorithm More... | |
| ipReal64 * | getWeights (const ipUInt32 rowIdx) |
| method allowing to write matrix row weights associated to a given row index More... | |
| const ipReal64 * | getWeights (const ipUInt32 rowIdx) const |
| retrieve matrix row weights associated to a given row index More... | |
| ipReal64 | getWeight (const ipUInt32 rowIdx, const ipUInt32 columnIdx) const |
| retrieve weight associated to a given row and column index More... | |
| bool | isSolved () const |
| check whether hungarian problem has been solved More... | |
| void | solve () |
| resolution of hungarian problem More... | |
| const UInt32Vector & | getRowAssignments () const |
| retrieve assignments made by algorithm More... | |
| const UInt32Vector & | getColumnAssignments () const |
| retrieve assignments made by algorithm More... | |
| void | clear () |
| method allowing to clear object data | |
Constructors and destructor | |
| BipartitePartialMatch () | |
| ~BipartitePartialMatch () | |
Static Public Member Functions | |
| static ipUInt32 | getUnAssignedValue () |
| retrieve value used for un matched data (un assigned indexes) | |
Protected Attributes | |
| ipUInt32 | _nbRows |
| number of rows for matrix associated to algorithm | |
| ipUInt32 | _nbColumns |
| number of columns for matrix associated to algorithm | |
| ipReal64 | _threshold |
| assignment threshold for algorithm | |
| Real64Vector | _inputWeights |
| input matrix data associated to algorithm | |
| UInt32Vector | _rowAssignments |
| row assignments vector associated to problem solution | |
| UInt32Vector | _columnAssignments |
| column assignments vector associated to problem solution | |
Algorithm allowing to solve a partial graph bipartite assigment problem.
Given two set of data index $fi N
linked by weights
:
or
.
value | ipUInt32 ipsdk::math::BipartitePartialMatch::getNbRows | ( | ) | const |
retrieve number of rows for matrix associated to algorithm
| ipsdk::math::IPSDKMathException | if isInit() == false |
| ipUInt32 ipsdk::math::BipartitePartialMatch::getNbColumns | ( | ) | const |
retrieve number of columns for matrix associated to algorithm
| ipsdk::math::IPSDKMathException | if isInit() == false |
| ipReal64 ipsdk::math::BipartitePartialMatch::getThreshold | ( | ) | const |
retrieve assignment threshold associated to algorithm
| ipsdk::math::IPSDKMathException | if isInit() == false |
method allowing to write matrix row weights associated to a given row index
| ipsdk::math::IPSDKMathException | if rowIdx >= getNbRows() |
retrieve matrix row weights associated to a given row index
| ipsdk::math::IPSDKMathException | if rowIdx >= getNbRows() |
| ipReal64 ipsdk::math::BipartitePartialMatch::getWeight | ( | const ipUInt32 | rowIdx, |
| const ipUInt32 | columnIdx | ||
| ) | const |
retrieve weight associated to a given row and column index
| ipsdk::math::IPSDKMathException | if rowIdx >= getNbRows() |
| ipsdk::math::IPSDKMathException | if columnIdx >= getNbColumns() |
| bool ipsdk::math::BipartitePartialMatch::isSolved | ( | ) | const |
check whether hungarian problem has been solved
| ipsdk::math::IPSDKMathException | if isInit() == false |
| void ipsdk::math::BipartitePartialMatch::solve | ( | ) |
resolution of hungarian problem
| ipsdk::math::IPSDKMathException | if isInit() == false |
| const UInt32Vector& ipsdk::math::BipartitePartialMatch::getRowAssignments | ( | ) | const |
retrieve assignments made by algorithm
| ipsdk::math::IPSDKMathException | if isSolved() == false |
| const UInt32Vector& ipsdk::math::BipartitePartialMatch::getColumnAssignments | ( | ) | const |
retrieve assignments made by algorithm
| ipsdk::math::IPSDKMathException | if isSolved() == false |
1.8.14