GRASS GIS 7 Programmer's Manual  7.9.dev(2021)-e5379bbd7
defs/imagery.h
Go to the documentation of this file.
1 #ifndef GRASS_IMAGEDEFS_H
2 #define GRASS_IMAGEDEFS_H
3 
4 /* alloc.c */
5 void *I_malloc(size_t);
6 void *I_realloc(void *, size_t);
7 int I_free(void *);
8 double **I_alloc_double2(int, int);
9 int *I_alloc_int(int);
10 int **I_alloc_int2(int, int);
11 int I_free_int2(int **);
12 int I_free_double2(double **);
13 double ***I_alloc_double3(int, int, int);
14 int I_free_double3(double ***);
15 
16 /* eol.c */
17 int I_get_to_eol(char *, int, FILE *);
18 
19 /* find.c */
20 int I_find_group(const char *);
21 int I_find_group2(const char *, const char *);
22 int I_find_group_file(const char *, const char *);
23 int I_find_group_file2(const char *, const char *, const char *);
24 int I_find_subgroup(const char *, const char *);
25 int I_find_subgroup2(const char *, const char *, const char *);
26 int I_find_subgroup_file(const char *, const char *, const char *);
27 int I_find_subgroup_file2(const char *, const char *, const char *, const char *);
28 int I_find_signature_file(const char *, const char *, const char *, const char *);
29 
30 /* fopen.c */
31 FILE *I_fopen_group_file_new(const char *, const char *);
32 FILE *I_fopen_group_file_append(const char *, const char *);
33 FILE *I_fopen_group_file_old(const char *, const char *);
34 FILE *I_fopen_group_file_old2(const char *, const char *, const char *);
35 FILE *I_fopen_subgroup_file_new(const char *, const char *, const char *);
36 FILE *I_fopen_subgroup_file_append(const char *, const char *, const char *);
37 FILE *I_fopen_subgroup_file_old(const char *, const char *, const char *);
38 FILE *I_fopen_subgroup_file_old2(const char *, const char *, const char *, const char *);
39 
40 /* georef.c */
41 int I_compute_georef_equations(struct Control_Points *, double *, double *,
42  double *, double *, int);
43 int I_georef(double, double, double *, double *, double *, double *, int);
44 
45 /* georef_tps.c */
46 int I_compute_georef_equations_tps(struct Control_Points *, double **, double **,
47  double **, double **);
48 int I_georef_tps(double, double, double *, double *, double *, double *,
49  struct Control_Points *, int);
50 
51 /* group.c */
52 int I_get_group(char *);
53 int I_put_group(const char *);
54 int I_get_subgroup(const char *, char *);
55 int I_put_subgroup(const char *, const char *);
56 int I_get_group_ref(const char *, struct Ref *);
57 int I_get_group_ref2(const char *, const char *, struct Ref *);
58 int I_get_subgroup_ref(const char *, const char *, struct Ref *);
59 int I_get_subgroup_ref2(const char *, const char *, const char *, struct Ref *);
60 int I_init_ref_color_nums(struct Ref *);
61 int I_put_group_ref(const char *, const struct Ref *);
62 int I_put_subgroup_ref(const char *, const char *, const struct Ref *);
63 int I_add_file_to_group_ref(const char *, const char *, struct Ref *);
64 int I_transfer_group_ref_file(const struct Ref *, int, struct Ref *);
65 int I_init_group_ref(struct Ref *);
66 int I_free_group_ref(struct Ref *);
67 
68 /* iclass.c */
69 struct Map_info;
70 int I_iclass_analysis(IClass_statistics *, struct Ref *, struct Map_info *, const char *, const char *, const char *);
71 int I_iclass_init_group(const char *, const char *, struct Ref *);
72 void I_iclass_create_raster(IClass_statistics *, struct Ref *, const char *);
73 
74 /* iclass_statistics.c */
77 void I_iclass_statistics_get_name(IClass_statistics *, const char **);
89 int I_iclass_statistics_get_histo(IClass_statistics *, int, int, int *);
90 int I_iclass_statistics_get_product(IClass_statistics *, int, int, float *);
91 void I_iclass_init_statistics(IClass_statistics *, int, const char *, const char *, float);
93 
94 /* iclass_signatures.c */
95 int I_iclass_init_signatures(struct Signature *, struct Ref *);
97 int I_iclass_write_signatures(struct Signature *, const char *, const char *, const char *);
98 
99 /* list_gp.c */
100 int I_list_group(const char *, const struct Ref *, FILE *);
101 int I_list_group_simple(const struct Ref *, FILE *);
102 
103 /* list_subgp.c */
104 char ** I_list_subgroups(const char *, int *);
105 char ** I_list_subgroups2(const char *, const char *, int *);
106 int I_list_subgroup(const char *, const char *, const struct Ref *, FILE *);
107 int I_list_subgroup_simple(const struct Ref *, FILE *);
108 
109 /* loc_info.c */
110 char *I_location_info(const char *);
111 
112 /* points.c */
113 int I_new_control_point(struct Control_Points *, double, double, double,
114  double, int);
115 int I_get_control_points(const char *, struct Control_Points *);
116 int I_put_control_points(const char *, const struct Control_Points *);
117 
118 /* ref.c */
119 FILE *I_fopen_group_ref_new(const char *);
120 FILE *I_fopen_group_ref_old(const char *);
121 FILE *I_fopen_group_ref_old2(const char *, const char *);
122 FILE *I_fopen_subgroup_ref_new(const char *, const char *);
123 FILE *I_fopen_subgroup_ref_old(const char *, const char *);
124 FILE *I_fopen_subgroup_ref_old2(const char *, const char *, const char *);
125 
126 /* iscatt_structs.c */
127 void I_sc_init_cats(struct scCats *, int, int);
128 void I_sc_free_cats(struct scCats *);
129 int I_sc_add_cat(struct scCats *);
130 int I_sc_insert_scatt_data(struct scCats *, struct scdScattData *, int, int);
131 
132 void I_scd_init_scatt_data(struct scdScattData *, int, int, void *);
133 
134 /* iscatt_core.c */
135 int I_compute_scatts(struct Cell_head *, struct scCats *, const char **,
136  const char **, int, struct scCats *, const char **);
137 
138 int I_create_cat_rast(struct Cell_head *, const char *);
139 int I_insert_patch_to_cat_rast(const char *, struct Cell_head *, const char *);
140 
141 int I_id_scatt_to_bands(const int, const int, int *, int *);
142 int I_bands_to_id_scatt(const int, const int, const int, int *);
143 
144 int I_merge_arrays(unsigned char *, unsigned char *, unsigned, unsigned, double);
145 int I_apply_colormap(unsigned char *, unsigned char *, unsigned, unsigned char *, unsigned char *);
146 int I_rasterize(double *, int, unsigned char, struct Cell_head *, unsigned char *);
147 
148 /* sig.c */
149 int I_init_signatures(struct Signature *, int);
150 int I_new_signature(struct Signature *);
151 int I_free_signatures(struct Signature *);
152 int I_read_one_signature(FILE *, struct Signature *);
153 int I_read_signatures(FILE *, struct Signature *);
154 int I_write_signatures(FILE *, struct Signature *);
155 
156 /* sigfile.c */
157 FILE *I_fopen_signature_file_new(const char *, const char *, const char *);
158 FILE *I_fopen_signature_file_old(const char *, const char *, const char *);
159 
160 /* sigset.c */
161 int I_SigSetNClasses(struct SigSet *);
162 struct ClassData *I_AllocClassData(struct SigSet *, struct ClassSig *, int);
163 int I_InitSigSet(struct SigSet *);
164 int I_SigSetNBands(struct SigSet *, int);
165 struct ClassSig *I_NewClassSig(struct SigSet *);
166 struct SubSig *I_NewSubSig(struct SigSet *, struct ClassSig *);
167 int I_ReadSigSet(FILE *, struct SigSet *) WARN_UNUSED_RESULT;
168 int I_SetSigTitle(struct SigSet *, const char *);
169 const char *I_GetSigTitle(const struct SigSet *);
170 int I_SetClassTitle(struct ClassSig *, const char *);
171 const char *I_GetClassTitle(const struct ClassSig *);
172 int I_WriteSigSet(FILE *, const struct SigSet *);
173 
174 /* sigsetfile.c */
175 FILE *I_fopen_sigset_file_new(const char *, const char *, const char *);
176 FILE *I_fopen_sigset_file_old(const char *, const char *, const char *);
177 
178 /* target.c */
179 int I_get_target(const char *, char *, char *);
180 int I_put_target(const char *, const char *, const char *);
181 
182 /* title.c */
183 int I_get_group_title(const char *, char *, int);
184 int I_put_group_title(const char *, const char *);
185 
186 /* var.c */
187 double I_variance(double, double, int);
188 double I_stddev(double, double, int);
189 
190 #endif
const char * I_GetClassTitle(const struct ClassSig *)
Definition: sigset.c:311
void I_scd_init_scatt_data(struct scdScattData *, int, int, void *)
Insert scatter plot data.
FILE * I_fopen_group_ref_old(const char *)
Definition: ref.c:30
int I_get_target(const char *, char *, char *)
read target information
Definition: target.c:22
int I_iclass_statistics_get_max(IClass_statistics *, int, int *)
Get maximum value in band.
int I_find_group(const char *)
does group exist?
Definition: imagery/find.c:22
int I_free(void *)
Definition: imagery/alloc.c:24
int I_put_group_ref(const char *, const struct Ref *)
write group REF file
Definition: group.c:318
void I_iclass_statistics_get_ncells(IClass_statistics *, int *)
Get number of cells in training areas.
#define WARN_UNUSED_RESULT
Generate warning if function return value is unused.
Definition: gis.h:84
FILE * I_fopen_group_ref_old2(const char *, const char *)
Definition: ref.c:35
int I_sc_insert_scatt_data(struct scCats *, struct scdScattData *, int, int)
Insert scatter plot data . Inserted scatt_data struct must have same type as cats struct (SC_SCATT_DA...
int I_transfer_group_ref_file(const struct Ref *, int, struct Ref *)
copy Ref lists
Definition: group.c:448
int I_read_signatures(FILE *, struct Signature *)
Definition: sig.c:94
struct ClassSig * I_NewClassSig(struct SigSet *)
Definition: sigset.c:73
Definition: imagery.h:71
void I_iclass_add_signature(struct Signature *, IClass_statistics *)
Add one signature.
2D/3D raster map header (used also for region)
Definition: gis.h:412
int I_free_group_ref(struct Ref *)
free Ref structure
Definition: group.c:502
int I_compute_georef_equations_tps(struct Control_Points *, double **, double **, double **, double **)
Definition: georef_tps.c:120
int I_free_double3(double ***)
int ** I_alloc_int2(int, int)
Definition: imagery/alloc.c:67
int I_iclass_statistics_get_range_min(IClass_statistics *, int, int *)
Get minimum cell value based on mean and standard deviation for band.
int I_get_subgroup(const char *, char *)
Definition: group.c:68
int I_read_one_signature(FILE *, struct Signature *)
Definition: sig.c:52
struct ClassData * I_AllocClassData(struct SigSet *, struct ClassSig *, int)
Definition: sigset.c:43
void * I_realloc(void *, size_t)
Definition: imagery/alloc.c:16
FILE * I_fopen_group_file_old(const char *, const char *)
Open group file for reading.
Definition: fopen.c:105
FILE * I_fopen_sigset_file_new(const char *, const char *, const char *)
Create new signiture file in given group/subgroup.
Definition: sigsetfile.c:32
Definition: imagery.h:26
int I_apply_colormap(unsigned char *, unsigned char *, unsigned, unsigned char *, unsigned char *)
Apply colromap to the raster.
Definition: iscatt_core.c:905
void I_iclass_create_raster(IClass_statistics *, struct Ref *, const char *)
Create raster map based on statistics.
Definition: iclass.c:163
double I_variance(double, double, int)
Definition: var.c:8
void I_iclass_init_statistics(IClass_statistics *, int, const char *, const char *, float)
Initialize statistics.
int I_find_subgroup_file(const char *, const char *, const char *)
Searches for a subgroup file in the current mapset.
Definition: imagery/find.c:133
void I_sc_init_cats(struct scCats *, int, int)
Initialize structure for storing scatter plots data.
int I_sc_add_cat(struct scCats *)
Add category.
int I_find_group_file(const char *, const char *)
Searches for a group file in the current mapset.
Definition: imagery/find.c:53
int I_iclass_statistics_get_product(IClass_statistics *, int, int, float *)
Get product value.
int I_georef_tps(double, double, double *, double *, double *, double *, struct Control_Points *, int)
Definition: georef_tps.c:72
void I_iclass_free_statistics(IClass_statistics *)
Free space allocated for statistics attributes.
int I_SetClassTitle(struct ClassSig *, const char *)
Definition: sigset.c:300
FILE * I_fopen_group_ref_new(const char *)
Definition: ref.c:25
int I_new_control_point(struct Control_Points *, double, double, double, double, int)
add new control point
Definition: points.c:57
FILE * I_fopen_subgroup_ref_old2(const char *, const char *, const char *)
Definition: ref.c:62
int I_find_subgroup_file2(const char *, const char *, const char *, const char *)
Searches for a subgroup file in the specified mapset.
Definition: imagery/find.c:160
int I_put_group(const char *)
Definition: group.c:55
int I_find_subgroup2(const char *, const char *, const char *)
Searches for a subgroup in specified mapset or any mapset if mapset is not set.
Definition: imagery/find.c:110
FILE * I_fopen_signature_file_old(const char *, const char *, const char *)
Open existing signature file.
Definition: sigfile.c:59
void I_iclass_statistics_get_name(IClass_statistics *, const char **)
Get category (class) name.
void I_iclass_statistics_get_nbands(IClass_statistics *, int *)
Get number of bands.
int I_find_group_file2(const char *, const char *, const char *)
Searches for a group file in the specified mapset.
Definition: imagery/find.c:70
int I_SigSetNClasses(struct SigSet *)
Definition: sigset.c:31
int I_iclass_write_signatures(struct Signature *, const char *, const char *, const char *)
Write signtures to signature file.
int I_WriteSigSet(FILE *, const struct SigSet *)
Definition: sigset.c:319
int I_get_group_ref2(const char *, const char *, struct Ref *)
read group REF file
Definition: group.c:133
int I_put_target(const char *, const char *, const char *)
write target information
Definition: target.c:62
int I_merge_arrays(unsigned char *, unsigned char *, unsigned, unsigned, double)
Merge arrays according to opacity. Every pixel in array must be represented by 4 values (RGBA)...
Definition: iscatt_core.c:862
int I_InitSigSet(struct SigSet *)
Definition: sigset.c:56
int I_iclass_statistics_get_stddev(IClass_statistics *, int, float *)
Get standard deviation of cell category values in band.
int I_list_subgroup_simple(const struct Ref *, FILE *)
Prints maps in a subgroup (simple version)
Definition: list_subgp.c:134
int I_put_subgroup(const char *, const char *)
Definition: group.c:87
int I_put_control_points(const char *, const struct Control_Points *)
write group control points
Definition: points.c:153
int I_list_subgroup(const char *, const char *, const struct Ref *, FILE *)
Prints maps in a subgroup (fancy version)
Definition: list_subgp.c:81
int I_list_group(const char *, const struct Ref *, FILE *)
Prints maps in a group (fancy version)
Definition: list_gp.c:26
void I_iclass_statistics_get_nstd(IClass_statistics *, float *)
Get the multiplier of standard deviation.
int I_compute_scatts(struct Cell_head *, struct scCats *, const char **, const char **, int, struct scCats *, const char **)
Compute scatter plots data.
Definition: iscatt_core.c:695
int I_iclass_statistics_get_sum(IClass_statistics *, int, float *)
Get sum of values in band.
int I_get_subgroup_ref(const char *, const char *, struct Ref *)
read subgroup REF file
Definition: group.c:153
char ** I_list_subgroups(const char *, int *)
Get list of subgroups which a group contatins.
Definition: list_subgp.c:52
int I_SigSetNBands(struct SigSet *, int)
Definition: sigset.c:66
int I_iclass_statistics_get_histo(IClass_statistics *, int, int, int *)
Get histogram value in band.
int I_free_int2(int **)
Definition: imagery/alloc.c:86
int I_compute_georef_equations(struct Control_Points *, double *, double *, double *, double *, int)
void I_sc_free_cats(struct scCats *)
Free data of struct scCats, the structure itself remains allocated.
int I_put_subgroup_ref(const char *, const char *, const struct Ref *)
write subgroup REF file
Definition: group.c:340
void I_iclass_statistics_get_cat(IClass_statistics *, int *)
Get category (class).
void I_iclass_statistics_get_color(IClass_statistics *, const char **)
Get category (class) color.
char ** I_list_subgroups2(const char *, const char *, int *)
Get list of subgroups which a group contatins.
Definition: list_subgp.c:67
int I_init_ref_color_nums(struct Ref *)
Definition: group.c:260
int I_find_group2(const char *, const char *)
Does the group exists?
Definition: imagery/find.c:41
FILE * I_fopen_subgroup_file_old(const char *, const char *, const char *)
Definition: fopen.c:171
int * I_alloc_int(int)
Definition: imagery/alloc.c:54
FILE * I_fopen_subgroup_ref_old(const char *, const char *)
Definition: ref.c:54
int I_bands_to_id_scatt(const int, const int, const int, int *)
Compute scatter plot id from band ids.
int I_id_scatt_to_bands(const int, const int, int *, int *)
Compute band ids from scatter plot id.
char * I_location_info(const char *)
Definition: loc_info.c:6
FILE * I_fopen_subgroup_file_append(const char *, const char *, const char *)
Definition: fopen.c:149
Vector map info.
Definition: dig_structs.h:1259
int I_iclass_statistics_get_mean(IClass_statistics *, int, float *)
Get mean of cell category values in band.
FILE * I_fopen_group_file_new(const char *, const char *)
Definition: fopen.c:70
int I_find_signature_file(const char *, const char *, const char *, const char *)
does signature file exists?
Definition: imagery/find.c:193
FILE * I_fopen_signature_file_new(const char *, const char *, const char *)
Create signature file.
Definition: sigfile.c:27
int I_add_file_to_group_ref(const char *, const char *, struct Ref *)
add file name to Ref structure
Definition: group.c:396
int I_get_group(char *)
Definition: group.c:38
int I_free_signatures(struct Signature *)
Definition: sig.c:36
double I_stddev(double, double, int)
Definition: var.c:16
int I_iclass_init_group(const char *, const char *, struct Ref *)
Read files for the specified group subgroup into the Ref structure.
Definition: iclass.c:110
struct SubSig * I_NewSubSig(struct SigSet *, struct ClassSig *)
Definition: sigset.c:93
int I_iclass_statistics_get_min(IClass_statistics *, int, int *)
Get minimum value in band.
int I_get_group_title(const char *, char *, int)
Definition: title.c:5
int I_put_group_title(const char *, const char *)
Definition: title.c:22
int I_get_subgroup_ref2(const char *, const char *, const char *, struct Ref *)
read subgroup REF file
Definition: group.c:174
int I_rasterize(double *, int, unsigned char, struct Cell_head *, unsigned char *)
Wrapper for using of iclass perimeter rasterization by scatter plot. Warning: calls Rast_set_window...
Definition: iscatt_core.c:948
int I_list_group_simple(const struct Ref *, FILE *)
Prints maps in a group (simple version)
Definition: list_gp.c:73
FILE * I_fopen_subgroup_ref_new(const char *, const char *)
Definition: ref.c:49
FILE * I_fopen_sigset_file_old(const char *, const char *, const char *)
Open existing signiture file.
Definition: sigsetfile.c:74
FILE * I_fopen_group_file_old2(const char *, const char *, const char *)
Open group file for reading.
Definition: fopen.c:121
double *** I_alloc_double3(int, int, int)
int I_ReadSigSet(FILE *, struct SigSet *) WARN_UNUSED_RESULT
Definition: sigset.c:124
int I_init_group_ref(struct Ref *)
initialize Ref structure
Definition: group.c:483
int I_insert_patch_to_cat_rast(const char *, struct Cell_head *, const char *)
Insert raster map patch into pgm file.
Definition: iscatt_core.c:236
FILE * I_fopen_subgroup_file_new(const char *, const char *, const char *)
Definition: fopen.c:127
int I_SetSigTitle(struct SigSet *, const char *)
Definition: sigset.c:281
int I_new_signature(struct Signature *)
Definition: sig.c:16
void I_iclass_statistics_set_nstd(IClass_statistics *, float)
Set the multiplier of standard deviation.
FILE * I_fopen_subgroup_file_old2(const char *, const char *, const char *, const char *)
Definition: fopen.c:177
int I_georef(double, double, double *, double *, double *, double *, int)
int I_get_to_eol(char *, int, FILE *)
Definition: eol.c:12
int I_get_group_ref(const char *, struct Ref *)
read group REF file
Definition: group.c:114
void * I_malloc(size_t)
Definition: imagery/alloc.c:6
int I_iclass_init_signatures(struct Signature *, struct Ref *)
Initialize signatures.
int I_free_double2(double **)
const char * I_GetSigTitle(const struct SigSet *)
Definition: sigset.c:292
int I_create_cat_rast(struct Cell_head *, const char *)
Create category raster conditions file. The file is used for holding selected areas from mapwindow...
Definition: iscatt_core.c:58
int I_find_subgroup(const char *, const char *)
Searches for a subgroup in the current mapset.
Definition: imagery/find.c:87
int I_init_signatures(struct Signature *, int)
Definition: sig.c:4
double ** I_alloc_double2(int, int)
Definition: imagery/alloc.c:33
int I_write_signatures(FILE *, struct Signature *)
Definition: sig.c:116
FILE * I_fopen_group_file_append(const char *, const char *)
Definition: fopen.c:83
int I_iclass_analysis(IClass_statistics *, struct Ref *, struct Map_info *, const char *, const char *, const char *)
Calculates statistical values for one class and multiple bands based on training areas.
Definition: iclass.c:50
int I_iclass_statistics_get_range_max(IClass_statistics *, int, int *)
Get maximum cell value based on mean and standard deviation for band.
int I_get_control_points(const char *, struct Control_Points *)
read group control points
Definition: points.c:117