point_cloud_to_mesh
point_cloud_to_mesh(P, N, method='PSR', psr_screening_weight=10.0, psr_depth=10, psr_outer_boundary_type='Neumann', verbose=False)
Convert a point cloud with normal information to a polyline or triangle mesh.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
P |
(n_p,d) numpy array
|
reconstructed point cloud points |
required |
N |
(n_p,d) numpy array
|
reconstructed point cloud normals |
required |
method |
int, optional (default 'PSR')
|
which reconstruction method to use. Currently, only 'PSR' is supported, which is the official implementation of "Screened Poisson Surface Reconstruction" [Kazhdan and Hoppe 2013]. |
'PSR'
|
psr_screening_weight |
float, optional (default 1.)
|
PSR screening weight |
10.0
|
psr_depth |
int, optional (default 8)
|
PSR tree depth |
10
|
psr_outer_boundary_type |
string, optional (default "Neumann")
|
The boundary condition to use for the outer boundary in PSR. Valid options are "Neumann" and "Dirichlet". |
'Neumann'
|
verbose |
bool, optional (default False)
|
whether to output details on the algorithm when it's running |
False
|
Returns:
Name | Type | Description |
---|---|---|
V |
(n,d) numpy array
|
reconstructed vertices |
F |
(m,d) numpy array
|
reconstructed polyline / triangle mesh indices |
See Also
poisson_surface_reconstruction.
Notes
Gpytoolbox makes some choices for default parameters which are not the same as in the official PSR paper or repository.
Examples:
```python import gpytoolbox as gpy
Normal data in P,N
P = np.load("points.npy") V,F = gpy.point_cloud_to_mesh(P,N)
Source code in src/gpytoolbox/point_cloud_to_mesh.py
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
|