Skip to content

Commit

Permalink
Version 1 release 🥳 (#146)
Browse files Browse the repository at this point in the history
* Merge `brainreg-napari` into `brainreg` (#145)

* initial commit

* adds gui

* removes deprecated folder

* Update README.md

* Update README.md

* adds brainreg to requirements

* renames gui label from register to brainreg

* renames register to brainreg-register

* adds brainglobe repo to setup.py

* Delete requirements.txt

* makes output destination selectable in GUI

* Update entry point

* removes sort_input_file option

* Update setup.py

* updates project urls in setup.cfg

* Update support link

* fixes output path to directory

* re adds sort_input_file as hardcoded variable

* adds atlas options as dropdown

* adds showing the results of registration

* removed a global declaration

* minor refactoring

* deleted commented code

* fixes logging output

* only loads relevant output data

* outputs scaled overlay of boundaries and atlas

* imports and groups segment plugin with register

* lowers requirements from python >=3.7 to >=3.6 and removes project url from setup.py

* removes superfluous pixel args from logging

* Update readme, setup.py & general reformatting (#16)

* update gitignore

* Update setup.py

* update readme

* format with black

* remove docs

* remove unused import

* delete tests for now

* format imports

* Release (#18)

* Update setup.py

* add bump2version config

* Bump version: 0.0.1 → 0.0.2-rc0

* remove reqs from manifest

* disable tests on GH actions for now

* fixes reset_defaults by ignoring atlas dropdown

* adds additional channels functionality

* Update OS compatibility & update use of napari API

* Bump (#23)

* Bump version: 0.0.2-rc1 → 0.0.2-rc2

* Bump version: 0.0.2-rc2 → 0.0.2-rc3

* Bump version: 0.0.2-rc3 → 0.0.3-rc0

* Add tooltips (#25)

* change default parameter names

* Add tooltips

* Bump version: 0.0.3-rc0 → 0.0.4-rc0

* Update README.md

* Update broken image URL

* Add categories and preview page workflow for the napari hub (#27)

* adds EDAM Bioimaging labels

* adds Action for napari hub preview service

* Update citation

* Update README.md

* Convert to npe2

* Add pyqt library setup

* Fix manifest

* Add basic smoke test

* Add link to contributing guide

* Add pre-commit

* Fix manifest

* Add sample data

* Add example script

* Fix pre-commit and manifest

* Use g-node.org for sample data

* Clean up example

Make noqa more specific

* Set plugin values from metadata

* Add a test for sample data

* Add pooch to requirements

Move pooch req comment

* Test loading sample data through napari

* Set sensible contrast limits

* pre-commit fixes

* Add Python 3.10 support, drop 3.7 support

* Add an integration test

Type block

* Fix getting additional layers

* Factor out add_image_layers function

* Remove arguments from run()

* Refactor blocking/non-blocking behaviour

* Store metadata in napari layers

* Use re-usable action for running tests

* Give better name to add_image_layers

* Add error if trying to load non-existent registration

* Return layers from add_registered_image_layers

* Bump version: 0.0.4-rc0 → 0.0.5-rc0

* Input orientation check (#44)

* Add many features:

- debug mode
- interactive way of checking input orientation
- brain geometry
- save annotations with original orientation

* add comments and docstring.

* Crop the reference atlas when using interactive orientation check with half brains.

* Fix a bug where run throw an error.

* Fix typo in docstrings

* format

* Add info to use if data not loaded before checking orientation

* Update docstrings

Co-authored-by: Jules Scholler <[email protected]>

* Update readme

* format readme

* Add codecov badge

* Added citation file (#45)

* Added citation file

* Changes according to PR comments

* Updated Citation file 

Updated citation file to have the preferred citation coming from the article/book when available

Co-authored-by: Simão sá <[email protected]>

* Update packaging (#46)

* update pre-commit config

* update args for new brainreg version

* lint

* update manifest

* Bump version: 0.0.5-rc0 → 0.0.5-rc1

* update testing

* update packaging

* update requirements

* update manifest

* move entry point to pyproject.toml

* update hub preview version

* update release for use with setuptools_scm

* migrate from BG to neuroinformatics actions

* add setuptools_scm to dev requirements

* reduce number of tested version

* update python versions tested

* update release

* [Napari HUB cli] Metadata enhancement suggestions (#47)

* Copy "Display Name" from secondary to primary file

Display Name was found in a secondary file and copied in the primary one:
* (found here)  "pyproject.toml"
* (copied here) "brainreg_napari/napari.yaml"

* Copy "Summary Sentence" from secondary to primary file

Summary Sentence was found in a secondary file and copied in the primary one:
* (found here)  "pyproject.toml"
* (copied here) ".napari/config.yml"

* Use standard pre-commit config (#51)

* Add standard pre-commit config

* Automated pre-commit fixes

* Testing clean (#50)

* Use composite test action

Fix use-xvfb argument

* Clean tox.ini

* Don't fail fast

* Remove old setup steps

* Clean up dev dependencies

Add pyqt5 back as a dev dep

* Try passing display env

Put back passenv in tox

* Use selected atlas to check orientation

* Add orientation check tests

* [pre-commit.ci] pre-commit autoupdate (#57)

updates:
- [github.com/charliermarsh/ruff-pre-commit: v0.0.240 → v0.0.272](astral-sh/ruff-pre-commit@v0.0.240...v0.0.272)
- [github.com/psf/black: 23.1.0 → 23.3.0](psf/black@23.1.0...23.3.0)
- [github.com/pre-commit/mirrors-mypy: v0.991 → v1.3.0](pre-commit/mirrors-mypy@v0.991...v1.3.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Update links (#56)

* Update README.md

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Update dependency (imlib -> brainglobe-utils) (#58)

* [pre-commit.ci] pre-commit autoupdate (#59)

updates:
- [github.com/charliermarsh/ruff-pre-commit: v0.0.272 → v0.0.275](astral-sh/ruff-pre-commit@v0.0.272...v0.0.275)
- [github.com/pre-commit/mirrors-mypy: v1.3.0 → v1.4.1](pre-commit/mirrors-mypy@v1.3.0...v1.4.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#60)

updates:
- https://github.com/charliermarsh/ruff-pre-commithttps://github.com/astral-sh/ruff-pre-commit
- [github.com/astral-sh/ruff-pre-commit: v0.0.275 → v0.0.276](astral-sh/ruff-pre-commit@v0.0.275...v0.0.276)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#61)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.276 → v0.0.277](astral-sh/ruff-pre-commit@v0.0.276...v0.0.277)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#62)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.277 → v0.0.278](astral-sh/ruff-pre-commit@v0.0.277...v0.0.278)
- [github.com/psf/black: 23.3.0 → 23.7.0](psf/black@23.3.0...23.7.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#63)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.278 → v0.0.280](astral-sh/ruff-pre-commit@v0.0.278...v0.0.280)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#65)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.280 → v0.0.281](astral-sh/ruff-pre-commit@v0.0.280...v0.0.281)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#66)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.281 → v0.0.282](astral-sh/ruff-pre-commit@v0.0.281...v0.0.282)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#67)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.282 → v0.0.284](astral-sh/ruff-pre-commit@v0.0.282...v0.0.284)
- [github.com/pre-commit/mirrors-mypy: v1.4.1 → v1.5.0](pre-commit/mirrors-mypy@v1.4.1...v1.5.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#68)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.284 → v0.0.285](astral-sh/ruff-pre-commit@v0.0.284...v0.0.285)
- [github.com/pre-commit/mirrors-mypy: v1.5.0 → v1.5.1](pre-commit/mirrors-mypy@v1.5.0...v1.5.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#70)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.285 → v0.0.286](astral-sh/ruff-pre-commit@v0.0.285...v0.0.286)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Update .pre-commit-config.yaml (#71)

* [pre-commit.ci] pre-commit autoupdate (#72)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.286 → v0.0.287](astral-sh/ruff-pre-commit@v0.0.286...v0.0.287)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#74)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.287 → v0.0.292](astral-sh/ruff-pre-commit@v0.0.287...v0.0.292)
- [github.com/psf/black: 23.7.0 → 23.9.1](psf/black@23.7.0...23.9.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Test on Python 3.11 (#49)

* Use composite test action

Fix use-xvfb argument

* Clean tox.ini

* Don't fail fast

* Remove old setup steps

* Clean up dev dependencies

Add pyqt5 back as a dev dep

* Try passing display env

Put back passenv in tox

* Test on Python 3.11

* Update Python versions

---------

Co-authored-by: Adam Tyson <[email protected]>

* Delete .github/workflows/plugin_preview.yml (#75)

* Write safe concat function

* Use safe concat of dataframes

* Fix logic of safe concat method

* pre-commit pass

* Add unit test to aplease codecov overlords

* Restructure as brainreg/core, adjust imports accordingly

* Make package installable again

* Fix test import

* Rework package structure to be compatible with brainreg-core

* Update example code with new structure

* Rename napari plugin to drop the -napari suffix

* Exclude the to-be-reconciled READMEs from the manifest

---------

Co-authored-by: stephen <[email protected]>
Co-authored-by: Adam Tyson <[email protected]>
Co-authored-by: Adam Tyson <[email protected]>
Co-authored-by: Justin Kiggins <[email protected]>
Co-authored-by: David Stansby <[email protected]>
Co-authored-by: Patrick Roddy <[email protected]>
Co-authored-by: Alessandro Felder <[email protected]>
Co-authored-by: Jules Scholler <[email protected]>
Co-authored-by: Simão Bolota <[email protected]>
Co-authored-by: Simão sá <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Reconcile the `core` and `napari` READMEs (#147)

* Parse existing brainreg readme

* Incorporate plugin readme and update manifest

* Apply Adam's updates

Co-authored-by: Adam Tyson <[email protected]>

---------

Co-authored-by: Adam Tyson <[email protected]>

* Reconcile the `core` and `napari` READMEs (#147)

* Parse existing brainreg readme

* Incorporate plugin readme and update manifest

* Apply Adam's updates

Co-authored-by: Adam Tyson <[email protected]>

---------

Co-authored-by: Adam Tyson <[email protected]>

* Update README.md

* Update with brainreg-segment rename to brainglobe-segmentation (#149)

* Update with brainreg-segment rename to brainglobe-segmentation

* Update pyproject.toml

---------

Co-authored-by: stephen <[email protected]>
Co-authored-by: Adam Tyson <[email protected]>
Co-authored-by: Adam Tyson <[email protected]>
Co-authored-by: Justin Kiggins <[email protected]>
Co-authored-by: David Stansby <[email protected]>
Co-authored-by: Patrick Roddy <[email protected]>
Co-authored-by: Alessandro Felder <[email protected]>
Co-authored-by: Jules Scholler <[email protected]>
Co-authored-by: Simão Bolota <[email protected]>
Co-authored-by: Simão sá <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
12 people authored Nov 6, 2023
1 parent 4c0e2d3 commit e91a132
Show file tree
Hide file tree
Showing 67 changed files with 1,216 additions and 127 deletions.
4 changes: 4 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[flake8]
ignore = E203, E231, W503, E722
max-line-length = 79
exclude = __init__.py,build,.eggs
8 changes: 7 additions & 1 deletion .github/workflows/test_and_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,15 @@ jobs:
with:
path: ~/.brainglobe
key: atlases
- uses: neuroinformatics-unit/actions/test@v2

- name: Setup QT libraries
uses: tlambert03/setup-qt-libs@v1

- name: Run tests
uses: neuroinformatics-unit/actions/test@v2
with:
python-version: ${{ matrix.python-version }}
use-xvfb: true

test-with-conda:
needs: [linting, manifest]
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*.conf.custom

# Byte-compiled / optimized / DLL files
__pycache__/
**/__pycache__/
*.py[cod]
*$py.class

Expand Down Expand Up @@ -122,3 +122,4 @@ tests/data/test_output


*.DS_Store
pip-wheel-metadata/
7 changes: 7 additions & 0 deletions .napari/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
labels:
ontology: EDAM-BIOIMAGING:alpha06
terms:
- Image registration
- Affine registration
- Multi-channel
summary: Multi-atlas whole-brain microscopy registration
102 changes: 102 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@

cff-version: 1.2.0
message: If you use this software, please cite it using these metadata.
title: brainreg
authors:
- family-names: "Tyson"
given-names: "A."
- family-names: "Vélez-Fort"
given-names: "M."
- family-names: "Rousseau"
given-names: "C."
- family-names: "Cossell"
given-names: "L."
- family-names: "Tsitoura"
given-names: " C."
- family-names: "Lenzi"
given-names: " S."
- family-names: "Obenhaus"
given-names: "H."
- family-names: "Claudi"
given-names: "F."
- family-names: "Branco"
given-names: "T."
- family-names: "Margrie"
given-names: "T."
url: https://github.com/brainglobe/brainreg
preferred-citation:
type: article
title: Accurate determination of marker location within whole-brain microscopy images
journal: Scientific Reports
volume: 12
pages: 867
doi: 10.1038/s41598-021-04676-9
year: 2022
date-published: 2022-01-18
authors:
- family-names: "Tyson"
given-names: "A."
- family-names: "Vélez-Fort"
given-names: "M."
- family-names: "Rousseau"
given-names: "C."
- family-names: "Cossell"
given-names: "L."
- family-names: "Tsitoura"
given-names: " C."
- family-names: "Lenzi"
given-names: "S."
- family-names: "Obenhaus"
given-names: "H."
- family-names: "Claudi"
given-names: "F."
- family-names: "Branco"
given-names: "T."
- family-names: "Margrie"
given-names: "T."
references:
- type: article
title: AMAP is a validated pipeline for registration and segmentation of high-resolution mouse brain data
journal: Nature Communications
volume: 7
pages: 1-9
doi: 10.1038/ncomms11879
year: 2016
date-published: 2016-07-07
authors:
- family-names: "Niedworok"
given-names: "C."
- family-names: "Brown"
given-names: "A."
- family-names: "Jorge"
given-names: "M."
- family-names: "Osten"
given-names: "P."
- family-names: "Ourselin"
given-names: "S."
- family-names: "Modat"
given-names: "M."
- family-names: "Margrie"
given-names: "T."
references:
- type: article
title: BrainGlobe Atlas API a common interface for neuroanatomical atlases
journal: Journal of Open Source Software
volume: 5
pages: 2668
doi: 10.21105/joss.02668
year: 2020
date-published: 2020-09-04
authors:
- family-names: "Claudi"
given-names: "F."
- family-names: "Petrucco"
given-names: "L."
- family-names: "Tyson"
given-names: "A."
- family-names: "Branco"
given-names: "T."
- family-names: "Margrie"
given-names: "T."
- family-names: "Portugues"
given-names: "R."
23 changes: 14 additions & 9 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
include LICENSE
include README.md
include CITATION.cff

prune tests
exclude .flake8
exclude .pre-commit-config.yaml
exclude *.yml
exclude tox.ini

exclude *.yaml
exclude *.yml
include brainreg/napari/napari.yaml

recursive-include src *.dll
recursive-include src *.exe
recursive-include src *.txt
recursive-include brainreg/core *.dll
recursive-include brainreg/core *.exe
recursive-include brainreg/core *.txt
recursive-include brainreg/core/bin/nifty_reg/linux_x64 *
recursive-include brainreg/core/bin/nifty_reg/osX *

recursive-exclude src *.zip
recursive-exclude .napari *
recursive-exclude brainreg/core *.zip
recursive-exclude examples *

recursive-include src/brainreg/bin/nifty_reg/linux_x64 *
recursive-include src/brainreg/bin/nifty_reg/osX *
prune tests
Loading

0 comments on commit e91a132

Please sign in to comment.