Metadata-Version: 2.4
Name: fishbrains
Version: 0.1.0
Summary: Transforms to map between different fish (template) brains
Author-email: Philipp Schlegel <pms70@cam.ac.uk>
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/navis-org/navis-fishbrains
Project-URL: Source, https://github.com/navis-org/navis-fishbrains
Project-URL: Issues, https://github.com/navis-org/navis-fishbrains/issues
Keywords: fish,brains,template,registration,brain,navis,transform
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: navis>=1.11.0
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: requests
Requires-Dist: tqdm
Requires-Dist: trimesh
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Dynamic: license-file

# navis-fishbrains
Transforms and meta data to map between different fish template brains and coordinate systems. This package is intended to be used with [navis](https://github.com/schlegelp/navis) and is analogous to [`navis-flybrains`](https://github.com/schlegelp/navis-flybrains).

Currently `fishbrains` ships with:

- a brain mesh + mirror transform for the Fish2 dataset (FishEM, Janelia)

Want to see more transforms or meshes included? Please open an [issue](https://github.com/navis-org/navis-fishbrains/issues/new).

<!-- ![brdiging graph](_static/bridging_graph.png) -->

## Installation

```bash
pip install fishbrains
```

To get the bleeding-edge version from Github:

```bash
pip install git+https://github.com/navis-org/navis-fishbrains
```

### External dependencies

> [!NOTE]
> At this point none of the transforms in `fishbrains` require external dependencies.
> So for now these external dependencies are nice-to-have but not actually necessary.

In order to use CMTK-based transforms, you will need to have
[CMTK](https://www.nitrc.org/projects/cmtk/) installed.

For the Elastix-based transforms, you will need to download
[elastix](https://elastix.lumc.nl/index.php) and make sure that the path
to the binaries is in your `PATH` variable.

## Usage

```python
import navis
import fishbrains

# Plot the Fish2 brain shell mesh
navis.plot3d(fishbrains.Fish2)

# Mirror spatial data (e.g. skeletons)
mirrored = navis.mirror_brain(skeletons, template="Fish2", mirror_axis="y")

```

## Changes



When in doubt, please open an [issue](https://github.com/navis-org/navis-fishbrains/issues/new) to ask for advice.
