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

Uploaded Source

Built Distributions

cgal_pybind-0.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (888.4 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

cgal_pybind-0.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (888.3 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

cgal_pybind-0.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (890.1 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

cgal_pybind-0.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (888.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

cgal_pybind-0.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (889.0 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

cgal_pybind-0.1.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (888.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

File details

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

File metadata

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

File hashes

Hashes for cgal_pybind-0.1.6.tar.gz
Algorithm Hash digest
SHA256 528b122f4553d911a2284f9a32ab53de720cf9c8445716b55de49038e5d3f3ee
MD5 4eb6bf3bac4ac8b1821f282d14631262
BLAKE2b-256 a110dd772b4e6e81dedd9e93146841b63548d78c0eb42c40345459252d50ce5c

See more details on using hashes here.

File details

Details for the file cgal_pybind-0.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cgal_pybind-0.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a5d8ee44c64109da1dd02816e8402a8cde4c2cf63b0dc4e6f40e0363e8eb8a51
MD5 ec3328ee2119981b9be07443b9e29e44
BLAKE2b-256 520c0587806b1bb8fa455d8ec2bd3f094ec4f7052e07cc657b29a89626ce9fae

See more details on using hashes here.

File details

Details for the file cgal_pybind-0.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cgal_pybind-0.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d9b1e72daed5103d162cadbb591b04121c2beb5626e4fe253b0a3c0c7c3a4c1f
MD5 2bfc3a522bc43fc9e94cb0048ce06f01
BLAKE2b-256 c3f2146cd5699e1c74ee9afeb03a07ea9ca4ee6fa2fefc92ea8b9f0b08570298

See more details on using hashes here.

File details

Details for the file cgal_pybind-0.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cgal_pybind-0.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 05c43ca2a9c27a35c944ad33c882d32a69d0e1239eace4dbf3e484dc2add5e5c
MD5 4992d276081a8680b0d7307090073af0
BLAKE2b-256 7ebc1a0673a00a400b2e675f054475d51f05c56f3443a14dbdaaaad1c33786d7

See more details on using hashes here.

File details

Details for the file cgal_pybind-0.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cgal_pybind-0.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 93a664f90dcdee82ae24453b85257be07db73abf29be8d94c696d18d00a8ca14
MD5 72e450ca06a30a67817a5536eac52aae
BLAKE2b-256 a820bd134874fde1018f0c5219f868b8950bcf6f3333bf0684a91cefca9d3ea7

See more details on using hashes here.

File details

Details for the file cgal_pybind-0.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cgal_pybind-0.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 66b8208ce852dc4f5158daf92458f903a217a8d74108c8e62170a271205c2110
MD5 19323c74352009a9272b6d278bacde08
BLAKE2b-256 3443cc6bc002aaae4585cb478a2b2fd80b201826517cf2731e0fed7561480d57

See more details on using hashes here.

File details

Details for the file cgal_pybind-0.1.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cgal_pybind-0.1.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09906fabe32e9224bb0c82f308925a16cd5c8179777997a19266018e0d497fe6
MD5 54f097659a23bb29bb611daa332987a3
BLAKE2b-256 fb7075dcfa40f55e697a0f9c0bd45a13c9f629d5bbe9b0c48f35144364c91782

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