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