filters.sample¶
The Sample Filter performs Poisson sampling of the input PointView
. The
The practice of performing Poisson sampling via “Dart Throwing” was introduced
in the mid-1980’s by [Cook1986] and [Dippe1985], and has been applied to
point clouds in other software [Mesh2009].
The sampling can be performed in a single pass through the point cloud.
To begin,
each input point is assumed to be kept. As we iterate through the kept points,
we retrieve all neighbors within a given radius
, and mark these neighbors as
points to be discarded. All remaining kept points are appended to the output
PointView
. The full layout (i.e., the dimensions) of the input PointView
is kept in tact (the same cannot be said for filters.voxelgrid).
See also
filters.decimation and filters.voxelgrid also perform decimation.
Options¶
- radius
Minimum distance between samples. [Default: 1.0]
- 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. Iffalse
, skipped points are placed in their own point view. Ifauto
, 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
]