# filters.greedyprojection

The Greedy Projection Filter creates a mesh (triangulation) in an attempt to reconstruct the surface of an area from a collection of points.

GreedyProjectionTriangulation is an implementation of a greedy triangulation algorithm for 3D points based on local 2D projections. It assumes locally smooth surfaces and relatively smooth transitions between areas with different point densities. The algorithm itself is identical to that used in the PCL library.

Default Embedded Stage

This stage is enabled by default

## Example

    [
        "input.las",
        {
            "type": "filters.greedyprojection",
            "multiplier": 2,
            "radius": 10
        },
        {
            "type":"writers.ply",
            "faces":true,
            "filename":"output.ply"
        }
    ]

## Options

multiplier

  Nearest neighbor distance multiplier. [Required]

radius

  Search radius for neighbors. [Required]

num_neighbors

  Number of nearest neighbors to consider. [Required]

min_angle

  Minimum angle for created triangles. [Default: 10 degrees]

max_angle

  Maximum angle for created triangles. [Default: 120 degrees]

eps_angle

  Maximum normal difference angle for triangulation consideration. [Default: 45 degrees]

where

  An expression that limits points passed to a filter. Points that don’t pass the expression skip the stage but are available to subsequent stages in a pipeline. [Default: no filtering]

where_merge

  A strategy for merging points skipped by a ‘where’ option when running in standard mode. If `true`, the skipped points are added to the first point view returned by the skipped filter. If `false`, skipped points are placed in their own point view. If `auto`, skipped points are merged into the returned point view provided that only one point view is returned and it has the same point count as it did when the filter was run. [Default: `auto`]