Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Version 1 release! 🥳 #38

Merged
merged 7 commits into from
Jan 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
95 changes: 27 additions & 68 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,89 +2,48 @@
[![Website](https://img.shields.io/website?up_message=online&url=https%3A%2F%2Fbrainglobe.info)](https://brainglobe.info)
[![Twitter](https://img.shields.io/twitter/follow/brain_globe?style=social)](https://twitter.com/brain_globe)

# brainglobe
[![Brainglobe logo](https://brainglobe.info/_static/brainglobe.png)](https://brainglobe.info)

The BrainGlobe Initiative exists to facilitate the development of interoperable
Python-based tools for computational neuroanatomy.
# BrainGlobe

We have three aims:

- Develop specialist software for specific analysis and visualisation needs,
such as [cellfinder](https://github.com/brainglobe/cellfinder) and
[brainrender](https://github.com/brainglobe/brainrender).
This package provides all [BrainGlobe](https://brainglobe.info) tools in one place, installable [in a single command](#installing-and-updating).
Installing this package will provide you with the complete suite of BrainGlobe tools, without needing to worry about dependency resolution.
A complete list of the tools provided by this package [is provided on our website](https://brainglobe.info/documentation/index.html#individual-tool-documentation), and you can also read more about these tools there too.

- Develop core tools to facilitate others to build interoperable tools in Python, e.g. the
[BrainGlobe Atlas API](https://github.com/brainglobe/bg-atlasapi).
If you are interested in running some of our analysis workflows, you might want to head over to [`brainglobe-workflows`](https://github.com/brainglobe/brainglobe-workflows) and install the analysis pipelines offered by that package too.

- Build a community of neuroscientists and developers to share knowledge, build software and engage
with the scientific, and open-source community (e.g. by organising hackathons).
## Installing and Updating

### [**Funding**](https://brainglobe.info/funders.html#funders) Information
See the [installation instructions over on the BrainGlobe website](https://brainglobe.info/documentation/index.html#installing-brainglobe) for full information.
But the TLDR is;

The BrainGlobe project is only possible due to grant funding and the generous support of host institutions, whose information [can be found on this website](https://brainglobe.info/funders.html#funders).
```bash
pip install brainglobe
```

---
and to update,

## BrainGlobe tools
```bash
pip install brainglobe --update
```

This package provides all BrainGlobe tools in one place, requested [through a single command](#installation).
## Contributing

You can read more about the individual tools on the [documentation website](https://brainglobe.info/documentation/index.html).
Currently included packages, and whether they come with the `pip` and `conda-forge` installs are listed below:
| Package | `pip` | `conda` | `from brainglobe import` | Documentation |
| :------------------: | :------: | :------: | :----------------------: | :-----------------------------------------------------------------------: |
| BrainGlobe Atlas API | ☑ | ☑ | `bg_atlasapi` | [Site](https://brainglobe.info/documentation/bg-atlasapi/index.html) |
| `bg-space` | ☑ | ☑ | `bg-space` | [Site](https://brainglobe.info/documentation/bg-space/index.html) |
| `brainreg` | ☑ | ☑ | `brainreg` | [Site](https://brainglobe.info/documentation/brainreg/index.html) |
| `brainglobe-segmentation` | ☑ | ☑ | `brainglobe_segmentation` | [Site](https://brainglobe.info/documentation/brainglobe-segmentation/index.html) |
| `brainrender` | | | | [Site](https://brainglobe.info/documentation/brainrender/index.html) |
| `cellfinder` | ☑ | Pending | `cellfinder_core` | [Site](https://brainglobe.info/documentation/cellfinder/index.html) |
| `morphapi` | ☑ | Pending | `morphapi` | [Site](https://brainglobe.info/documentation/morphapi/index.html) |
**Contributors to BrainGlobe are absolutely encouraged**, whether to fix a bug, develop a new feature, or add a new atlas.
If you would like to contribute, please take a look at our [developer documentation](https://brainglobe.info/developers/index.html).

---

## Installation

We recommend users install into a fresh virtual environment using `pip`; since this will resolve all complex dependencies (like `tensorflow`) automatically, across all operating systems and (compatible) Python versions.
# The Brainglobe Initiative

### **Recommended**: via `pip`
The `brainglobe` package can be installed from [PyPI](https://pypi.org/project/brainglobe/) into a Python environment by running
```sh
pip install brainglobe
```
This will fetch and install all `brainglobe` packages and tools into your current environment.
Alternatively, you can download the source from [PyPI here](https://pypi.org/project/brainglobe/#files).

### **Alternatives**: via `conda`
We are currently in the process of making BrainGlobe's tools available from `conda-forge` as an alternative to `PyPI`.
However certain tools are currently not available on `conda-forge`, specifically:
- `brainrender` (in progress)
- `morphapi` (in progress)
- `cellfinder` ([see below](#cellfinder-and-conda-forge))

In your desired virtual environment, run
```sh
conda install -c conda-forge brainglobe
```
to install the compatible BrainGlobe tools.
This will install all BrainGlobe tools that are compatible with your platform and which are currently available via `conda-forge`.
The BrainGlobe Initiative exists to facilitate the development of interoperable Python-based tools for computational neuroanatomy.

#### **`cellfinder` and `conda-forge`**

Choosing to install via `conda` will provide the (source code for the) `cellfinder` tool.
However due to an ongoing issue with `tensorflow`'s availability on `conda-forge`, the install _will not_ provide `tensorflow` itself.
This is because `tensorflow` versions newer than `1.14.0` are not provided via `conda` channels, and `cellfinder-core` (one of the brainglobe tools) requires a version between `2.5.0` and `2.11.1`.
See [this issue on GitHub for more details](https://github.com/conda-forge/cellfinder-core-feedstock/issues/13).
Users that want to run `cellfinder` will need to manually install a compatible version of `tensorflow` into their environment, before running the `conda install` command above.
- Windows users will _have_ to manually install their own version of `tensorflow` if they want to use the `conda-forge` install and the `cellfinder` tools.
- `conda-forge` _may_ be able to resolve the dependencies automatically for Linux and MacOS users, however we do not guarantee this. In such a case, a manual install of `tensorflow` will be required first.
We have three aims:

If using the `conda-forge` install; attempting to `import` any of `cellfinder`, `cellfinder-napari`, or `cellfinder-core` in your Python scripts may throw an error if the issues above cannot be resolved on your platform.
Similarly, attempting to use `cellfinder`'s CLI functionality will also raise an error.
- Develop specialist software for specific analysis and visualisation needs, such as [cellfinder](https://github.com/brainglobe/cellfinder) and [brainrender](https://github.com/brainglobe/brainrender).
- Develop core tools to facilitate others to build interoperable tools in Python, e.g. the [BrainGlobe Atlas API](https://github.com/brainglobe/bg-atlasapi).
- Build a community of neuroscientists and developers to share knowledge, build software and engage with the scientific, and open-source community (e.g. by organising hackathons).

---
## [Funding](https://brainglobe.info/funders.html#funders) Information

## Contributing

**Contributors to BrainGlobe are absolutely encouraged**, whether to fix a bug, develop a new feature, or add a new atlas.
If you would like to contribute, please take a look at our [developer documentation](https://brainglobe.info/developers/index.html).
The BrainGlobe project is only possible due to grant funding and the generous support of host institutions, whose information [can be found on this website](https://brainglobe.info/funders.html#funders).
4 changes: 0 additions & 4 deletions docs/assets/BrainGlobe-dependencies.svg

This file was deleted.

Loading