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

GUI alternative with Gooey #46

Closed
wants to merge 5 commits into from
Closed

Conversation

celefthe
Copy link

Hey folks,

First of all, many thanks for all the great work you've done with the brainglobe suite!

I recently had to convert the CLI into a simple GUI for some less technically minded folk who like what brainreg does but don't like terminals. I'm aware that a GUI exists within napari, but as this was neither part of their workflow (nor something they were interested in switching to in this instance) I used the Gooey project (https://github.com/chriskiehl/Gooey) to wrap the command line version of brainreg into a straight-forward GUI (see screenshot below). This then allows folk who don't want to deal with the terminal to use brainreg as a stand-alone tool, without having to install (or learn) napari.

I appreciate this may not be something you want to support -- I open this PR in case you find it useful, or if you think the use case here is frequent enough to support.

Here it is on MacOS (but works on Linux and Windows, where brainreg actually works)

All the best,
Constantinos

@sonarcloud
Copy link

sonarcloud bot commented Oct 27, 2021

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@celefthe
Copy link
Author

celefthe commented Oct 27, 2021

I forgot to mention - the GUI only runs if 'braineg' is called in the terminal without any arguments. I wrap this in a desktop shortcut for a terminal free experience. Otherwise the command accepts whatever arguments and runs as normal - so the GUI does not replace the CLI here

@adamltyson
Copy link
Member

Hey @celefthe, glad brainreg is proving useful! I once had a plan to do exactly this, before I moved to napari.

I'm not sure what I think about merging this. The napari plugin is the main GUI entry point to the software, and will continue to be. There's a lot still left to work on with the plugin, but can I ask what limitations it has from your point of view? Napari is installed with brainreg anyway, and users don't have to learn napari, just the brainreg widget (similar to the Gooey version).

So normally, I would say no to merging. However, the Gooey version is simple, clean, and very few lines of code to maintain. I assume the GooeyParser class doesn't affect the CLI at all?

@adamltyson adamltyson self-requested a review October 27, 2021 17:00
@adamltyson adamltyson self-assigned this Oct 27, 2021
@adamltyson
Copy link
Member

You can ignore the tests (they're broken anyway). However, brainreg now no longer installs on GH actions. The errors mention wxpython, so I guess this is to do with Gooey? I think this would need to be fixed before merging, so that GH actions would at least run (even if we haven't fixed the tests yet).

@celefthe
Copy link
Author

Hi @adamltyson,

I think it ultimately depends on how brainreg fits into the bigger picture. If you see napari as the de-facto way users ought to interact with brainreg, then shipping a different GUI with it probably doesn't make a lot of sense - I think giving users too much choice can be a bit overwhelming from their perspective. If, on the other hand, you see brainreg as a thing of its own that also happens to come as a plugin for napari, then I think shipping a GUI with it makes sense for those interested in just using brainreg as a stand-alone tool. I suppose it depends if you intend for brainglobe to be a comprehensive platform or an a la carte set of tools.

I have no qualms with napari - I think it's great at what it does, and it makes sense for all these tools to go under its umbrella. In this particular instance, the users were only interested in comparing the registration output of brainreg with whatever proprietary nightmare they're currently using. The first time I tried installing napari on their machine (Windows 10) the plugin refused to work (I'm still not sure whether this is an issue on our end though, but if not I'll submit a different issue) and my thinking was "I don't need the bells and whistles, I just need to register some brains" so I saw providing a simple GUI alternative to the CLI I would otherwise use as the path of least resistance. Again it all depends on how you'd rather the users interact with brainglobe's different components - in this case the users were more interested in the a la carte approach, at least in the first instance, but this might be an exception rather than the default approach most users would (or should) take.

@celefthe
Copy link
Author

celefthe commented Oct 28, 2021

You can ignore the tests (they're broken anyway). However, brainreg now no longer installs on GH actions. The errors mention wxpython, so I guess this is to do with Gooey? I think this would need to be fixed before merging, so that GH actions would at least run (even if we haven't fixed the tests yet).

Yep I think the environment needs the wx gtk3 headers to run (python-wxgtk3.0-dev) - if you decide to eventually merge this I'll fix the CI and add tests and docs before you do.

GooeyParser is basically ArgumentParser with widgets, the CLI will still parse args as normal.

@adamltyson
Copy link
Member

I suppose it depends if you intend for brainglobe to be a comprehensive platform or an a la carte set of tools.

That's a good question, and the answer is both. We want to provide an integrated environment, but each tool should be fully functional in isolation.

Having thought about it, I think I'd prefer to include this, document it, but not necessarily advertise it. Napari will be the default GUI, but this will be available for those who don't need any other part of the ecosystem, in the same way that cellfinder-core exists for those who want to use the cell detection algorithm, without any of the additional anatomical context that BrainGlobe provides.

Does this sounds good to you?

@celefthe
Copy link
Author

celefthe commented Nov 1, 2021

Sounds good to me!

I've been thinking a bit about this and I think the current approach of launching the GUI when brainreg is called with no parameters might violate the principle of least astonishment -- the default should probably be the program shouting at you and laying out what it needs to run, instead of running an interface.

I think it might be a good idea to just have the GUI launch if explicitly requested, e.g. with a --gui flag. What do you think? Or do you prefer the default of launching if no parameters are defined?

@adamltyson
Copy link
Member

I think you're right. A --gui flag, or even a separate entry point (e.g. brainreg-gui) is better than launching an unexpected GUI.

@celefthe
Copy link
Author

celefthe commented Nov 1, 2021

Do you have a preference or should I submit whichever version I think looks nicer for review?

@adamltyson
Copy link
Member

Happy to go with whatever you think.

@celefthe celefthe marked this pull request as draft November 2, 2021 10:16
@JulesScholler
Copy link
Contributor

Just to say that I was going to also use Gooey for the exact same purpose because many people just want to use BrainReg to register brains and that's it (hence why original data orientation is also important, see my PR).

I agree that Napari is great but it might be a pain to install it with other libraries that are also using graphical backends, especially when using VM and hypervisor (which happens a lot on imaging facilities).

All of this to say that this PR would be very welcomed, thanks @celefthe !

@adamltyson
Copy link
Member

Thanks @JulesScholler, good to know! I forgot about VMs and remote desktops etc. which can make napari difficult to use.

@celefthe once this PR is done, we can add the GUI to the docs.

@adamltyson
Copy link
Member

Hey @celefthe, do you think you'll have to work on this, or shall I close?

@celefthe
Copy link
Author

celefthe commented Feb 8, 2022 via email

@sonarcloud
Copy link

sonarcloud bot commented Feb 14, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@adamltyson
Copy link
Member

Thanks for following this up @celefthe. Just FYI, a fresh install of brainreg seems to be broken at the moment (#56) just in case you're testing stuff and it's going wrong. Shouldn't affect the GUI itself though.

@adamltyson
Copy link
Member

Hi @celefthe, do you still have plans to finish off this PR, or shall I close?

Cheers,
Adam

@adamltyson
Copy link
Member

Hey @celefthe, I'll close this PR for now, but feel free to reopen it.

@adamltyson adamltyson closed this May 5, 2022
willGraham01 pushed a commit that referenced this pull request Oct 27, 2023
* 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
alessandrofelder added a commit that referenced this pull request 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 pull request 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
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants