Skip to main content

Python bindings for some CGAL classes

Project description

Overview:

Some CGAL Python bindings built with pybind11. This includes some auxiliary functions, as well, as mentioned in the CGAL-free portion.

CGAL Methods:

  • Skeletonization/contraction

  • Segmentation

  • Discrete authalic parametrization of surface mesh

BBP Atlas tools (CGAL-free)

  • Volume slicer (used to split the layer 2/3 of the AIBS mouse isocortex)

  • Streamlines intersector (used for flat mapping of brain regions)

  • Thickness estimator (used for placement hints computation)

  • Utils: a 3D vector field interpolator (trilinear interpolation)

Installation

If one is on a Linux platform, one should be able to use the compiled Python wheels. This is the recommended way. Otherwise, use the developer instructions to try and install it that way.

$ pip install cgal-pybind

Examples

Several examples are available in the rendered ipython notebook: https://github.com/BlueBrain/cgal-pybind/blob/main/examples/Examples.ipynb

Tests

pip install tox
tox

Requirements

  • cmake > 3.0.9

  • C++ compiler (with C++17 support)

  • Boost

  • CGAL header

  • Eigen3

Unit tests requirement:

  • trimesh Python package

Developer instructions

It is assumed that the develop has installed the C++ requirements as noted above.

CGAL in header only format can be used, but it still will require dependencies. These include things like eigen3-devel, gmp-devel, mpfr-devel on RedHat like Linux systems. On modern Debian systems, libcgal-dev and libeigen3-dev can be used instead of downloading the CGAL library. More information can be found on the CGAL installation getting started https://doc.cgal.org/latest/Manual/usage.html

# if CGAL header-only is used, if using system packages, skip the following two lines.
git clone https://github.com/CGAL/cgal.git $TARGET_CGAL_DIRECTORY
export CGAL_DIR=$TARGET_CGAL_DIRECTORY

git clone https://github.com/BlueBrain/cgal-pybind
cd cgal-pybind
git submodule init
git submodule update
pip install .

Acknowledgements

The development of this software was supported by funding to the Blue Brain Project, a research center of the École polytechnique fédérale de Lausanne (EPFL), from the Swiss government’s ETH Board of the Swiss Federal Institutes of Technology.

For license and authors, see LICENSE.txt and AUTHORS.txt respectively.

Copyright (c) 2022-2024 Blue Brain Project/EPFL

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

cgal_pybind-0.0.0.tar.gz (833.8 kB view details)

Uploaded Source

File details

Details for the file cgal_pybind-0.0.0.tar.gz.

File metadata

  • Download URL: cgal_pybind-0.0.0.tar.gz
  • Upload date:
  • Size: 833.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for cgal_pybind-0.0.0.tar.gz
Algorithm Hash digest
SHA256 045a0329418bc96c4d5b27b1db9fc4cf7899b48eec896347ad86c46732e3bc7b
MD5 f89d5844846e7a6213a47382a96b247e
BLAKE2b-256 47db330f895465e1fc9a0cf5db7a21a434f95227fb0cef6c270906886f9e36d9

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