Skip to main content

No project description provided

Project description

LICENSE
Description: # zmesh
[![PyPI version](https://badge.fury.io/py/zmesh.svg)](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


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)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

zmesh-0.1.0-cp37-cp37m-manylinux1_x86_64.whl (712.4 kB view details)

Uploaded CPython 3.7m

zmesh-0.1.0-cp36-cp36m-manylinux1_x86_64.whl (712.9 kB view details)

Uploaded CPython 3.6m

zmesh-0.1.0-cp35-cp35m-manylinux1_x86_64.whl (709.1 kB view details)

Uploaded CPython 3.5m

zmesh-0.1.0-cp27-cp27m-manylinux1_x86_64.whl (687.4 kB view details)

Uploaded CPython 2.7m

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

Hashes for zmesh-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5c47bc278845d35899bac40601b683ba955d94310311efc5ee52987163e8ab3c
MD5 41d813795f366b88a26797eba7b46b00
BLAKE2b-256 c962740801ae1201cfca6fdb5ed679f9fc023a9f21f49256254b18ab7ceb03b5

See more details on using hashes here.

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

Hashes for zmesh-0.1.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7176adadc3146d795e758e7af7e1d02df04c508d56ba796fbaa89d1192ad915f
MD5 7cd2185ccfb936b2361a38b9fe936dde
BLAKE2b-256 228d25cd77a08fdf83ef57f3bf4a2a472e7e59e28e22351476080fbedceb3ebc

See more details on using hashes here.

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

Hashes for zmesh-0.1.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 be95a3cce29a78b24c5749e128ed1dba7cf5ff81df0f7846cb7c43bd21cb110a
MD5 f5233363466c5a34246bae12426c82cb
BLAKE2b-256 df1bb1ea37d9ade75fd02c2299c25ebdf7aa3cd1a16432d11dd5b6532c7294b6

See more details on using hashes here.

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

Hashes for zmesh-0.1.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6134ebe1e0173e4ce609a10cda6a96e7db7c70579e97bda11e889df8ed9d367b
MD5 c17d5345ba59f43c592aeea179ea7cd9
BLAKE2b-256 a67718f0b335c9e434f4f12af85c16a300e673660569f2983da3b284481da36a

See more details on using hashes here.

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

Hashes for zmesh-0.1.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 84246cef690d6d65c4a6153690dd3819311664f97aa9096c007386093ab139f5
MD5 e29f55bbde8a7e5c52a5083a227d4cf9
BLAKE2b-256 52b0bcc4fc14d7383e04c34885490b89f120c3f60d1e2f17c95f03e53658dba8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page