#include #include #include #include #define FMT1 "%g/%d=%.1f" #define FMT2 "%g/%d=?" int print_centroids(FILE * fd, struct Cluster *C) { int band, cat; char buf[40]; fprintf(fd, _("class centroids (sum/count=mean)\n")); for (band = 0; band < C->nbands; band++) { fprintf(fd, _("band %d"), band + 1); for (cat = 0; cat < C->nclasses; cat++) { if (C->count[cat]) sprintf(buf, FMT1, C->sum[band][cat], C->count[cat], (double)C->sum[band][cat] / (double)C->count[cat]); else sprintf(buf, FMT2, C->sum[band][cat], C->count[cat]); fprintf(fd, "%s %-18s", cat % 4 ? "" : "\n", buf); } fprintf(fd, "\n"); } return 0; }