Skip to main content

PyGAMer: Geometry-preserving Adaptive Mesher

Project description

Geometry-preserving Adaptive MeshER

DOI

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.

Build Status

Master:
Master Build Status Build status Documentation Status

Development:
Development Build Status Build status

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 paper:
Lee, C. T.; Laughlin, J. G.; Angliviel de La Beaumelle, N.; Amaro, R.; McCammon, J. A.; Ramamoorthi, R.; Holst, M. J.; Rangamani, P. GAMer 2: A System for 3D Mesh Processing of Cellular Electron Micrographs. bioRxiv 2019, 534479.

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.

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.2.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

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

pygamer-2.0.2-cp37-cp37m-macosx_10_14_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.7mmacOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: pygamer-2.0.2.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • 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.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for pygamer-2.0.2.tar.gz
Algorithm Hash digest
SHA256 753262afc341edd5080169c4cc21e33b913c190292d1f155f27f1c483b7e8dff
MD5 697326f175bb760c351812375eb7e4a2
BLAKE2b-256 acbe610074f14bc1e6d6a4d888824a8ad702eceb70eb90f2177777435f5679a7

See more details on using hashes here.

File details

Details for the file pygamer-2.0.2-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: pygamer-2.0.2-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for pygamer-2.0.2-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 3e150935bba644d739b31cc5c78f8cf4d092b38aeab406fbed7ca2bed110282e
MD5 43cd639d129cb31e41bc047d81ef8930
BLAKE2b-256 e20e17f0eace8d6eb3fa754abd2f476c948da9b0bd955f3a7593eec66e9bfc61

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