Skip to main content

Aligning Big Brains and Atlases (ABBA), controlled from python.

Project description

abba-python

License PyPI Python Version CI codecov

Aligning Big Brains and Atlases (ABBA), controlled from python.

ABBA in brief

Aligning Big Brains & Atlases, abbreviated as ABBA, allows you to register thin serial sections to multiple atlases in coronal, sagittal, and horizontal orientations. It is mainly a Java application, but this repo makes all of its API accessible in Python.

With ABBA Python, you can control ABBA API from python, and get some additional perks. In particular, you get access to all BrainGlobe atlases.

[!WARNING] Due to some threading issues, the GUI does not work with MacOSX

Getting started

  1. Install miniforge or miniforge.
  2. Create a conda environment with Python 3.10, pyimagej, OpenJDK 11 and maven and activate it
  3. Install abba_python
mamba create -c conda-forge -n abba-env python=3.10 openjdk=11 pip maven pyimagej

mamba activate abba-env

pip install abba_python

To begin using ABBA with a graphical user interface (GUI):

In the created environment, launch Python and run the following commands:

from abba_python import abba
abba.start_imagej()

You can then use ABBA within Fiji. ABBA is typically used in conjunction with QuPath: a QuPath project can serve as input for ABBA, and the registration results can be imported back into QuPath for further processing.

To begin with ABBA with jupyter lab

In the created environment, install jupyterlab and ipywidgets:

pip install jupyterlab
pip install ipywidgets

You can now run jupyter lab and start using notebooks, like the ones provided in examples in the gitHub repo.

Installing extra modules

Elastix/Transformix

ABBA's automated in-plane registration relies on elastix 5.2.0. To utilize all of ABBA's functionalities, you need to separately install elastix and transformix on your operating system. During the initial run of ABBA, you will be prompted to specify their executable locations. Alternatively, you can set their paths using the API (refer to the first example notebook) (NOTE: NO NOTEBOOK IS CURRENTLY AVAILABLE, see https://github.com/BIOP/abba_python/issues/14).

DeepSlice

ABBA can leverage the deep-learning registration tool DeepSlice, either through the web interface (in the GUI) or by running it locally. To use DeepSlice locally, you must install it in a separate conda environment and specify its path to ABBA, either through the GUI or the API (as explained in the first example notebook) (NOTE: NO NOTEBOOK IS CURRENTLY AVAILABLE, see https://github.com/BIOP/abba_python/issues/14).

Note that DeepSlice can also be used locally with the pure Java version thanks to this (new) design.

To install DeepSlice, please refer to the documentation.

In Sept 2023, this was working:

mamba create -n deepslice python=3.7
mamba activate deepslice
conda install pip
pip install DeepSlice==1.1.5
pip install urllib3==1.26.6 # see https://github.com/PolarBean/DeepSlice/issues/46

You also need to make conda available at the system level: You need to follow this two steps procedure to enable Windows to use conda from cmd.exe:

  • Into the environment variable, edit PATH, add path to your ..\Anaconda3\condabin default would be C:\ProgramData\Anaconda3\condabin
  • Open a new PowerShell (and/or PowerShell (x86) ), run the following command once to initialize conda: conda init

Note on versions

OpenJDK versions above 8 can work, but they have been less tested, so there may be unexpected bugs. To avoid certificate issues, it is mandatory to have openjdk installed from conda-forge.

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

abba_python-0.11.0.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

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

abba_python-0.11.0-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file abba_python-0.11.0.tar.gz.

File metadata

  • Download URL: abba_python-0.11.0.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for abba_python-0.11.0.tar.gz
Algorithm Hash digest
SHA256 5e8da0381062780c548f6f305bbe78a769d02e1ffb7e72222d02e891afc344f2
MD5 959dd76049555cd25e001136ff907422
BLAKE2b-256 9332f9364219ababd76de27082e004439175050a34e61979a5f556441a25ae1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for abba_python-0.11.0.tar.gz:

Publisher: ci.yml on BIOP/abba_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file abba_python-0.11.0-py3-none-any.whl.

File metadata

  • Download URL: abba_python-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for abba_python-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 07443fd759d473736b90d3429db3d8d5a42708468921b1bfc958d63da1966c5b
MD5 ece3d2085735ad324740cd281839114f
BLAKE2b-256 50837f51ebac675d9943d414175076e23fcbf618cd7c96b5aae9047da7d6b24e

See more details on using hashes here.

Provenance

The following attestation bundles were made for abba_python-0.11.0-py3-none-any.whl:

Publisher: ci.yml on BIOP/abba_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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