Loading...
Searching...
No Matches
c_sum2.c
Go to the documentation of this file.
/*!
\file cluster/c_sum2.c
\brief Cluster library - Sum of squares
(C) 2001-2009 by the GRASS Development Team
This program is free software under the GNU General Public License
(>=v2). Read the file COPYING that comes with GRASS for details.
\author Original author CERL
*/
#include <grass/cluster.h>
/*!
\brief Compute sum of squares for each class
\param C pointer to Cluster structure
\return 0
*/
int I_cluster_sum2(struct Cluster *C)
{
int p, band, class;
double q;
G_debug(3, "I_cluster_sum2(npoints=%d,nclasses=%d,nbands=%d)", C->npoints,
C->nclasses, C->nbands);
for (class = 0; class < C->nclasses; class++)
for (band = 0; band < C->nbands; band++)
C->sum2[band][class] = 0;
for (p = 0; p < C->npoints; p++) {
class = C->class[p];
if (class < 0)
continue;
for (band = 0; band < C->nbands; band++) {
q = C->points[band][p];
C->sum2[band][class] += q * q;
}
}
return 0;
}
I_cluster_sum2
int I_cluster_sum2(struct Cluster *C)
Compute sum of squares for each class.
Definition c_sum2.c:23
G_debug
int G_debug(int level, const char *msg,...)
Print debugging message.
Definition debug.c:66