1 #include <grass/gis.h>
2 #include <grass/glocale.h>
3 #include <grass/imagery.h>
4 #include <grass/cluster.h>
5 
6 
7 #define FMT1 "%g/%d=%.1f"
8 #define FMT2 "%g/%d=?"
9 
10 
print_centroids(FILE * fd,struct Cluster * C)11 int print_centroids(FILE * fd, struct Cluster *C)
12 {
13     int band, cat;
14     char buf[40];
15 
16     fprintf(fd, _("class centroids (sum/count=mean)%s"), HOST_NEWLINE);
17     for (band = 0; band < C->nbands; band++) {
18 	fprintf(fd, _("band %d"), band + 1);
19 	for (cat = 0; cat < C->nclasses; cat++) {
20 	    if (C->count[cat])
21 		sprintf(buf, FMT1, C->sum[band][cat], C->count[cat],
22 			(double)C->sum[band][cat] / (double)C->count[cat]);
23 	    else
24 		sprintf(buf, FMT2, C->sum[band][cat], C->count[cat]);
25 	    fprintf(fd, "%s %-18s", cat % 4 ? "" : HOST_NEWLINE, buf);
26 	}
27 	fprintf(fd, "%s", HOST_NEWLINE);
28     }
29 
30     return 0;
31 }
32