1
/* These next defines determine the size of the sub-window that will
2
* be held in memory. Larger values will require
3
* more memory (but less i/o) If you increase these values, keep in
4
* mind that although you think the i/o will decrease, system paging
5
* (which goes on behind the scenes) may actual increase the i/o.
8
#include <grass/imagery.h>
9
#include <grass/ortholib.h>
12
/* the large, the worse the results in mountaneous regions!! 128 is MAX!
13
* but: the large, the slower - wants a dynamic implementation - TODO
14
* possible solution: ratio local elevation range/camera height = 0.003
17
#define TIE_ROW_DIST 128
18
#define TIE_COL_DIST 128
23
/* do not modify past this point */
31
/* activate debug in Gmakefile */
36
GLOBAL ROWCOL row_map[NROWS][NCOLS];
37
GLOBAL ROWCOL col_map[NROWS][NCOLS];
38
GLOBAL ROWCOL row_min[NROWS];
39
GLOBAL ROWCOL row_max[NROWS];
40
GLOBAL ROWCOL row_left[NROWS];
41
GLOBAL ROWCOL row_right[NROWS];
42
GLOBAL IDX row_idx[NROWS];
43
GLOBAL int matrix_rows, matrix_cols;
46
GLOBAL RASTER_MAP_TYPE map_type;
47
GLOBAL CELL **cell_buf;
48
GLOBAL char *temp_name;
51
GLOBAL char **new_name;
54
GLOBAL struct Ortho_Image_Group group;
55
GLOBAL struct Ortho_Photo_Points cp;
56
GLOBAL struct Ortho_Control_Points cpz;
57
GLOBAL struct Ortho_Control_Points temp_points;
58
GLOBAL struct Ortho_Camera_File_Ref cam_info;
60
GLOBAL struct Cell_head elevhd;
61
GLOBAL DCELL *elevbuf;
63
GLOBAL char *elev_layer;
64
GLOBAL char *mapset_elev;
67
/* georef coefficients */
68
GLOBAL double E12[3], N12[3], Z12[3];
69
GLOBAL double E21[3], N21[3], Z21[3];
70
GLOBAL double E12a, E12b, E12c, N12a, N12b, N12c;
71
GLOBAL double E21a, E21b, E21c, N21a, N21b, N21c;
73
GLOBAL struct Cell_head target_window;
75
GLOBAL Tie_Point **T_Point;
77
#include "local_proto.h"