print4.c 735 B

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