Aligning Big Brains and Atlases, controlled from Python.
Project description
ABBA Python
Aligning Big Brains and Atlases, controlled from Python.
- Free software: GNU General Public License v3
- Documentation: https://biop.github.io/ijp-imagetoatlas/
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
- Install miniconda or miniforge.
- Create a conda environment with Python 3.8, pyimagej, OpenJDK 8 and maven and activate it
- Install abba_python
mamba create -c conda-forge -n abba-env python=3.8 openjdk=8 pip maven pyimagej
conda 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; for more details, visit https://biop.github.io/ijp-imagetoatlas/. 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.0.1. 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).
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 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:
conda create -n deepslice python=3.7
conda 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 recommended to have openjdk installed from conda-forge.
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage
project template.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file abba_python-0.8.0.tar.gz
.
File metadata
- Download URL: abba_python-0.8.0.tar.gz
- Upload date:
- Size: 23.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e9ebc7b778c425269e7395e31e24a5fdba1b0e5ce80a8ef64c0ecb4e17b59f5 |
|
MD5 | 7ca3346ab79a8c0fe1a1b276963104ad |
|
BLAKE2b-256 | 988e1d894f5b4500b871bdaab1c6b7d014b7cd06677d527c145d0be1eb0f6bb9 |
File details
Details for the file abba_python-0.8.0-py2.py3-none-any.whl
.
File metadata
- Download URL: abba_python-0.8.0-py2.py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 102d577006f83b8bf332316b91bacc4c3c1fb962fc6e6d72f9a0ea459e1fd0ae |
|
MD5 | 7e79c31e4bcf0a9bfb79ba2ce6a6a6ab |
|
BLAKE2b-256 | 263b24d4dbd358b1ceb42f11930af478fabeada776f4e055607b7a45459ce484 |