https://github.com/bluebrain/brain-indexer

Create indexes of simple shapes and find all indexed elements that intersect with a query region.

https://github.com/bluebrain/brain-indexer

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.0%) to scientific vocabulary

Keywords

connectome in-silico neuroscience spatial-index
Last synced: 10 months ago · JSON representation

Repository

Create indexes of simple shapes and find all indexed elements that intersect with a query region.

Basic Info
Statistics
  • Stars: 1
  • Watchers: 7
  • Forks: 2
  • Open Issues: 10
  • Releases: 2
Archived
Topics
connectome in-silico neuroscience spatial-index
Created over 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog License Authors

README.md

[!WARNING] The Blue Brain Project concluded in December 2024, so development has ceased under the BlueBrain GitHub organization. Future development will take place at: https://github.com/openbraininstitute/brain-indexer

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: console 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: console wget -qO- https://boostorg.jfrog.io/artifactory/main/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: console 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: console sudo apt-get install -y libopenmpi-dev

Then the installation of brain-indexer can proceed as usual, either with MPI support: console gh repo clone BlueBrain/brain-indexer pip install "./brain-indexer[mpi]" or without support: console 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: - A basic introduction in basic_tutorial.ipynb - More complex use-cases in advanced_tutorial.ipynb

Examples

More examples on how to use brain-indexer are available in the examples folder: - segment_index.py: simple indexing and querying of a segment index - synapses_index.py: simple indexing and querying of a synapse index - segment_index_sonata.py: indexing and querying of a segment index using SONATA files - segment_multi_index_sonata.py: indexing and querying of a segment multi-index using SONATA files - synapse_multi_index_sonata.py: indexing and querying of a synapse multi-index using SONATA files

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

Owner

  • Name: The Blue Brain Project
  • Login: BlueBrain
  • Kind: organization
  • Email: bbp.opensource@epfl.ch
  • Location: Geneva, Switzerland

Open Source Software produced and used by the Blue Brain Project

GitHub Events

Total
  • Issues event: 7
  • Watch event: 1
  • Push event: 1
  • Fork event: 1
Last Year
  • Issues event: 7
  • Watch event: 1
  • Push event: 1
  • Fork event: 1

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 11
  • Total pull requests: 11
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 days
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.45
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 8
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • matz-e (9)
Pull Request Authors
  • matz-e (11)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 8,984 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 3
  • Total maintainers: 3
spack.io: py-brain-indexer

Spatial indexer for geometries and morphologies

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 28.9%
Dependent packages count: 57.8%
Maintainers (1)
Last synced: 10 months ago
pypi.org: brain-indexer

A spatial index implementation for spheres, morphologies and synapses

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 8,984 Last month
Rankings
Dependent packages count: 10.8%
Average: 35.9%
Dependent repos count: 61.0%
Maintainers (2)
Last synced: 11 months ago

Dependencies

Dockerfile docker
  • python latest build
pyproject.toml pypi
  • docopt-ng *
  • libsonata !=0.1.15
  • morphio *
  • numpy >=1.13.1
  • numpy-quaternion *
  • tqdm *
.github/actions/boost-cache/action.yml actions
  • actions/cache v3 composite
.github/actions/mpi-setup/action.yml actions
.github/workflows/ctest.yml actions
  • ./.github/actions/boost-cache * composite
  • ./.github/actions/mpi-setup * composite
  • actions/checkout v3 composite
.github/workflows/integration.yml actions
  • ./.github/actions/mpi-setup * composite
  • actions/checkout v3 composite
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/setup-python v4 composite
.github/workflows/main.yml actions
  • ./.github/actions/boost-cache * composite
  • actions/checkout v4 composite
.github/workflows/publish.yml actions
  • ./.github/actions/boost-cache * composite
  • ./.github/actions/mpi-setup * composite
  • actions/checkout v3 composite
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/setup-python v4 composite
  • actions/setup-python v5 composite
  • actions/upload-artifact v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/test.yml actions
  • ./.github/actions/boost-cache * composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
docs/requirements.txt pypi
  • Jinja2 *
  • docutils <0.18
  • m2r2 *
  • mistune <2.0.0
  • setuptools *
  • sphinx <5.1.0,>=5.0.0
  • sphinx-bluebrain-theme *
  • sphinxcontrib-programoutput *