forked from OSGeo/grass
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbouman.h
75 lines (58 loc) · 1.64 KB
/
bouman.h
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
#include <math.h>
#include <string.h>
#include <grass/raster.h>
#define LIKELIHOOD float
struct files
{
int output_fd;
int goodness_fd;
struct Categories output_labels;
int *band_fd;
int nbands;
DCELL *cellbuf;
CELL *outbuf;
char *isdata;
};
struct parms
{
char *output_map;
char *goodness_map;
char *group;
char *subgroup;
char *sigfile;
int blocksize;
int ml;
};
/* parse.c */
int parse(int, char *[], struct parms *);
/* closefiles.c */
int closefiles(struct parms *, struct files *);
/* openfiles.c */
int openfiles(struct parms *, struct files *);
/* Suboutines in alpha_max.c */
void alpha_max(double ***, double *, int, double);
void line_search(double ***, double *, int, double *, double);
int normalize(double[3]);
double func(double);
double log_like(double ***, double[3], int);
void gradient(double[3], double ***, double[3], int);
/* Subroutines in multialloc.c */
char *multialloc(size_t, int, ...);
void multifree(char *, int);
unsigned char **get_img(int, int, size_t);
void free_img(unsigned char **);
/* Subroutine in solve.c */
double solve(double (*)(double), double, double, double, int *);
/* Subroutine in invert.c */
int invert(double **, int);
#ifdef GRASS_IMAGERY_H
int segment(struct SigSet *, struct parms *, struct files *);
/* read_sig.c */
int read_signatures(struct parms *, struct SigSet *);
/* labels.c */
int create_output_labels(struct SigSet *, struct files *);
/* write_img.c */
int write_img(unsigned char **, float **, int, int, struct SigSet *, struct parms *,
struct files *);
#endif
/* Look for prototypes that use the Region structure in region.h */