imagery.h 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. #ifndef GRASS_IMAGEDEFS_H
  2. #define GRASS_IMAGEDEFS_H
  3. /* alloc.c */
  4. void *I_malloc(size_t);
  5. void *I_realloc(void *, size_t);
  6. int I_free(void *);
  7. double **I_alloc_double2(int, int);
  8. int *I_alloc_int(int);
  9. int **I_alloc_int2(int, int);
  10. int I_free_int2(int **);
  11. int I_free_double2(double **);
  12. double ***I_alloc_double3(int, int, int);
  13. int I_free_double3(double ***);
  14. /* eol.c */
  15. int I_get_to_eol(char *, int, FILE *);
  16. /* find.c */
  17. int I_find_group(const char *);
  18. int I_find_group2(const char *, const char *);
  19. int I_find_group_file(const char *, const char *);
  20. int I_find_group_file2(const char *, const char *, const char *);
  21. int I_find_subgroup(const char *, const char *);
  22. int I_find_subgroup2(const char *, const char *, const char *);
  23. int I_find_subgroup_file(const char *, const char *, const char *);
  24. int I_find_subgroup_file2(const char *, const char *, const char *, const char *);
  25. int I_find_signature_file(const char *, const char *, const char *, const char *);
  26. /* fopen.c */
  27. FILE *I_fopen_group_file_new(const char *, const char *);
  28. FILE *I_fopen_group_file_append(const char *, const char *);
  29. FILE *I_fopen_group_file_old(const char *, const char *);
  30. FILE *I_fopen_group_file_old2(const char *, const char *, const char *);
  31. FILE *I_fopen_subgroup_file_new(const char *, const char *, const char *);
  32. FILE *I_fopen_subgroup_file_append(const char *, const char *, const char *);
  33. FILE *I_fopen_subgroup_file_old(const char *, const char *, const char *);
  34. FILE *I_fopen_subgroup_file_old2(const char *, const char *, const char *, const char *);
  35. /* georef.c */
  36. int I_compute_georef_equations(struct Control_Points *, double *, double *,
  37. double *, double *, int);
  38. int I_georef(double, double, double *, double *, double *, double *, int);
  39. /* georef_tps.c */
  40. int I_compute_georef_equations_tps(struct Control_Points *, double **, double **,
  41. double **, double **);
  42. int I_georef_tps(double, double, double *, double *, double *, double *,
  43. struct Control_Points *, int);
  44. /* group.c */
  45. int I_get_group(char *);
  46. int I_put_group(const char *);
  47. int I_get_subgroup(const char *, char *);
  48. int I_put_subgroup(const char *, const char *);
  49. int I_get_group_ref(const char *, struct Ref *);
  50. int I_get_group_ref2(const char *, const char *, struct Ref *);
  51. int I_get_subgroup_ref(const char *, const char *, struct Ref *);
  52. int I_get_subgroup_ref2(const char *, const char *, const char *, struct Ref *);
  53. int I_init_ref_color_nums(struct Ref *);
  54. int I_put_group_ref(const char *, const struct Ref *);
  55. int I_put_subgroup_ref(const char *, const char *, const struct Ref *);
  56. int I_add_file_to_group_ref(const char *, const char *, struct Ref *);
  57. int I_transfer_group_ref_file(const struct Ref *, int, struct Ref *);
  58. int I_init_group_ref(struct Ref *);
  59. int I_free_group_ref(struct Ref *);
  60. /* iclass.c */
  61. struct Map_info;
  62. int I_iclass_analysis(IClass_statistics *, struct Ref *, struct Map_info *, const char *, const char *, const char *);
  63. int I_iclass_init_group(const char *, const char *, struct Ref *);
  64. void I_iclass_create_raster(IClass_statistics *, struct Ref *, const char *);
  65. /* iclass_statistics.c */
  66. void I_iclass_statistics_get_nbands(IClass_statistics *, int *);
  67. void I_iclass_statistics_get_cat(IClass_statistics *, int *);
  68. void I_iclass_statistics_get_name(IClass_statistics *, const char **);
  69. void I_iclass_statistics_get_color(IClass_statistics *, const char **);
  70. void I_iclass_statistics_get_ncells(IClass_statistics *, int *);
  71. int I_iclass_statistics_get_max(IClass_statistics *, int, int *);
  72. int I_iclass_statistics_get_range_max(IClass_statistics *, int, int *);
  73. int I_iclass_statistics_get_min(IClass_statistics *, int, int *);
  74. int I_iclass_statistics_get_range_min(IClass_statistics *, int, int *);
  75. int I_iclass_statistics_get_sum(IClass_statistics *, int, float *);
  76. int I_iclass_statistics_get_mean(IClass_statistics *, int, float *);
  77. int I_iclass_statistics_get_stddev(IClass_statistics *, int, float *);
  78. void I_iclass_statistics_get_nstd(IClass_statistics *, float *);
  79. void I_iclass_statistics_set_nstd(IClass_statistics *, float);
  80. int I_iclass_statistics_get_histo(IClass_statistics *, int, int, int *);
  81. int I_iclass_statistics_get_product(IClass_statistics *, int, int, float *);
  82. void I_iclass_init_statistics(IClass_statistics *, int, const char *, const char *, float);
  83. void I_iclass_free_statistics(IClass_statistics *);
  84. /* iclass_signatures.c */
  85. int I_iclass_init_signatures(struct Signature *, struct Ref *);
  86. void I_iclass_add_signature(struct Signature *, IClass_statistics *);
  87. int I_iclass_write_signatures(struct Signature *, const char *, const char *, const char *);
  88. /* list_gp.c */
  89. int I_list_group(const char *, const struct Ref *, FILE *);
  90. int I_list_group_simple(const struct Ref *, FILE *);
  91. /* list_subgp.c */
  92. char ** I_list_subgroups(const char *, int *);
  93. char ** I_list_subgroups2(const char *, const char *, int *);
  94. int I_list_subgroup(const char *, const char *, const struct Ref *, FILE *);
  95. int I_list_subgroup_simple(const struct Ref *, FILE *);
  96. /* loc_info.c */
  97. char *I_location_info(const char *);
  98. /* points.c */
  99. int I_new_control_point(struct Control_Points *, double, double, double,
  100. double, int);
  101. int I_get_control_points(const char *, struct Control_Points *);
  102. int I_put_control_points(const char *, const struct Control_Points *);
  103. /* ref.c */
  104. FILE *I_fopen_group_ref_new(const char *);
  105. FILE *I_fopen_group_ref_old(const char *);
  106. FILE *I_fopen_group_ref_old2(const char *, const char *);
  107. FILE *I_fopen_subgroup_ref_new(const char *, const char *);
  108. FILE *I_fopen_subgroup_ref_old(const char *, const char *);
  109. FILE *I_fopen_subgroup_ref_old2(const char *, const char *, const char *);
  110. /* iscatt_structs.c */
  111. void I_sc_init_cats(struct scCats *, int, int);
  112. void I_sc_free_cats(struct scCats *);
  113. int I_sc_add_cat(struct scCats *);
  114. int I_sc_insert_scatt_data(struct scCats *, struct scdScattData *, int, int);
  115. void I_scd_init_scatt_data(struct scdScattData *, int, int, void *);
  116. /* iscatt_core.c */
  117. int I_compute_scatts(struct Cell_head *, struct scCats *, const char **,
  118. const char **, int, struct scCats *, const char **);
  119. int I_create_cat_rast(struct Cell_head *, const char *);
  120. int I_insert_patch_to_cat_rast(const char *, struct Cell_head *, const char *);
  121. int I_id_scatt_to_bands(const int, const int, int *, int *);
  122. int I_bands_to_id_scatt(const int, const int, const int, int *);
  123. int I_merge_arrays(unsigned char *, unsigned char *, unsigned, unsigned, double);
  124. int I_apply_colormap(unsigned char *, unsigned char *, unsigned, unsigned char *, unsigned char *);
  125. int I_rasterize(double *, int, unsigned char, struct Cell_head *, unsigned char *);
  126. /* sig.c */
  127. int I_init_signatures(struct Signature *, int);
  128. int I_new_signature(struct Signature *);
  129. int I_free_signatures(struct Signature *);
  130. int I_read_one_signature(FILE *, struct Signature *);
  131. int I_read_signatures(FILE *, struct Signature *);
  132. int I_write_signatures(FILE *, struct Signature *);
  133. /* sigfile.c */
  134. FILE *I_fopen_signature_file_new(const char *, const char *, const char *);
  135. FILE *I_fopen_signature_file_old(const char *, const char *, const char *);
  136. /* sigset.c */
  137. int I_SigSetNClasses(struct SigSet *);
  138. struct ClassData *I_AllocClassData(struct SigSet *, struct ClassSig *, int);
  139. int I_InitSigSet(struct SigSet *);
  140. int I_SigSetNBands(struct SigSet *, int);
  141. struct ClassSig *I_NewClassSig(struct SigSet *);
  142. struct SubSig *I_NewSubSig(struct SigSet *, struct ClassSig *);
  143. int I_ReadSigSet(FILE *, struct SigSet *);
  144. int I_SetSigTitle(struct SigSet *, const char *);
  145. const char *I_GetSigTitle(const struct SigSet *);
  146. int I_SetClassTitle(struct ClassSig *, const char *);
  147. const char *I_GetClassTitle(const struct ClassSig *);
  148. int I_WriteSigSet(FILE *, const struct SigSet *);
  149. /* sigsetfile.c */
  150. FILE *I_fopen_sigset_file_new(const char *, const char *, const char *);
  151. FILE *I_fopen_sigset_file_old(const char *, const char *, const char *);
  152. /* target.c */
  153. int I_get_target(const char *, char *, char *);
  154. int I_put_target(const char *, const char *, const char *);
  155. /* title.c */
  156. int I_get_group_title(const char *, char *, int);
  157. int I_put_group_title(const char *, const char *);
  158. /* var.c */
  159. double I_variance(double, double, int);
  160. double I_stddev(double, double, int);
  161. #endif