20 #ifndef MIRTK_FuzzyCorrespondence_H 21 #define MIRTK_FuzzyCorrespondence_H 23 #include "mirtk/PointCorrespondence.h" 25 #include "mirtk/Array.h" 26 #include "mirtk/PointSet.h" 27 #include "mirtk/SparseMatrix.h" 113 virtual bool Set(
const char *,
const char *);
173 virtual void WriteDataSets(
const char *,
const char *,
bool =
true)
const;
180 #endif // MIRTK_FuzzyCorrespondence_H
virtual bool GetSourcePoint(int, Point &) const
Get (transformed) source point corresponding to i-th target (sample) point.
virtual void CalculateClusters()
(Re-)calculate cluster centers from correspondence weights
virtual void Initialize()
Initialize correspondence map.
mirtkReadOnlyAttributeMacro(WeightMatrix, Weight)
Weight matrix of fuzzy point correspondences.
virtual bool Upgrade()
Update correspondence map after convergence.
virtual bool GetInputTargetPoint(int, Point &) const
Get untransformed target point corresponding to i-th source (sample) point.
virtual ~FuzzyCorrespondence()
Destructor.
virtual ParameterList Parameter() const
Get parameter key/value as string map.
virtual ParameterList Parameter() const
Get parameter key/value as string map.
virtual void NormalizeWeights()
Normalize correspondence matrix using Sinkhorn-Knopp algorithm.
Array< Pair< string, string > > ParameterList
Ordered list of parameter name/value pairs.
virtual bool Set(const char *, const char *)
Set parameter value from string.
virtual void WriteDataSets(const char *, const char *, bool=true) const
Write input of data fidelity term.
virtual bool GetTargetPoint(int, Point &) const
Get (transformed) target point corresponding to i-th source (sample) point.
GenericSparseMatrix< float > WeightMatrix
Sparse matrix type used for fuzzy correspondence weights.
mirtkAttributeMacro(PointSet, InputTargetClusters)
Untransformed target clusters corresponding to source points.
FuzzyCorrespondence()
Default constructor.
virtual void CalculateWeights()=0
(Re-)calculate correspondence weights with optional additional outlier row/column ...
virtual void Update()
Update correspondence map.
virtual void Reinitialize()
Reinitialize correspondence map after change of input topology.
mirtkPublicAttributeMacro(double, MinWeight)
Minimum correspondence weight (i.e., threshold used to truncate radial weight function) ...
virtual bool GetInputSourcePoint(int, Point &) const
Get untransformed source point corresponding to i-th target (sample) point.
virtual void AddGaussianNoise()
Add normally distributed noise to correspondence weights.