GRASS 8 Programmer's Manual 8.6.0dev(2026)-f6f2c534ea
Loading...
Searching...
No Matches
defs/imagery.h
Go to the documentation of this file.
1#ifndef GRASS_IMAGEDEFS_H
2#define GRASS_IMAGEDEFS_H
3
4/* alloc.c */
5void *I_malloc(size_t);
6void *I_realloc(void *, size_t);
7int I_free(void *);
8double **I_alloc_double2(int, int);
9int *I_alloc_int(int);
10int **I_alloc_int2(int, int);
11int I_free_int2(int **);
12int I_free_double2(double **);
13double ***I_alloc_double3(int, int, int);
14int I_free_double3(double ***);
15
16/* eol.c */
17int I_get_to_eol(char *, int, FILE *);
18
19/* find.c */
20int I_find_group(const char *);
21int I_find_group2(const char *, const char *);
22int I_find_group_file(const char *, const char *);
23int I_find_group_file2(const char *, const char *, const char *);
24int I_find_subgroup(const char *, const char *);
25int I_find_subgroup2(const char *, const char *, const char *);
26int I_find_subgroup_file(const char *, const char *, const char *);
27int I_find_subgroup_file2(const char *, const char *, const char *,
28 const char *);
29const char *I_find_signature(I_SIGFILE_TYPE, char *, const char *);
30const char *I_find_signature2(I_SIGFILE_TYPE, const char *, const char *);
31
32/* fopen.c */
33FILE *I_fopen_group_file_new(const char *, const char *);
34FILE *I_fopen_group_file_append(const char *, const char *);
35FILE *I_fopen_group_file_old(const char *, const char *);
36FILE *I_fopen_group_file_old2(const char *, const char *, const char *);
37FILE *I_fopen_subgroup_file_new(const char *, const char *, const char *);
38FILE *I_fopen_subgroup_file_append(const char *, const char *, const char *);
39FILE *I_fopen_subgroup_file_old(const char *, const char *, const char *);
40FILE *I_fopen_subgroup_file_old2(const char *, const char *, const char *,
41 const char *);
42
43/* georef.c */
44int I_compute_georef_equations(struct Control_Points *, double *, double *,
45 double *, double *, int);
46int I_georef(double, double, double *, double *, double *, double *, int);
47
48/* georef_tps.c */
50 double **, double **, double **);
51int I_georef_tps(double, double, double *, double *, double *, double *,
52 struct Control_Points *, int);
53
54/* group.c */
55int I_get_group(char *);
56int I_put_group(const char *);
57int I_get_subgroup(const char *, char *);
58int I_put_subgroup(const char *, const char *);
59int I_get_group_ref(const char *, struct Ref *);
60int I_get_group_ref2(const char *, const char *, struct Ref *);
61int I_get_subgroup_ref(const char *, const char *, struct Ref *);
62int I_get_subgroup_ref2(const char *, const char *, const char *, struct Ref *);
63int I_init_ref_color_nums(struct Ref *);
64int I_put_group_ref(const char *, const struct Ref *);
65int I_put_subgroup_ref(const char *, const char *, const struct Ref *);
66int I_add_file_to_group_ref(const char *, const char *, struct Ref *);
67int I_transfer_group_ref_file(const struct Ref *, int, struct Ref *);
68int I_init_group_ref(struct Ref *);
69int I_free_group_ref(struct Ref *);
70
71/* iclass.c */
72struct Map_info;
73int I_iclass_analysis(IClass_statistics *, struct Ref *, struct Map_info *,
74 const char *, const char *, const char *);
75int I_iclass_init_group(const char *, const char *, struct Ref *);
76void I_iclass_create_raster(IClass_statistics *, struct Ref *, const char *);
77
78/* iclass_statistics.c */
95void I_iclass_init_statistics(IClass_statistics *, int, const char *,
96 const char *, float);
98
99/* iclass_signatures.c */
100int I_iclass_init_signatures(struct Signature *, struct Ref *);
102int I_iclass_write_signatures(struct Signature *, const char *);
103
104/* list_gp.c */
105int I_list_group(const char *, const struct Ref *, FILE *);
106int I_list_group_simple(const struct Ref *, FILE *);
107void I__list_group_name_fit(char *, const char *, const char *);
108
109/* list_subgp.c */
110char **I_list_subgroups(const char *, int *);
111char **I_list_subgroups2(const char *, const char *, int *);
112int I_list_subgroup(const char *, const char *, const struct Ref *, FILE *);
113int I_list_subgroup_simple(const struct Ref *, FILE *);
114
115/* loc_info.c */
116char *I_location_info(const char *);
117
118/* points.c */
119int I_new_control_point(struct Control_Points *, double, double, double, double,
120 int);
121int I_get_control_points(const char *, struct Control_Points *);
122int I_put_control_points(const char *, const struct Control_Points *);
123
124/* ref.c */
125FILE *I_fopen_group_ref_new(const char *);
126FILE *I_fopen_group_ref_old(const char *);
127FILE *I_fopen_group_ref_old2(const char *, const char *);
128FILE *I_fopen_subgroup_ref_new(const char *, const char *);
129FILE *I_fopen_subgroup_ref_old(const char *, const char *);
130FILE *I_fopen_subgroup_ref_old2(const char *, const char *, const char *);
131
132/* iscatt_structs.c */
133void I_sc_init_cats(struct scCats *, int, int);
134void I_sc_free_cats(struct scCats *);
135int I_sc_add_cat(struct scCats *);
136int I_sc_insert_scatt_data(struct scCats *, struct scdScattData *, int, int);
137
138void I_scd_init_scatt_data(struct scdScattData *, int, int, void *);
139
140/* iscatt_core.c */
141int I_compute_scatts(struct Cell_head *, struct scCats *, const char **,
142 const char **, int, struct scCats *, const char **);
143
144int I_create_cat_rast(struct Cell_head *, const char *);
145int I_insert_patch_to_cat_rast(const char *, struct Cell_head *, const char *);
146
147int I_id_scatt_to_bands(const int, const int, int *, int *);
148int I_bands_to_id_scatt(const int, const int, const int, int *);
149
150int I_merge_arrays(unsigned char *, unsigned char *, unsigned, unsigned,
151 double);
152int I_apply_colormap(unsigned char *, unsigned char *, unsigned,
153 unsigned char *, unsigned char *);
154int I_rasterize(double *, int, unsigned char, struct Cell_head *,
155 unsigned char *);
156
157/* manage_signatures.c */
160int I_signatures_remove(I_SIGFILE_TYPE, const char *);
161int I_signatures_copy(I_SIGFILE_TYPE, const char *, const char *, const char *);
162int I_signatures_rename(I_SIGFILE_TYPE, const char *, const char *);
163int I_signatures_list_by_type(I_SIGFILE_TYPE, const char *, char ***);
164void I_free_signatures_list(int, char ***);
165
166/* sig.c */
167int I_init_signatures(struct Signature *, int);
168int I_new_signature(struct Signature *);
169int I_free_signatures(struct Signature *);
170int I_read_one_signature(FILE *, struct Signature *);
171int I_read_signatures(FILE *, struct Signature *);
172int I_write_signatures(FILE *, struct Signature *);
174 const struct Ref *);
175
176/* sigfile.c */
177FILE *I_fopen_signature_file_new(const char *);
178FILE *I_fopen_signature_file_old(const char *);
179
180/* sigset.c */
181int I_SigSetNClasses(struct SigSet *);
182struct ClassData *I_AllocClassData(struct SigSet *, struct ClassSig *, int);
183int I_InitSigSet(struct SigSet *, int);
184struct ClassSig *I_NewClassSig(struct SigSet *);
185struct SubSig *I_NewSubSig(struct SigSet *, struct ClassSig *);
186int I_ReadSigSet(FILE *, struct SigSet *) WARN_UNUSED_RESULT;
187int I_SetSigTitle(struct SigSet *, const char *);
188const char *I_GetSigTitle(const struct SigSet *);
189int I_SetClassTitle(struct ClassSig *, const char *);
190const char *I_GetClassTitle(const struct ClassSig *);
191int I_WriteSigSet(FILE *, const struct SigSet *);
192char **I_SortSigSetBySemanticLabel(struct SigSet *, const struct Ref *);
193
194/* sigsetfile.c */
195FILE *I_fopen_sigset_file_new(const char *);
196FILE *I_fopen_sigset_file_old(const char *);
197
198/* target.c */
199int I_get_target(const char *, char *, char *);
200int I_put_target(const char *, const char *, const char *);
201
202/* title.c */
203int I_get_group_title(const char *, char *, int);
204int I_put_group_title(const char *, const char *);
205
206/* var.c */
207double I_variance(double, double, int);
208double I_stddev(double, double, int);
209
210#endif
int I_find_group_file2(const char *, const char *, const char *)
Searches for a group file in the specified mapset.
void * I_malloc(size_t)
int I_get_subgroup_ref2(const char *, const char *, const char *, struct Ref *)
read subgroup REF file
Definition group.c:165
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...
FILE * I_fopen_subgroup_file_new(const char *, const char *, const char *)
Definition fopen.c:123
int I_init_group_ref(struct Ref *)
initialize Ref structure
Definition group.c:458
int I_SetClassTitle(struct ClassSig *, const char *)
Definition sigset.c:375
int I_list_subgroup(const char *, const char *, const struct Ref *, FILE *)
Prints maps in a subgroup (fancy version)
Definition list_subgp.c:79
double ** I_alloc_double2(int, int)
void * I_realloc(void *, size_t)
void I_make_signatures_dir(I_SIGFILE_TYPE)
Make signature dir.
FILE * I_fopen_signature_file_old(const char *)
Open existing signature file.
Definition sigfile.c:54
void I_iclass_free_statistics(IClass_statistics *)
Free space allocated for statistics attributes.
int I_apply_colormap(unsigned char *, unsigned char *, unsigned, unsigned char *, unsigned char *)
Apply colromap to the raster.
FILE * I_fopen_signature_file_new(const char *)
Create signature file.
Definition sigfile.c:28
int I_get_control_points(const char *, struct Control_Points *)
read group control points
Definition points.c:111
int I_put_group_ref(const char *, const struct Ref *)
write group REF file
Definition group.c:306
int I_georef_tps(double, double, double *, double *, double *, double *, struct Control_Points *, int)
Definition georef_tps.c:63
int ** I_alloc_int2(int, int)
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_put_group_title(const char *, const char *)
Definition title.c:20
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_compute_georef_equations_tps(struct Control_Points *, double **, double **, double **, double **)
Definition georef_tps.c:108
FILE * I_fopen_group_file_old2(const char *, const char *, const char *)
Open group file for reading.
Definition fopen.c:117
void I_get_signatures_dir(char *, I_SIGFILE_TYPE)
Get signature directory.
int I_get_group_title(const char *, char *, int)
Definition title.c:4
FILE * I_fopen_sigset_file_old(const char *)
Open existing sigset signature file.
Definition sigsetfile.c:50
int I_free_double2(double **)
int I_signatures_remove(I_SIGFILE_TYPE, const char *)
Remove a signature file.
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.
int I_find_group_file(const char *, const char *)
Searches for a group file in the current mapset.
FILE * I_fopen_group_file_old(const char *, const char *)
Open group file for reading.
Definition fopen.c:102
FILE * I_fopen_subgroup_file_old2(const char *, const char *, const char *, const char *)
Definition fopen.c:173
int I_get_subgroup(const char *, char *)
Definition group.c:67
int I_write_signatures(FILE *, struct Signature *)
Write signatures to file.
Definition sig.c:245
FILE * I_fopen_sigset_file_new(const char *)
Create new sigset file.
Definition sigsetfile.c:28
int I_list_group_simple(const struct Ref *, FILE *)
Prints maps in a group (simple version)
Definition list_gp.c:73
const char * I_GetClassTitle(const struct ClassSig *)
Definition sigset.c:386
int I_list_subgroup_simple(const struct Ref *, FILE *)
Prints maps in a subgroup (simple version)
Definition list_subgp.c:132
struct SubSig * I_NewSubSig(struct SigSet *, struct ClassSig *)
Definition sigset.c:96
int I_signatures_list_by_type(I_SIGFILE_TYPE, const char *, char ***)
Get list of existing signatures by type.
FILE * I_fopen_group_ref_new(const char *)
Definition ref.c:25
char * I_location_info(const char *)
Definition loc_info.c:7
int I_put_subgroup_ref(const char *, const char *, const struct Ref *)
write subgroup REF file
Definition group.c:326
void I_iclass_init_statistics(IClass_statistics *, int, const char *, const char *, float)
Initialize statistics.
void I_iclass_statistics_get_cat(IClass_statistics *, int *)
Get category (class).
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.
int I_new_signature(struct Signature *)
Definition sig.c:30
FILE * I_fopen_group_ref_old2(const char *, const char *)
Definition ref.c:35
void I_iclass_statistics_get_ncells(IClass_statistics *, int *)
Get number of cells in training areas.
int I_iclass_statistics_get_max(IClass_statistics *, int, int *)
Get maximum value in band.
int I_iclass_statistics_get_sum(IClass_statistics *, int, float *)
Get sum of values in band.
int I_compute_georef_equations(struct Control_Points *, double *, double *, double *, double *, int)
int I_iclass_statistics_get_range_min(IClass_statistics *, int, int *)
Get minimum cell value based on mean and standard deviation for band.
const char * I_find_signature2(I_SIGFILE_TYPE, const char *, const char *)
Find mapset containing signature (look but don't touch)
int I_ReadSigSet(FILE *, struct SigSet *) WARN_UNUSED_RESULT
Read sigset signatures from file.
Definition sigset.c:141
int I_add_file_to_group_ref(const char *, const char *, struct Ref *)
add file name to Ref structure
Definition group.c:380
double I_stddev(double, double, int)
Definition var.c:15
int I_free_int2(int **)
void I_scd_init_scatt_data(struct scdScattData *, int, int, void *)
Insert scatter plot data.
void I_free_signatures_list(int, char ***)
Free memory allocated by I_signatures_list_by_type.
int I_read_one_signature(FILE *, struct Signature *)
Internal function for I_read_signatures.
Definition sig.c:88
struct ClassData * I_AllocClassData(struct SigSet *, struct ClassSig *, int)
Definition sigset.c:43
void I_iclass_statistics_get_color(IClass_statistics *, const char **)
Get category (class) color.
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:105
int I_init_signatures(struct Signature *, int)
Initialize struct Signature before use.
Definition sig.c:14
char ** I_sort_signatures_by_semantic_label(struct Signature *, const struct Ref *)
Reorder struct Signature to match imagery group member order.
Definition sig.c:323
int I_iclass_statistics_get_product(IClass_statistics *, int, int, float *)
Get product value.
int I_id_scatt_to_bands(const int, const int, int *, int *)
Compute band ids from scatter plot id.
int I_iclass_init_signatures(struct Signature *, struct Ref *)
Initialize signatures.
char ** I_SortSigSetBySemanticLabel(struct SigSet *, const struct Ref *)
Reorder struct SigSet to match imagery group member order.
Definition sigset.c:476
int I_SigSetNClasses(struct SigSet *)
Definition sigset.c:32
int I_iclass_statistics_get_stddev(IClass_statistics *, int, float *)
Get standard deviation of cell category values in band.
void I__list_group_name_fit(char *, const char *, const char *)
Formats map name to fit in a 80 column layout.
Definition list_gp.c:97
char ** I_list_subgroups(const char *, int *)
Get list of subgroups which a group contains.
Definition list_subgp.c:51
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).
FILE * I_fopen_subgroup_file_append(const char *, const char *, const char *)
Definition fopen.c:145
int I_free_double3(double ***)
void I_sc_free_cats(struct scCats *)
Free data of struct scCats, the structure itself remains allocated.
FILE * I_fopen_subgroup_file_old(const char *, const char *, const char *)
Definition fopen.c:167
int I_get_group_ref(const char *, struct Ref *)
read group REF file
Definition group.c:111
void I_iclass_statistics_get_name(IClass_statistics *, const char **)
Get category (class) name.
void I_sc_init_cats(struct scCats *, int, int)
Initialize structure for storing scatter plots data.
int I_free(void *)
int I_free_group_ref(struct Ref *)
free Ref structure
Definition group.c:475
FILE * I_fopen_subgroup_ref_old(const char *, const char *)
Definition ref.c:54
void I_iclass_statistics_set_nstd(IClass_statistics *, float)
Set the multiplier of standard deviation.
char ** I_list_subgroups2(const char *, const char *, int *)
Get list of subgroups which a group contains.
Definition list_subgp.c:65
struct ClassSig * I_NewClassSig(struct SigSet *)
Definition sigset.c:77
int I_find_subgroup_file(const char *, const char *, const char *)
Searches for a subgroup file in the current mapset.
int I_find_subgroup_file2(const char *, const char *, const char *, const char *)
Searches for a subgroup file in the specified mapset.
int I_put_target(const char *, const char *, const char *)
write target information
Definition target.c:59
int I_get_subgroup_ref(const char *, const char *, struct Ref *)
read subgroup REF file
Definition group.c:146
int I_find_group(const char *)
does group exist?
int I_SetSigTitle(struct SigSet *, const char *)
Definition sigset.c:356
int I_bands_to_id_scatt(const int, const int, const int, int *)
Compute scatter plot id from band ids.
int I_InitSigSet(struct SigSet *, int)
Initialize struct SigSet before use.
Definition sigset.c:64
FILE * I_fopen_group_file_new(const char *, const char *)
Definition fopen.c:69
double *** I_alloc_double3(int, int, int)
int I_read_signatures(FILE *, struct Signature *)
Read signatures from file.
Definition sig.c:147
int I_signatures_rename(I_SIGFILE_TYPE, const char *, const char *)
Rename a signature file.
int I_get_target(const char *, char *, char *)
read target information
Definition target.c:21
int I_insert_patch_to_cat_rast(const char *, struct Cell_head *, const char *)
Insert raster map patch into pgm file.
int I_find_group2(const char *, const char *)
Does the group exists?
void I_iclass_add_signature(struct Signature *, IClass_statistics *)
Add one signature.
FILE * I_fopen_group_ref_old(const char *)
Definition ref.c:30
const char * I_GetSigTitle(const struct SigSet *)
Definition sigset.c:367
int I_init_ref_color_nums(struct Ref *)
Definition group.c:250
void I_iclass_create_raster(IClass_statistics *, struct Ref *, const char *)
Create raster map based on statistics.
Definition iclass.c:160
int I_put_control_points(const char *, const struct Control_Points *)
write group control points
Definition points.c:145
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:59
void I_iclass_statistics_get_nbands(IClass_statistics *, int *)
Get number of bands.
int I_compute_scatts(struct Cell_head *, struct scCats *, const char **, const char **, int, struct scCats *, const char **)
Compute scatter plots data.
int I_georef(double, double, double *, double *, double *, double *, int)
int I_iclass_write_signatures(struct Signature *, const char *)
Write signtures to signature file.
int I_new_control_point(struct Control_Points *, double, double, double, double, int)
add new control point
Definition points.c:55
int I_find_subgroup(const char *, const char *)
Searches for a subgroup in the current mapset.
int I_sc_add_cat(struct scCats *)
Add category.
FILE * I_fopen_subgroup_ref_new(const char *, const char *)
Definition ref.c:49
int I_get_to_eol(char *, int, FILE *)
Definition eol.c:13
FILE * I_fopen_subgroup_ref_old2(const char *, const char *, const char *)
Definition ref.c:62
int I_free_signatures(struct Signature *)
Free memory allocated for struct Signature.
Definition sig.c:60
const char * I_find_signature(I_SIGFILE_TYPE, char *, const char *)
Find mapset containing signature file.
int I_get_group(char *)
Definition group.c:37
int I_iclass_statistics_get_min(IClass_statistics *, int, int *)
Get minimum value in band.
int I_WriteSigSet(FILE *, const struct SigSet *)
Definition sigset.c:394
int I_put_group(const char *)
Definition group.c:54
double I_variance(double, double, int)
Definition var.c:7
int I_iclass_statistics_get_histo(IClass_statistics *, int, int, int *)
Get histogram value in band.
int * I_alloc_int(int)
int I_list_group(const char *, const struct Ref *, FILE *)
Prints maps in a group (fancy version)
Definition list_gp.c:26
int I_iclass_statistics_get_mean(IClass_statistics *, int, float *)
Get mean of cell category values in band.
int I_put_subgroup(const char *, const char *)
Definition group.c:86
void I_iclass_statistics_get_nstd(IClass_statistics *, float *)
Get the multiplier of standard deviation.
int I_transfer_group_ref_file(const struct Ref *, int, struct Ref *)
copy Ref lists
Definition group.c:427
int I_get_group_ref2(const char *, const char *, struct Ref *)
read group REF file
Definition group.c:128
int I_signatures_copy(I_SIGFILE_TYPE, const char *, const char *, const char *)
Copy a signature file.
FILE * I_fopen_group_file_append(const char *, const char *)
Definition fopen.c:81
#define WARN_UNUSED_RESULT
Generate warning if function return value is unused.
Definition gis.h:97
I_SIGFILE_TYPE
Definition imagery.h:193
2D/3D raster map header (used also for region)
Definition gis.h:446
Vector map info.
Definition imagery.h:24