File: imagery.h

package info (click to toggle)
grass 6.0.2-6
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 40,044 kB
  • ctags: 31,303
  • sloc: ansic: 321,125; tcl: 25,676; sh: 11,176; cpp: 10,098; makefile: 5,025; fortran: 1,846; yacc: 493; lex: 462; perl: 133; sed: 1
file content (126 lines) | stat: -rw-r--r-- 2,746 bytes parent folder | download | duplicates (2)
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
#ifndef GRASS_IMAGERY_H
#define GRASS_IMAGERY_H

#include "gis.h"

#define INAME_LEN 30

struct Ref
{
    int nfiles;
    struct Ref_Files
    {
	char name[30]; /* length is not in sync with other definitions */
	char mapset[30];
    } *file;
    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 */
    } 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 *e2;
    double *n2;
    int *status;
} ;

struct Signature
{
    int nbands;
    int nsigs;
    char title[100];
    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;
    } *sig;
} ;

struct Cluster
{
    int nbands;
    int npoints;
    CELL **points ;
    int np;

    double *band_sum     ; /* sum over each band */
    double *band_sum2    ; /* sum of squares over each band */

    int    *class        ; /* class of each point */
    int    *reclass      ; /* for removing empty classes  */
    int    *count        ; /* number of points in each class */
    int    *countdiff    ; /* change in count */
    double **sum         ; /* sum over band per class */
    double **sumdiff     ; /* change in sum */
    double **sum2        ; /* sum of squares per band per class */
    double **mean        ; /* initial class means */
    struct Signature S   ; /* final signature(s) */

    int nclasses;
    int merge1, merge2;
    int iteration;
    double percent_stable;
} ;

struct SigSet
{
    int nbands;
    int nclasses;
    char *title;
    struct ClassSig
    {
	long classnum;
        char *title;
        int used;
	int type;
        int nsubclasses;
        struct SubSig
        {
            double N;
	    double pi;
            double *means;
            double **R;
            double **Rinv;
	    double cnst;
            int used;
        } *SubSig;
        struct ClassData
        {
	    int npixels;
	    int count;
	    double **x;   /* pixel list: x[npixels][nbands] */
	    double **p;   /* prob        p[npixels][subclasses] */
        } ClassData;
    } *ClassSig;
};

#define SIGNATURE_TYPE_MIXED 1

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

#include "imagedefs.h"

#endif