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
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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 045a0329418bc96c4d5b27b1db9fc4cf7899b48eec896347ad86c46732e3bc7b |
|
MD5 | f89d5844846e7a6213a47382a96b247e |
|
BLAKE2b-256 | 47db330f895465e1fc9a0cf5db7a21a434f95227fb0cef6c270906886f9e36d9 |