This file is indexed.

/usr/lib/grass74/include/grass/imagery.h is in grass-dev 7.4.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
#ifndef GRASS_IMAGERY_H
#define GRASS_IMAGERY_H

#include <grass/gis.h>
#include <grass/raster.h>

/* File/directory name lengths */
#define INAME_LEN GNAME_MAX	/* coupled to raster map name length */

struct Ref_Color
{
    unsigned char *table;	/* color table for min-max values */
    unsigned char *index;	/* data translation index */
    unsigned char *buf;	/* data buffer for reading color file */
    int fd;			/* for image i/o */
    CELL min, max;		/* min,max CELL values */
    int n;			/* index into Ref_Files */
};

struct Ref_Files
{
    char name[INAME_LEN];	/* length is not in sync with other definitions */
    char mapset[INAME_LEN];
};

struct Ref
{
    int nfiles;
    struct Ref_Files *file;
    struct Ref_Color red, grn, blu;
};

struct Tape_Info
{
    char title[75];
    char id[2][75];
    char desc[5][75];
};

struct Control_Points
{
    int count;
    double *e1;
    double *n1;
    double *z1;
    double *e2;
    double *n2;
    double *z2;
    int *status;
};

struct One_Sig
{
    char desc[100];
    int npoints;
    double *mean;		/* one mean for each band */
    double **var;		/* covariance band-band   */
    int status;		/* may be used to 'delete' a signature */
    float r, g, b;		/* color */
    int have_color;
};

struct Signature
{
    int nbands;
    int nsigs;
    char title[100];
    struct One_Sig *sig;
};

struct SubSig
{
    double N;
    double pi;
    double *means;
    double **R;
    double **Rinv;
    double cnst;
    int used;
};

struct ClassData
{
    int npixels;
    int count;
    double **x;		/* pixel list: x[npixels][nbands] */
    double **p;		/* prob        p[npixels][subclasses] */
};

struct ClassSig
{
    long classnum;
    char *title;
    int used;
    int type;
    int nsubclasses;
    struct SubSig *SubSig;
    struct ClassData ClassData;
};

struct SigSet
{
    int nbands;
    int nclasses;
    char *title;
    struct ClassSig *ClassSig;
};

/* IClass */

/*! Holds statistical values for creating histograms and raster maps for one class.

  One class is represented by one category (cat).
*/
typedef struct
{
    int cat;                /*!< class */
    const char *name;       /*!< signature description (class name) */
    const char *color;      /*!< class color (RRR:GGG:BBB)*/
    int nbands;             /*!< number of bands */
    
    int ncells;             /*!< number of cells in training areas */

    int *band_min;          /*!< minimum value for each band */
    int *band_max;          /*!< maximum value for each band */
    float *band_sum;        /*!< sum of values for each band */
    float *band_mean;       /*!< mean of values for each band */
    float *band_stddev;     /*!< standard deviation for each band */

    float **band_product;   /*!< sum of products of cell category values of 2 bands */
    int **band_histo;       /*!< number of cells for cell category value (0-256) for each band */

    int *band_range_min;    /*!< min range of values to create raster map */
    int *band_range_max;    /*!< max range of values to create raster map */
    float nstd;             /*!< multiplier of standard deviation */

    
} IClass_statistics;

/* wx.iscatt backend */

#define SC_SCATT_DATA          0 
#define SC_SCATT_CONDITIONS    1

/*! Holds list of all categories. 
    It can contain selected areas for scatter plots (SC_SCATT_CONDITIONS type) 
    or computed scatter plots (SC_SCATT_DATA type).
*/
struct scCats 
{
    int type;        /*!< SC_SCATT_DATA -> computed scatter plots, SC_SCATT_CONDITIONS -> 
                          set conditions for scatter plots to be computed */

    int n_cats;      /*!< number of allocated categories */
    
    int n_bands;     /*!< number of analyzed bands */
    int n_scatts;    /*!< number of possible scattter plots, which can be created from bands */

    int   n_a_cats;  /*!< number of used/active categories */
    int * cats_ids;  /*!< (cat_idx->cat_id) array index is internal idx (position in cats_arr) 
                          and id is saved in it's position*/
    int * cats_idxs; /*!< (cat_id->cat_idx) array index is id and internal idx is saved 
                           in it's position*/

    struct scScatts ** cats_arr; /*!< array of pointers to struct scScatts */
};


/*! Holds list of all scatter plots, which belongs to category. 
*/
struct scScatts
{
    int n_a_scatts;     /*!< number of used/active scatter plots*/
    
    int * scatts_bands; /*!< array of bands, which represents the scatter plots, 
                             every scatter plot has assigned two bads
                             (size of the array is n_a_scatts * 2 -> idx*2)*/
    int * scatt_idxs;   /*!< (scatt_id->scatt_idx) internal idx of the scatter plot 
                             (position in scatts_arr)*/

    struct scdScattData ** scatts_arr; /*!< array of pointers to scdScattData */
};

/*! Holds scatter plot data.
*/
struct scdScattData
{
    int n_vals; /*!< Number of values in scatter plot 
                     (length of b_conds_arr or scatt_vals_arr arrays). */

    unsigned char  * b_conds_arr; /*!< array of selected areas 
                                      (used for SC_SCATT_CONDITIONS type) otherwise NULL */
    unsigned int  * scatt_vals_arr; /*!< array of computed areas 
                                        (used for SC_SCATT_DATA type) otherwise NULL */
};

#define SIGNATURE_TYPE_MIXED 1

#define GROUPFILE "CURGROUP"
#define SUBGROUPFILE "CURSUBGROUP"

#include <grass/defs/imagery.h>

#endif