Skip to main content

A spatial index implementation for spheres, morphologies and synapses

Project description

brain-indexer

brain-indexer is a library for efficient spatial queries on large datasets (TBs and more). It is currently based on boost::rtree.

It provides a high level Python API for indexes of simple geometric shapes (boxes, spheres and cylinders) and the required functionalities to create indexes of synapses and morphologies.

Installation

From PyPI

A version of brain-indexer without processing on multiple nodes is available on PyPI and can easily be installed with:

pip install brain-indexer

From source

brain-indexer requires Boost with a minimum version of 1.79.0, but preferably 1.80.0 or newer. If your system does not provide such a version, one can install a more recent one into /opt/boost/ as follows:

wget -qO- https://archives.boost.io/release/1.85.0/source/boost_1_85_0.tar.bz2 | tar xjf -
cd boost_1_85_0
./bootstrap.sh
./b2 --prefix=/opt/boost --with-serialization --with-filesystem --with-test install

When using a custom Boost installation like this, it is imperative to set the following environment variables to make sure that all libraries are found:

export SKBUILD_CMAKE_DEFINE="CMAKE_INSTALL_RPATH_USE_LINK_PATH=ON"
export CMAKE_PREFIX_PATH=/opt/boost

If multi-node processing via MPI is required, the following system dependencies have to be installed:

sudo apt-get install -y libopenmpi-dev

Then the installation of brain-indexer can proceed as usual, either with MPI support:

gh repo clone BlueBrain/brain-indexer
pip install "./brain-indexer[mpi]"

or without support:

gh repo clone BlueBrain/brain-indexer
pip install ./brain-indexer/

Where to start

We provide two Jupyter notebooks with a hands-on introduction to brain-indexer:

Examples

More examples on how to use brain-indexer are available in the examples folder:

Also, the tests folder contains some tests that double also as examples on how to use brain-indexer.

Acknowledgment

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.

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

Copyright (c) 2025-2026 Open Brain Institute

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

brain_indexer-3.1.3.tar.gz (9.1 MB view details)

Uploaded Source

Built Distributions

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

brain_indexer-3.1.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (788.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

brain_indexer-3.1.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (787.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

brain_indexer-3.1.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (787.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

brain_indexer-3.1.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (786.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

brain_indexer-3.1.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (785.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file brain_indexer-3.1.3.tar.gz.

File metadata

  • Download URL: brain_indexer-3.1.3.tar.gz
  • Upload date:
  • Size: 9.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for brain_indexer-3.1.3.tar.gz
Algorithm Hash digest
SHA256 46cdfdd7a9c4aa4a59c0ae2147fa3c0307de0a24586e27a553a174f4acc55e79
MD5 c3e2743f711a44748d22871cb9ac988b
BLAKE2b-256 a6275d56f5d49e7e4427853773df7256dd23ceb24e279a649abddf1bd301aa75

See more details on using hashes here.

File details

Details for the file brain_indexer-3.1.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for brain_indexer-3.1.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eb0dc03d99c1d9b2b8b74f5e5c0c67ffc300a671dafe7f187ee9abe3f4f9cee9
MD5 d1005352308daba1c1b1b4657d456024
BLAKE2b-256 471e327fc7ffdd3af28879594ee6222bd3e5ad1906d87084ce1b11adba6707af

See more details on using hashes here.

File details

Details for the file brain_indexer-3.1.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for brain_indexer-3.1.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a72534a31be80d982bb896327e8eb94119e60fcb52692f3a6b99e07378e38abc
MD5 8076d2f2f7a516f3c89c7c632340385c
BLAKE2b-256 ccf1d037ac42c1d58647c39b0cbaa357d46716cc38222ffdc0e942e5e1ed183a

See more details on using hashes here.

File details

Details for the file brain_indexer-3.1.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for brain_indexer-3.1.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f930ce87958ef0f7f2bb6f817a32a7b2fe89b2662bed8a2f11ce42e682cf978e
MD5 4dea2441c4b91d2be345791f7afcc51b
BLAKE2b-256 50bf27574ec1d72d457c1bd5d247a5d8f104d97186406b69caca49c5fcc8fae5

See more details on using hashes here.

File details

Details for the file brain_indexer-3.1.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for brain_indexer-3.1.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 93d4bbba53f9d433e983d2189e7dd99db265598fdae9b4ef32732fe3cc0c243c
MD5 3275f941befd47b720e6162eba1d920b
BLAKE2b-256 abe0a62aa714f4c5a1560219505b89a549fadb92ca0e88981b5ec080e07a02cc

See more details on using hashes here.

File details

Details for the file brain_indexer-3.1.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for brain_indexer-3.1.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0769113f9286faf70a6e2f25d639d5f31f2aecc1ac4244b8dd500e1e78af5366
MD5 b5bdab263258e2c7aa11a2fd903aadd6
BLAKE2b-256 d0ccd4501edd49f59c26fd502abb534389aa76b623ec8d95a8267270f14d97f7

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