PANDORE Version 6 GREYC-IMAGE

pgaussclassification



Performs gauss clustering on a set of objects.



Synopsis

pgaussclassification attr_base attr_in attr_out [col_base|-] [col_in|-] [col_out|-]

Description

pgaussclassification is a partitioning method for a group of n objects into k clusters. The basic idea supposes that the class distribution has a gaussian distribution, and for each object x to be classified the principle is to find the class that has the maximum probability to contain x.

Practically, pgaussclassification finds the class i that minimizes:

                                                            
   f(x,i) = ln(det A(i)) + t(x - m(i)).A(i)-1.(x - m(i)) - ln(P(i)2)

These values can be calculated from the operator parraycovarmat.

Parameters

Inputs

Outputs

Result

Returns SUCCESS or FAILURE.

Examples

Classifies beans into the jellybean.pan image from sample of each bean stored in the directory 'base' (Unix version).

# Learning
classes=1
for i in base/*.pan
do
    pim2array ind $i /tmp/tmp1 
    parray2array ind.1 Float /tmp/tmp1| parray2array ind.2 Float | parray2array ind.3 Float - a.pan
    parraycovarmat ind ind a.pan i-01.pan
    if [ -f base.pan ]
    then pcolcatenateitem i-01.pan base.pan base.pan
    else cp i-01.pan base.pan
    fi
    classe=`expr $classe + 1`
done
rm /tmp/tmp1

# Classification
pim2array ind jellybeans.pan a.pan
parray2array ind.1 Float a.pan| parray2array ind.2 Float | parray2array ind.3 Float - b.pan
pgaussclassification ind ind ind base.pan b.pan | parray2im $ncol $nrow 0 ind | pim2rg - out.pan

See also

Classification

C++ prototype

Errc PGaussClassification(const std::string &a_base, const Collection &c_base, const std::string &a_in, const Collection &c_in, const std::string &a_out, Collection &c_out);

Version française

Classification utilisant un modèle gaussien.


Author: Alexandre Duret-Lutz