AURobotServers
4
|
#include <ufuzzypixel.h>
Public Member Functions | |
virtual bool | addCovariance (int clust, double m, UMatrix *mF, UMatrix *mV, double *membSum) |
virtual bool | addPosition (int clust, double m, UMatrix *mAvg, double *membSum) |
virtual int | getClass (int clustCnt) |
virtual int | getMaxClusterCnt () |
virtual double | getMembValue (int clust) |
virtual double | getMembValueChange (int clustCnt) |
virtual int | getVectorSize () |
virtual void | print (const char *prestring, int clustCnt) |
virtual void | seedRandom (int clustCnt) |
virtual bool | setDistance (int clust, UMatrix *mAi, UMatrix *mV) |
virtual void | setMembValue (double value, int clust) |
void | setPixel (UPixel *pixRef) |
UFuzzyPixel () | |
virtual void | updateMembValue (double m, int clustCnt) |
~UFuzzyPixel () | |
Public Member Functions inherited from UFuzzyElement | |
UFuzzyElement () | |
virtual | ~UFuzzyElement () |
Protected Attributes | |
double | d [MAX_CLUSTER_CNT] |
double | mu1 [MAX_CLUSTER_CNT] |
double | mu2 [MAX_CLUSTER_CNT] |
UPixel * | pix |
Static Protected Attributes | |
static const int | MAX_CLUSTER_CNT = 4 |
Fuzzy classification of pixel colour
UFuzzyPixel::UFuzzyPixel | ( | ) |
Constructor
References MAX_CLUSTER_CNT, mu1, and mu2.
UFuzzyPixel::~UFuzzyPixel | ( | ) |
Destructor
|
virtual |
Add the squared distance from this cluster center weighted with the membership value, and add membership value to 'membSum'. weight and membership value must be raised to power m. If 'clust' < 0, then membershib is set to 1.0.
Reimplemented from UFuzzyElement.
References UMatrix::add(), UMatrix::getData(), mu1, UMatrix::mult(), UPixel::p1, UPixel::p2, UPixel::p3, pix, and UMatrix::setSize().
Referenced by getMembValue().
|
virtual |
Add Position vector to this vector, veightet with the membership value to power m. Add the membership value (to power m) to membSum. Returns false if an error is detected. If 'clust' < 0, then membershib is set to 1.0.
Reimplemented from UFuzzyElement.
References UMatrix::getData(), mu1, UPixel::p1, UPixel::p2, UPixel::p3, and pix.
Referenced by getMembValue().
|
virtual |
Get class for this element
Reimplemented from UFuzzyElement.
References mu1.
Referenced by getMembValue(), and print().
|
virtual |
Get maximum number of clusters this element type can be split into
Reimplemented from UFuzzyElement.
References MAX_CLUSTER_CNT.
Referenced by getMembValue().
|
inlinevirtual |
Get membership value of cluster 'cluster'
Reimplemented from UFuzzyElement.
References addCovariance(), addPosition(), getClass(), getMaxClusterCnt(), getMembValueChange(), getVectorSize(), mu1, seedRandom(), setDistance(), setMembValue(), and updateMembValue().
|
virtual |
Get membership change value from last iteration
Reimplemented from UFuzzyElement.
References getVectorSize(), mu1, mu2, and sqr().
Referenced by getMembValue().
|
virtual |
Get vector size of element position
Reimplemented from UFuzzyElement.
Referenced by getMembValue(), and getMembValueChange().
|
virtual |
Print values
Reimplemented from UFuzzyElement.
References d, getClass(), mu1, UPixel::p1, UPixel::p2, UPixel::p3, and pix.
Referenced by UClientFuncImgGui::doFuzzyClassify(), and setPixel().
|
virtual |
Seet the element with random membership values
Reimplemented from UFuzzyElement.
References mu1.
Referenced by getMembValue().
Set distance to cluster 'cluster'. Returns false if parameter errors were found.
Reimplemented from UFuzzyElement.
References d, UMatrix::get(), UMatrix::getData(), UPixel::p1, UPixel::p2, UPixel::p3, pix, and UMatrix::setSize().
Referenced by getMembValue().
|
virtual |
Set membership value for a cluster
Reimplemented from UFuzzyElement.
References mu1.
Referenced by getMembValue().
|
inline |
Set pixel value
Referenced by UClientFuncImgGui::doFuzzyClassify(), UClientFuncImgGui::getPixelClass(), UFuncFz::getPixelClass(), UFuncFz::initializeClassesFromLine(), UFuncFz::loadNewImage(), testFuzzySplit(), and testFuzzySplit2().
|
virtual |
Update participation value based on distance to cluset and this weight exponent value (e.g. 1.3), must be > 1.0. Returns false if there is calculation errors.
Reimplemented from UFuzzyElement.
Referenced by getMembValue().
|
protected |
Mahalanobis distance to cluster center
Referenced by print(), setDistance(), and updateMembValue().
|
staticprotected |
Vector size
Referenced by getMaxClusterCnt(), and UFuzzyPixel().
|
protected |
Membership value for each cluster
Referenced by addCovariance(), addPosition(), getClass(), getMembValue(), getMembValueChange(), print(), seedRandom(), setMembValue(), UFuzzyPixel(), and updateMembValue().
|
protected |
Membership value for each cluster in last iteration
Referenced by getMembValueChange(), UFuzzyPixel(), and updateMembValue().
|
protected |
Pixel value
Referenced by addCovariance(), addPosition(), print(), setDistance(), and setPixel().