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

Tool to check for orientation #59

Closed
JulesScholler opened this issue Mar 15, 2022 · 15 comments
Closed

Tool to check for orientation #59

JulesScholler opened this issue Mar 15, 2022 · 15 comments
Labels
enhancement New feature or request

Comments

@JulesScholler
Copy link
Contributor

Not really an issue but more of a question.

Is there a practical way to check the orientation of the data in a user friendly manner? I usually use BG-space to apply a transformation and then display the data along the Atlas but it requires some coding. I found out that the most difficult part of the registration for users is actually finding the orientation because if you mess up then the registration result is bad and people will start tweaking the parameters without realizing that the data was not aligned correctly.

Thanks and keep up the amazing work :).

@adamltyson
Copy link
Member

Hey @JulesScholler, does this need a tool, or just better documentation? TBH I thought the docs were better, but it's certainly not trivial to work out the orientation from what we have.

You shouldn't have to reorient your data before using brainreg.

@JulesScholler
Copy link
Contributor Author

You can add more documentation but I think most people are not going to understand right away how to define the orientation with the 3 letters scheme. Just displaying the transformed input data and the atlas before registration as a validation step is much easier (I think) to grasp if the input orientation is correct or not.

Don't get me wrong, the doc is great, but I still sometime fuck up the determination of the orientation and if I had visualized the transformed data beforehand I could have spotted sooner the problem.

MIRACL pipeline has another approach where they show the user max projections and ask what plane it is (sagital, horizontal, etc) and then figures out by itself the input orientation. I guess this could be an option in brainreg, or even better an automatic way of determining the input orientation using a simple classifier and a few features computed on the max-projections (e.g. sphericity and area of the segmented shape).

@adamltyson adamltyson added the enhancement New feature or request label Mar 16, 2022
@adamltyson
Copy link
Member

I like these ideas, but I'm hesitant to add more code to solve a documentation problem (I've got limited time to support/maintain this in my spare time), but more "interactive" docs (e.g. if your data is X, then the first letter is Y etc etc) may help this problem. Displaying data is also a pain as many users use the CLI tool for very large datasets on very slow network drives.

@JulesScholler
Copy link
Contributor Author

In my view I would add a parsed argument --orientation-help that can be

  • 'off' (default) and the behavior is like now
  • 'gui' and you display for validation or use MIRACL approach
  • 'automatic' and you use an automatic approach at your own risk

Doing that you add more flexibility without changing the behavior for current users and the default behavior is not adding any latency for network drives.

@adamltyson
Copy link
Member

I'd love that, but TBH I just can't commit to anything other than bug fixes at this point.

@JulesScholler
Copy link
Contributor Author

I will dedicate some time for this issue, i.e. having an automatic way of determining the input orientation and having an interactive way of fixing the output. Requirements are:

  • Should work with single hemispheres
  • Should work with not aligned data (to some extent)
  • Should be quick to not add unwanted overhead

The workflow I see would be to add an orientation option 'interactive' or 'auto' which would try to automatically guess the input orientation. Then it would open a Napari window with reference and oriented input data and buttons to correct by rotating horizontally and vertically. When the data is oriented with the reference brain the user closes the Napari viewer and the rest of the pipeline is run.

How about that @adamltyson ? I will start working on automatically finding the input orientation.

@adamltyson
Copy link
Member

Sounds great! My only thought is that if it starts up napari, maybe it's better placed in the brainreg-napari plugin, and the brainreg command line tool can continue to be a fully automated, headless version?

Users could use the napari plugin to begin with, then use the CLI once they're confident of the orientation, and have optimised registration parameters.

Thanks for looking into this, the orientation is confusing a few people!

@JulesScholler
Copy link
Contributor Author

Ok so the 'automatic' option will be available in the CLI and we can add it later on in the Napari plugin. I agree the interactive approach should be added only in the Napari plugin since it requires this dependency.

@adamltyson
Copy link
Member

Sounds great. Thanks @JulesScholler!

@JulesScholler
Copy link
Contributor Author

So I tried different 'physics' things but they all failed when testing on different angles (I added a random rotation of 0 up to 15° around one of the three axis). Basically looking at the inertia tensor can tell you how to find the three axis but not the direction so you end up with 'a/p' 's/i' and 'l/r' without being sure which one it is.

I will focus on finding some symmetry measures to try and find the direction.

Last approach would we to train a random forest or equivalent classification tool using a few features on the maximum intensity projection but this will require extra work and might be a pain to package because the trained classifier should ship with brainreg.

@JulesScholler
Copy link
Contributor Author

After playing quite a while with it I think that it is a bad idea to try and find automatically the orientation. Main argument is that the method will either be atlas specific or need machine learning and we don't want that in brainreg. I made a tool to interactively check that the orientation is good:

image
Top is the reference atlas, averaged for all directions and bottom is the aligned input data with wrong input

image
Top is the reference atlas, averaged for all directions and bottom is the aligned input data with correct input

Advantages is that it works out of the box with all the atlases, drawback is you need to load the atlas twice (once for interactive alignment and one when the pipeline is run). Let me know if you like the solution and I'll send a PR.

@adamltyson
Copy link
Member

I think you just raised a PR, but this looks ideal, thanks! Loading the atlas twice isn't a bad idea, we could always load a lower-res version if available too.

machine learning and we don't want that in brainreg

Glad you agree. I'm trying to keep brainreg the "simple" registration tool, not necessarily the "best".

@JulesScholler
Copy link
Contributor Author

We are testing it internally but so far so good! It takes 10 seconds to figure out how to orient correctly the brain and it is quite intuitive (swap letter when images are swapped or change letter when the symmetry is wrong).

Hopes this get merged soon and we can deploy it easily to our users :).

@adamltyson
Copy link
Member

We are testing it internally but so far so good!

Awesome. I think we've got one more brainreg PR to merge on our side, then we can get the orientation PR merged, then this one. I'm answering a lot of orientation questions, so this would make my life a lot easier!

@adamltyson
Copy link
Member

This is merged now. Thanks @JulesScholler. Hope you don't mind I've turned your comment above into some brief documentation.

willGraham01 pushed a commit that referenced this issue Oct 27, 2023
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>
alessandrofelder added a commit that referenced this issue Oct 27, 2023
* 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 <jules.scholler@wysscenter.ch>

* 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á <simaosa@Simaos-MacBook-Pro.local>

* 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 <code@adamltyson.com>

* 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 <stephen.lenzi@gmail.com>
Co-authored-by: Adam Tyson <code@adamltyson.com>
Co-authored-by: Adam Tyson <adam.tyson@ucl.ac.uk>
Co-authored-by: Justin Kiggins <justin.kiggins@gmail.com>
Co-authored-by: David Stansby <dstansby@gmail.com>
Co-authored-by: Patrick Roddy <patrickjamesroddy@gmail.com>
Co-authored-by: Alessandro Felder <alessandrofelder@users.noreply.github.com>
Co-authored-by: Jules Scholler <jules.scholler@wysscenter.ch>
Co-authored-by: Simão Bolota <99416933+SimaoBolota-MetaCell@users.noreply.github.com>
Co-authored-by: Simão sá <simaosa@Simaos-MacBook-Pro.local>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
alessandrofelder added a commit that referenced this issue Nov 6, 2023
* 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 <jules.scholler@wysscenter.ch>

* 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á <simaosa@Simaos-MacBook-Pro.local>

* 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 <code@adamltyson.com>

* 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 <stephen.lenzi@gmail.com>
Co-authored-by: Adam Tyson <code@adamltyson.com>
Co-authored-by: Adam Tyson <adam.tyson@ucl.ac.uk>
Co-authored-by: Justin Kiggins <justin.kiggins@gmail.com>
Co-authored-by: David Stansby <dstansby@gmail.com>
Co-authored-by: Patrick Roddy <patrickjamesroddy@gmail.com>
Co-authored-by: Alessandro Felder <alessandrofelder@users.noreply.github.com>
Co-authored-by: Jules Scholler <jules.scholler@wysscenter.ch>
Co-authored-by: Simão Bolota <99416933+SimaoBolota-MetaCell@users.noreply.github.com>
Co-authored-by: Simão sá <simaosa@Simaos-MacBook-Pro.local>
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 <code@adamltyson.com>

---------

Co-authored-by: Adam Tyson <code@adamltyson.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 <code@adamltyson.com>

---------

Co-authored-by: Adam Tyson <code@adamltyson.com>

* 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 <stephen.lenzi@gmail.com>
Co-authored-by: Adam Tyson <code@adamltyson.com>
Co-authored-by: Adam Tyson <adam.tyson@ucl.ac.uk>
Co-authored-by: Justin Kiggins <justin.kiggins@gmail.com>
Co-authored-by: David Stansby <dstansby@gmail.com>
Co-authored-by: Patrick Roddy <patrickjamesroddy@gmail.com>
Co-authored-by: Alessandro Felder <alessandrofelder@users.noreply.github.com>
Co-authored-by: Jules Scholler <jules.scholler@wysscenter.ch>
Co-authored-by: Simão Bolota <99416933+SimaoBolota-MetaCell@users.noreply.github.com>
Co-authored-by: Simão sá <simaosa@Simaos-MacBook-Pro.local>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants