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

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.1.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.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (811.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

brain_indexer-3.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (811.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

brain_indexer-3.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (809.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

brain_indexer-3.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (809.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

brain_indexer-3.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (809.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

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

File metadata

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

File hashes

Hashes for brain_indexer-3.1.1.tar.gz
Algorithm Hash digest
SHA256 114d7ce2d916051a495dd36e81221ee950d0f0cfa4381024a047c69eba43e364
MD5 036fdbad60b468a0380e3ee138bee6ca
BLAKE2b-256 ff2151ceb970009886b0b52c6082876c6febf040872cb965b8b80881ae908a62

See more details on using hashes here.

File details

Details for the file brain_indexer-3.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for brain_indexer-3.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 15fda4e9c25c177fd40bf925707f98a532e12e4d8c3063ac1b53e50f39850f0b
MD5 4e9af65858873fdb8f927f28a27ad581
BLAKE2b-256 476bab50fe64eac41908e9e6f9dca17c1abbeaec46a23009bcdaa42816c54369

See more details on using hashes here.

File details

Details for the file brain_indexer-3.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for brain_indexer-3.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ad5d1a90085aa41ff7c1b8050597b00a68b880923264af85d80cf520ccf54d6
MD5 c6fabfaa7ce5261608be5fac149aa1a2
BLAKE2b-256 10571f998de987673909e273414cb38bfc084f062cd6febf5b8a0ad62ce9df02

See more details on using hashes here.

File details

Details for the file brain_indexer-3.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for brain_indexer-3.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9870905f07733914ecde2174e699767bd458ca22cac9627c1b0566ea43a91365
MD5 33d9b256f8624561d5f2bb90f8cbb5df
BLAKE2b-256 84e7f3df91541c31ed61faa5a2873b53e62a5215dde9362d3a99f82d04fef865

See more details on using hashes here.

File details

Details for the file brain_indexer-3.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for brain_indexer-3.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 15486dc5369379748cdf7576e43c261d5b032e96a43f18ec70b4acab0c2363dd
MD5 d81e1049b1105ba2bb295bd8510888ff
BLAKE2b-256 48f4e2b8f77ddecef5e33de869334655785d54665e8635bc8b14143286182108

See more details on using hashes here.

File details

Details for the file brain_indexer-3.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for brain_indexer-3.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8dec9330301c0346cc9e0a9490e9b277c74f0cce7f988ef92ee0909071594dbb
MD5 2f2d9679e0427c309152f3bef28fff03
BLAKE2b-256 a821243feb407d897605d1d95cf2a928ea1634b5a0da66dce10449fd2755e247

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