Loading...
Searching...
No Matches
lidar.h File Reference
`#include <grass/gis.h>`
`#include <grass/gmath.h>`
`#include <grass/vector.h>`
`#include <grass/dbmi.h>`
`#include <grass/raster.h>`
`#include <grass/segment.h>`
`#include <grass/glocale.h>`
Include dependency graph for lidar.h:

Go to the source code of this file.

## Data Structures

struct | Reg_dimens
struct | Point
struct | element

## Macros

#define | NSPLX_MAX
#define | NSPLY_MAX
#define | OVERLAP_SIZE 10 /* Subregions overlapping size. */
#define | LATO 1000 /* Side's size for v.lidar.growing. */
#define | CONTOUR 15
#define | GENERAL_ROW 0
#define | GENERAL_COLUMN 1
#define | FIRST_ROW 2
#define | LAST_ROW 3
#define | FIRST_COLUMN 4
#define | LAST_COLUMN 5
#define | F_EDGE_DETECTION_CLASS 1
#define | F_CLASSIFICATION 2
#define | F_INTERPOLATION 3
#define | F_COUNTER_OBJ 4
#define | PRE_TERRAIN 1
#define | PRE_EDGE 2
#define | PRE_UNKNOWN 3
#define | TERRAIN_SINGLE 1
#define | TERRAIN_DOUBLE 2
#define | OBJECT_DOUBLE 3
#define | OBJECT_SINGLE 4
#define | SINGLE_PULSE 1
#define | DOUBLE_PULSE 2
#define | P_BILINEAR 1
#define | P_BICUBIC 0

## Functions

void | P_zero_dim (struct Reg_dimens *)
int | P_set_dim (struct Reg_dimens *, double, double, int *, int *)
int | P_set_regions (struct Cell_head *, struct bound_box *, struct bound_box *, struct Reg_dimens, int)
int | P_get_edge (int, struct Reg_dimens *, double, double)
int | P_get_BandWidth (int, int)
double | P_estimate_splinestep (struct Map_info *, double *, double *)
struct Point * | P_Read_Vector_Region_Map (struct Map_info *, struct Cell_head *, int *, int, int)
struct Point * | P_Read_Raster_Region_Map (SEGMENT *, struct Cell_head *, struct Cell_head *, int *, int)
double | P_Mean_Calc (struct Cell_head *, struct Point *, int)
void | P_Sparse_Points (struct Map_info *, struct Cell_head *, struct bound_box, struct bound_box, double **, double *, int *, double, double, double, int, int, int, int, struct line_cats *, dbDriver *, double, char *)
int | P_Regular_Points (struct Cell_head *, struct Cell_head *, struct bound_box, struct bound_box, SEGMENT *, double *, double, double, double, double, int, int, int, int, int)
int | P_Create_Aux2_Table (dbDriver *, char *)
int | P_Create_Aux4_Table (dbDriver *, char *)
int | P_Drop_Aux_Table (dbDriver *, char *)
void | P_Aux_to_Raster (double **, int)
void | P_Aux_to_Vector (struct Map_info *, struct Map_info *, dbDriver *, char *)
double ** | P_Null_Matrix (double **)
void | normalDefBicubic (double **N, double *TN, double *Q, double **obsVect, double deltaX, double deltaY, int xNum, int yNum, double xMin, double yMin, int obsNum, int parNum, int BW)
void | normalDefBilin (double **N, double *TN, double *Q, double **obsVect, double deltaX, double deltaY, int xNum, int yNum, double xMin, double yMin, int obsNum, int parNum, int BW)
void | nCorrectLapl (double **N, double lambda, int xNum, int yNum, double deltaX, double deltaY)
void | nCorrectGrad (double **N, double lambda, int xNum, int yNum, double deltaX, double deltaY)
void | obsEstimateBicubic (double **obsV, double *obsE, double *parV, double deltX, double deltY, int xNm, int yNm, double xMi, double yMi, int obsN)
double | dataInterpolateBicubic (double x, double y, double deltaX, double deltaY, int xNum, int yNum, double xMin, double yMin, double *parVect)
void | obsEstimateBilin (double **obsV, double *obsE, double *parV, double deltX, double deltY, int xNm, int yNm, double xMi, double yMi, int obsN)
double | dataInterpolateBilin (double x, double y, double deltaX, double deltaY, int xNum, int yNum, double xMin, double yMin, double *parVect)

## Macro Definition Documentation

## CONTOUR

#define CONTOUR 15

Definition at line 39 of file lidar.h.

Referenced by P_Mean_Calc().

## DOUBLE_PULSE

#define DOUBLE_PULSE 2

Definition at line 62 of file lidar.h.

## F_CLASSIFICATION

#define F_CLASSIFICATION 2

Definition at line 48 of file lidar.h.

## F_COUNTER_OBJ

#define F_COUNTER_OBJ 4

Definition at line 50 of file lidar.h.

## F_EDGE_DETECTION_CLASS

#define F_EDGE_DETECTION_CLASS 1

Definition at line 47 of file lidar.h.

## F_INTERPOLATION

#define F_INTERPOLATION 3

Definition at line 49 of file lidar.h.

## FIRST_COLUMN

#define FIRST_COLUMN 4

Definition at line 44 of file lidar.h.

Referenced by P_set_regions().

## FIRST_ROW

#define FIRST_ROW 2

Definition at line 42 of file lidar.h.

Referenced by P_set_regions().

## GENERAL_COLUMN

#define GENERAL_COLUMN 1

Definition at line 41 of file lidar.h.

Referenced by P_set_regions().

## GENERAL_ROW

#define GENERAL_ROW 0

Definition at line 40 of file lidar.h.

Referenced by P_set_regions().

## LAST_COLUMN

#define LAST_COLUMN 5

Definition at line 45 of file lidar.h.

Referenced by P_set_regions().

## LAST_ROW

#define LAST_ROW 3

Definition at line 43 of file lidar.h.

Referenced by P_set_regions().

## LATO

#define LATO 1000 /* Side's size for v.lidar.growing. */

Definition at line 38 of file lidar.h.

## NSPLX_MAX

#define NSPLX_MAX

Value:
150 /* Maximum number of splines along East direction used in the \
subregions interpolation */

Definition at line 33 of file lidar.h.

## NSPLY_MAX

#define NSPLY_MAX

Value:
150 /* Maximum number of splines along North direction used in the \
subregions interpolation */

Definition at line 35 of file lidar.h.

## OBJECT_DOUBLE

#define OBJECT_DOUBLE 3

Definition at line 58 of file lidar.h.

## OBJECT_SINGLE

#define OBJECT_SINGLE 4

Definition at line 59 of file lidar.h.

## OVERLAP_SIZE

#define OVERLAP_SIZE 10 /* Subregions overlapping size. */

Definition at line 37 of file lidar.h.

## P_BICUBIC

#define P_BICUBIC 0

Definition at line 65 of file lidar.h.

Referenced by P_get_edge().

## P_BILINEAR

#define P_BILINEAR 1

Definition at line 64 of file lidar.h.

Referenced by P_get_BandWidth(), and P_get_edge().

## PRE_EDGE

#define PRE_EDGE 2

Definition at line 53 of file lidar.h.

## PRE_TERRAIN

#define PRE_TERRAIN 1

Definition at line 52 of file lidar.h.

## PRE_UNKNOWN

#define PRE_UNKNOWN 3

Definition at line 54 of file lidar.h.

## SINGLE_PULSE

#define SINGLE_PULSE 1

Definition at line 61 of file lidar.h.

## TERRAIN_DOUBLE

#define TERRAIN_DOUBLE 2

Definition at line 57 of file lidar.h.

## TERRAIN_SINGLE

#define TERRAIN_SINGLE 1

Definition at line 56 of file lidar.h.

## Function Documentation

## dataInterpolateBicubic()

double dataInterpolateBicubic | ( | double | x,
|  | double | y,
|  | double | deltaX,
|  | double | deltaY,
|  | int | xNum,
|  | int | yNum,
|  | double | xMin,
|  | double | yMin,
|  | double * | parVect )

Definition at line 497 of file InterpSpline.c.

References node_x(), node_y(), order(), phi_33(), phi_34(), phi_43(), phi_44(), and x.

Referenced by P_Regular_Points(), and P_Sparse_Points().

## dataInterpolateBilin()

double dataInterpolateBilin | ( | double | x,
|  | double | y,
|  | double | deltaX,
|  | double | deltaY,
|  | int | xNum,
|  | int | yNum,
|  | double | xMin,
|  | double | yMin,
|  | double * | parVect )

Definition at line 604 of file InterpSpline.c.

References node_x(), node_y(), order(), phi(), and x.

Referenced by P_Regular_Points(), and P_Sparse_Points().

## nCorrectGrad()

void nCorrectGrad | ( | double ** | N,
|  | double | lambda,
|  | int | xNum,
|  | int | yNum,
|  | double | deltaX,
|  | double | deltaY )

Definition at line 399 of file InterpSpline.c.

## nCorrectLapl()

void nCorrectLapl | ( | double ** | N,
|  | double | lambda,
|  | int | xNum,
|  | int | yNum,
|  | double | deltaX,
|  | double | deltaY )

Definition at line 199 of file InterpSpline.c.

References order().

## normalDefBicubic()

void normalDefBicubic | ( | double ** | N,
|  | double * | TN,
|  | double * | Q,
|  | double ** | obsVect,
|  | double | deltaX,
|  | double | deltaY,
|  | int | xNum,
|  | int | yNum,
|  | double | xMin,
|  | double | yMin,
|  | int | obsNum,
|  | int | parNum,
|  | int | BW )

Definition at line 107 of file InterpSpline.c.

References node_x(), node_y(), order(), phi_33(), phi_34(), phi_43(), and phi_44().

## normalDefBilin()

void normalDefBilin | ( | double ** | N,
|  | double * | TN,
|  | double * | Q,
|  | double ** | obsVect,
|  | double | deltaX,
|  | double | deltaY,
|  | int | xNum,
|  | int | yNum,
|  | double | xMin,
|  | double | yMin,
|  | int | obsNum,
|  | int | parNum,
|  | int | BW )

Definition at line 291 of file InterpSpline.c.

References node_x(), node_y(), order(), and phi().

## obsEstimateBicubic()

void obsEstimateBicubic | ( | double ** | obsV,
|  | double * | obsE,
|  | double * | parV,
|  | double | deltX,
|  | double | deltY,
|  | int | xNm,
|  | int | yNm,
|  | double | xMi,
|  | double | yMi,
|  | int | obsN )

Definition at line 434 of file InterpSpline.c.

References node_x(), node_y(), order(), phi_33(), phi_34(), phi_43(), and phi_44().

## obsEstimateBilin()

void obsEstimateBilin | ( | double ** | obsV,
|  | double * | obsE,
|  | double * | parV,
|  | double | deltX,
|  | double | deltY,
|  | int | xNm,
|  | int | yNm,
|  | double | xMi,
|  | double | yMi,
|  | int | obsN )

Definition at line 556 of file InterpSpline.c.

References node_x(), node_y(), order(), and phi().

## P_Aux_to_Raster()

void P_Aux_to_Raster | ( | double ** | matrix,
|  | int | fd )

Definition at line 540 of file zones.c.

References G_incr_void_ptr(), and G_percent().

## P_Aux_to_Vector()

void P_Aux_to_Vector | ( | struct Map_info * | Map,
|  | struct Map_info * | Out,
|  | dbDriver * | driver,
|  | char * | tab_name )

Definition at line 565 of file zones.c.

References Point::coordX, Point::coordY, and Point::coordZ.

## P_Create_Aux2_Table()

int P_Create_Aux2_Table | ( | dbDriver * | driver,
|  | char * | tab_name )

Definition at line 465 of file zones.c.

References FALSE, G_debug(), G_warning(), and TRUE.

## P_Create_Aux4_Table()

int P_Create_Aux4_Table | ( | dbDriver * | driver,
|  | char * | tab_name )

Definition at line 493 of file zones.c.

References FALSE, G_debug(), G_warning(), and TRUE.

## P_Drop_Aux_Table()

int P_Drop_Aux_Table | ( | dbDriver * | driver,
|  | char * | tab_name )

Definition at line 529 of file zones.c.

## P_estimate_splinestep()

double P_estimate_splinestep | ( | struct Map_info * | Map,
|  | double * | dens,
|  | double * | dist )

Definition at line 259 of file zones.c.

References G_get_set_window(), NULL, and x.

## P_get_BandWidth()

int P_get_BandWidth | ( | int | interpolator,
|  | int | nsplines )

Definition at line 218 of file zones.c.

References P_BILINEAR.

## P_get_edge()

int P_get_edge | ( | int | interpolator,
|  | struct Reg_dimens * | dim,
|  | double | pe,
|  | double | pn )

Definition at line 196 of file zones.c.

References Reg_dimens::edge_h, Reg_dimens::edge_v, P_BICUBIC, and P_BILINEAR.

## P_Mean_Calc()

double P_Mean_Calc | ( | struct Cell_head * | Elaboration,
|  | struct Point * | obs,
|  | int | npoints )

Definition at line 231 of file zones.c.

References CONTOUR, and Point::coordZ.

## P_Null_Matrix()

double ** P_Null_Matrix | ( | double ** |  | ) |

References x.

## P_Read_Raster_Region_Map()

struct Point * P_Read_Raster_Region_Map | ( | SEGMENT * | in_seg,
|  | struct Cell_head * | Elaboration,
|  | struct Cell_head * | Original,
|  | int * | num_points,
|  | int | dim_vect )

Definition at line 387 of file zones.c.

References Point::coordX, Point::coordY, Point::coordZ, Segment_get(), and x.

## P_Read_Vector_Region_Map()

struct Point * P_Read_Vector_Region_Map | ( | struct Map_info * | Map,
|  | struct Cell_head * | Elaboration,
|  | int * | num_points,
|  | int | dim_vect,
|  | int | layer )

Definition at line 322 of file zones.c.

References Point::cat, Point::coordX, Point::coordY, Point::coordZ, Point::lineID, NULL, and x.

## P_Regular_Points()

int P_Regular_Points | ( | struct Cell_head * | Elaboration,
|  | struct Cell_head * | Original,
|  | struct bound_box | General,
|  | struct bound_box | Overlap,
|  | SEGMENT * | out_seg,
|  | double * | param,
|  | double | passoN,
|  | double | passoE,
|  | double | overlap,
|  | double | mean,
|  | int | nsplx,
|  | int | nsply,
|  | int | nrows,
|  | int | ncols,
|  | int | bilin )

Definition at line 199 of file lidar/raster.c.

References dataInterpolateBicubic(), dataInterpolateBilin(), Segment_get(), Segment_put(), X, and Y.

## P_set_dim()

int P_set_dim | ( | struct Reg_dimens * | dim,
|  | double | pe,
|  | double | pn,
|  | int * | nsplx,
|  | int * | nsply )

Definition at line 117 of file zones.c.

References Reg_dimens::edge_h, Reg_dimens::edge_v, Reg_dimens::ew_size, G_get_window(), Reg_dimens::overlap, and Reg_dimens::sn_size.

## P_set_regions()

int P_set_regions | ( | struct Cell_head * | Elaboration,
|  | struct bound_box * | General,
|  | struct bound_box * | Overlap,
|  | struct Reg_dimens | dim,
|  | int | type )

Definition at line 53 of file zones.c.

References Reg_dimens::edge_h, Reg_dimens::edge_v, Reg_dimens::ew_size, FIRST_COLUMN, FIRST_ROW, G_get_window(), GENERAL_COLUMN, GENERAL_ROW, LAST_COLUMN, LAST_ROW, Reg_dimens::overlap, and Reg_dimens::sn_size.

## P_Sparse_Points()

void P_Sparse_Points | ( | struct Map_info * | Out,
|  | struct Cell_head * | Elaboration,
|  | struct bound_box | General,
|  | struct bound_box | Overlap,
|  | double ** | obs,
|  | double * | param,
|  | int * | line_num,
|  | double | pe,
|  | double | pn,
|  | double | overlap,
|  | int | nsplx,
|  | int | nsply,
|  | int | num_points,
|  | int | bilin,
|  | struct line_cats * | categories,
|  | dbDriver * | driver,
|  | double | mean,
|  | char * | tab_name )

Definition at line 9 of file lidar/raster.c.

References dataInterpolateBicubic(), dataInterpolateBilin(), and G_fatal_error().

## P_zero_dim()

void P_zero_dim | ( | struct Reg_dimens * | dim | ) |

Definition at line 9 of file zones.c.

References Reg_dimens::edge_h, Reg_dimens::edge_v, Reg_dimens::ew_size, Reg_dimens::overlap, and Reg_dimens::sn_size.