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:
- __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)