8. PoissonRecon plugin

PoissonRecon is a standard plugin of cloudComPy.

The availability of the plugin can be tested with the cloudComPy.isPluginPoissonRecon() function:

isPoissonRecon_available = cc.isPluginPoissonRecon()

PoissonRecon is a submodule of cloudCompy:

import cloudComPy as cc
# ...
if cc.isPluginPoissonRecon():
    import cloudComPy.PoissonRecon
    mesh = cc.PoissonRecon.PR.PoissonReconstruction(...)
class cloudComPy.PoissonRecon.PR

We only use the static method PoissonReconstruction of this class.

static PoissonReconstruction(pc: _cloudComPy.ccPointCloud, depth: int = 8, finestCellWidth: float = 0.0, samplesPerNode: float = 1.5, withColors: bool = False, density: bool = False, pointWeight: float = 2.0, threads: int = 1, linearFit: bool = False, boundary: _PoissonRecon.BoundaryType = <BoundaryType.NEUMANN: 2>) _cloudComPy.ccMesh
Build a mesh on a point cloud using the PoissonReconstruction algorithm.

Wrapper to the ‘Poisson Surface Reconstruction (Version 9)’ algorithm ‘Poisson Surface Reconstruction’, M. Kazhdan, M. Bolitho, and H. Hoppe Symposium on Geometry Processing (June 2006), pages 61–70 http://www.cs.jhu.edu/~misha/Code/PoissonRecon/

Parameters
  • pc (ccPointCloud) – the point cloud

  • depth (int,optional) – octree depth, default 8 The maximum depth of the tree that will be used for surface reconstruction. Running at depth d corresponds to solving on a 2^d x 2^d x 2^d. Note that since the reconstructor adapts the octree to the sampling density, the specified reconstruction depth is only an upper bound.

  • finestCellWidth (float,optional) – default 0.0 The target width of the finest level octree cells (ignored if depth is specified)

  • samplesPerNode (float,optional) – default 1.5 The minimum number of sample points that should fall within an octree node as the octree construction is adapted to sampling density. This parameter specifies the minimum number of points that should fall within an octree node. For noise-free samples, small values in the range [1.0 - 5.0] can be used. For more noisy samples, larger values in the range [15.0 - 20.0] may be needed to provide a smoother, noise-reduced, reconstruction.

  • withColors (bool,optional) – default False This flag tells the reconstructor to read in color values with the input points and extrapolate those to the vertices of the output.

  • density (bool,optional) – default False If this flag is enabled, the sampling density is written out with the vertices

  • pointWeight (float,optional) – default 2.0 The importance that interpolation of the point samples is given in the formulation of the screened Poisson equation. The results of the original (unscreened) Poisson Reconstruction can be obtained by setting this value to 0.

  • threads (int,optional) – default 1 This parameter specifies the number of threads across which the solver should be parallelized

  • linearFit (bool,optional) – default False Enabling this flag has the reconstructor use linear interpolation to estimate the positions of iso-vertices.

  • boundary (PoissonReconLib::Parameters::BoundaryType,optional) – default NEUMANN Boundary type for the finite elements

Returns

the mesh (or None if failed)

Return type

ccMesh

__init__(*args, **kwargs)
class cloudComPy.PoissonRecon.BoundaryType

Members:

FREE

DIRICHLET

NEUMANN

DIRICHLET = <BoundaryType.DIRICHLET: 1>
FREE = <BoundaryType.FREE: 0>
NEUMANN = <BoundaryType.NEUMANN: 2>
__init__(self: _PoissonRecon.BoundaryType, value: int) None
property name
property value
cloudComPy.PoissonRecon.initTrace_PoissonRecon() None

Debug trace must be initialized for each Python module.

Done in module init, following the value of environment variable _CCTRACE_ (“ON” if debug traces wanted)