No project description provided
Project description
LICENSE
Description: # zmesh
[](https://badge.fury.io/py/zmesh)
Multi-Label Marching Cubes & Simplification
```python
from zmesh import Mesher
labels = ... # some dense volumetric labeled image
mesher = Mesher( (4,4,40) ) # anisotropy of image
mesher.mesh(labels) # initial marching cubes pass
meshes = []
for obj_id in mesher.ids():
meshes.append(
mesher.get_mesh(
obj_id,
normals=False, # whether to calculate normals or not
# tries to reduce triangles by this factor
# 0 disables simplification
simplification_factor=100,
# Max tolerable error in physical distance
max_simplification_error=8
)
)
mesher.erase(obj_id) # delete high res mesh
mesher.clear() # clear memory retained by mesher
```
## Installation
*Requires a C++ compiler*
```bash
sudo apt-get install python3-dev libboost-all-dev
pip install zmesh
```
## Performance Tuning
- The mesher will consume about double memory in 64 bit mode if the size of the
object exceeds <511, 1023, 511> on the x, y, or z axes. This is due to a limitation
of the 32-bit format. It might be possible to get x to 1023 as well.
## Related Projects
- [zi_lib](https://github.com/zlateski/zi_lib) - zmesh makes heavy use of Alek's C++ library.
- [Igneous](https://github.com/seung-lab/igneous) - Visualization of connectomics data using cloud computing.
## Credits
Thanks to Aleks Zlateski for creating and sharing this beautiful mesher.
Later changes by Will Silversmith and Nico Kemnitz.
## References
1. W. Lorensen and H. Cline. "Marching Cubes: A High Resolution 3D Surface Construction Algorithm". pp 163-169. Computer Graphics, Volume 21, Number 4, July 1987.
2. TK Quadratic Edge Collapse Paper
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Utilities
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Multimedia :: Graphics :: 3D Modeling
Description: # zmesh
[](https://badge.fury.io/py/zmesh)
Multi-Label Marching Cubes & Simplification
```python
from zmesh import Mesher
labels = ... # some dense volumetric labeled image
mesher = Mesher( (4,4,40) ) # anisotropy of image
mesher.mesh(labels) # initial marching cubes pass
meshes = []
for obj_id in mesher.ids():
meshes.append(
mesher.get_mesh(
obj_id,
normals=False, # whether to calculate normals or not
# tries to reduce triangles by this factor
# 0 disables simplification
simplification_factor=100,
# Max tolerable error in physical distance
max_simplification_error=8
)
)
mesher.erase(obj_id) # delete high res mesh
mesher.clear() # clear memory retained by mesher
```
## Installation
*Requires a C++ compiler*
```bash
sudo apt-get install python3-dev libboost-all-dev
pip install zmesh
```
## Performance Tuning
- The mesher will consume about double memory in 64 bit mode if the size of the
object exceeds <511, 1023, 511> on the x, y, or z axes. This is due to a limitation
of the 32-bit format. It might be possible to get x to 1023 as well.
## Related Projects
- [zi_lib](https://github.com/zlateski/zi_lib) - zmesh makes heavy use of Alek's C++ library.
- [Igneous](https://github.com/seung-lab/igneous) - Visualization of connectomics data using cloud computing.
## Credits
Thanks to Aleks Zlateski for creating and sharing this beautiful mesher.
Later changes by Will Silversmith and Nico Kemnitz.
## References
1. W. Lorensen and H. Cline. "Marching Cubes: A High Resolution 3D Surface Construction Algorithm". pp 163-169. Computer Graphics, Volume 21, Number 4, July 1987.
2. TK Quadratic Edge Collapse Paper
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Utilities
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Multimedia :: Graphics :: 3D Modeling
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
zmesh-0.1.0.tar.gz
(243.1 kB
view details)
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zmesh-0.1.0.tar.gz.
File metadata
- Download URL: zmesh-0.1.0.tar.gz
- Upload date:
- Size: 243.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c47bc278845d35899bac40601b683ba955d94310311efc5ee52987163e8ab3c
|
|
| MD5 |
41d813795f366b88a26797eba7b46b00
|
|
| BLAKE2b-256 |
c962740801ae1201cfca6fdb5ed679f9fc023a9f21f49256254b18ab7ceb03b5
|
File details
Details for the file zmesh-0.1.0-cp37-cp37m-manylinux1_x86_64.whl.
File metadata
- Download URL: zmesh-0.1.0-cp37-cp37m-manylinux1_x86_64.whl
- Upload date:
- Size: 712.4 kB
- Tags: CPython 3.7m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7176adadc3146d795e758e7af7e1d02df04c508d56ba796fbaa89d1192ad915f
|
|
| MD5 |
7cd2185ccfb936b2361a38b9fe936dde
|
|
| BLAKE2b-256 |
228d25cd77a08fdf83ef57f3bf4a2a472e7e59e28e22351476080fbedceb3ebc
|
File details
Details for the file zmesh-0.1.0-cp36-cp36m-manylinux1_x86_64.whl.
File metadata
- Download URL: zmesh-0.1.0-cp36-cp36m-manylinux1_x86_64.whl
- Upload date:
- Size: 712.9 kB
- Tags: CPython 3.6m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be95a3cce29a78b24c5749e128ed1dba7cf5ff81df0f7846cb7c43bd21cb110a
|
|
| MD5 |
f5233363466c5a34246bae12426c82cb
|
|
| BLAKE2b-256 |
df1bb1ea37d9ade75fd02c2299c25ebdf7aa3cd1a16432d11dd5b6532c7294b6
|
File details
Details for the file zmesh-0.1.0-cp35-cp35m-manylinux1_x86_64.whl.
File metadata
- Download URL: zmesh-0.1.0-cp35-cp35m-manylinux1_x86_64.whl
- Upload date:
- Size: 709.1 kB
- Tags: CPython 3.5m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6134ebe1e0173e4ce609a10cda6a96e7db7c70579e97bda11e889df8ed9d367b
|
|
| MD5 |
c17d5345ba59f43c592aeea179ea7cd9
|
|
| BLAKE2b-256 |
a67718f0b335c9e434f4f12af85c16a300e673660569f2983da3b284481da36a
|
File details
Details for the file zmesh-0.1.0-cp27-cp27m-manylinux1_x86_64.whl.
File metadata
- Download URL: zmesh-0.1.0-cp27-cp27m-manylinux1_x86_64.whl
- Upload date:
- Size: 687.4 kB
- Tags: CPython 2.7m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84246cef690d6d65c4a6153690dd3819311664f97aa9096c007386093ab139f5
|
|
| MD5 |
e29f55bbde8a7e5c52a5083a227d4cf9
|
|
| BLAKE2b-256 |
52b0bcc4fc14d7383e04c34885490b89f120c3f60d1e2f17c95f03e53658dba8
|