Skip to main content

PyGAMer: Geometry-preserving Adaptive Mesher

Project description

Geometry-preserving Adaptive MeshER

DOI PyPI Master Build Status Documentation Status

GAMer is a surface mesh improvement library developed to condition surface meshes derived from noisy biological imaging data. Using Tetgen, GAMer can generate tetrahedral meshes suitable for finite elements simulations of reaction-diffusion systems among others. GAMer has the following main features:

  • Surface mesh improvement and decimation algorithms
  • Boundary marking and other features
  • Estimation of surface curvatures
  • Generation of mesh surfaces around biological molecules

Technical Features:

  • Code is implemented in C++ and supports Python using a pybind11 wrapper (pygamer).
  • Cross system compilation using CMake and runs on Linux (64 bit), Windows (32 or 64 bit) or MacOS (64 bit).
  • Blender addon which enables easy access to GAMer features using the pygamer API.
  • Uses the Colored Abstract Simplicial Complex data (CASC structure as the flexible underlying representation of surface and tetrahedral meshes.
  • Code is hosted by GitHub under the Lesser GNU public license (LGPLv2). Please post issues or reports there.

Acknowledging your use of GAMer

Thanks for using GAMer! The developers would love to hear how you are using the tool. Please send us an email or post on GitHub letting us know.

Please cite the above Zenodo DOI to acknowledge the software version and cite the following papers:
Lee, C. T.; Laughlin, J. G.; Moody, J. B.; Amaro, R. E.; McCammon, J. A.; Holst, M.; Rangamani, P. An Open-Source Mesh Generation Platform for Biophysical Modeling Using Realistic Cellular Geometries. Biophysical Journal 2020, 118 (5), 1003–1008.

Lee, C. T.; Laughlin, J. G.; Beaumelle, N. A. de L.; Amaro, R. E.; McCammon, J. A.; Ramamoorthi, R.; Holst, M.; Rangamani, P. 3D Mesh Processing Using GAMer 2 to Enable Reaction-Diffusion Simulations in Realistic Cellular Geometries. PLOS Computational Biology 2020, 16 (4), e1007756.

Installation

The following instructions are to build the base GAMer library. If you wish to additionally compile the Blender GAMer addon, GAMer documentation, or other features please refer to the Additional Options section prior to building.

First, download a copy of the source from releases or clone the master branch.

git clone https://github.com/ctlee/gamer.git
cd gamer

Linux and Mac:

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DGAMER_TESTS=on -DCMAKE_BUILD_TYPE=Release ..
make

For Windows, we support building using Microsoft Visual Studio (MSVS) through the use of CMake generators:

mkdir build64
cd build64
cmake -DBUILD_BLENDGAMER=TRUE -G "Visual Studio 15 2017 Win64" -A x64 ..
cmake --build . --config Release

For a complete guide to installation, including configuration of PyGAMer and BlendGAMer please checkout the online installation documentation.

External libraries bundled/downloaded with/by GAMer

  • GAMer uses Tetgen to generate tetrahedralizations.

  • GAMer uses Eigen to compute eigenvalues/eigenvectors of the Local Structure Tensor.

  • GAMer uses casc as the underlying simplicial complex data structure.

  • GAMer uses GoogleTest to handle testing.

  • GAMer uses Pybind11

  • Mesh checks in the GAMer Blender addon are inspired or borrowed from 3D Print Toolbox by Campbell Barton and Meshalyzer from CellBlender.

  • Triangle is also bundled with GAMer but not currently used.

Development Build Status

Development Build Status Documentation Status

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

pygamer-2.0.7.tar.gz (1.2 MB view details)

Uploaded Source

File details

Details for the file pygamer-2.0.7.tar.gz.

File metadata

  • Download URL: pygamer-2.0.7.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.6

File hashes

Hashes for pygamer-2.0.7.tar.gz
Algorithm Hash digest
SHA256 b40bd0f650465016abfd06f7357170c96fc1bc0de48f2bee3e6383a3270474c1
MD5 f99e1c39866a1363e8f3c1b942df0dd2
BLAKE2b-256 0f80d196675b7dec117c18f08d3feadec8c619066ae00bc8ff6d53455f069c9a

See more details on using hashes here.

Supported by

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