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 - roadmap #238

Closed
5 tasks
FedeClaudi opened this issue Jun 18, 2021 · 2 comments
Closed
5 tasks

GUI - roadmap #238

FedeClaudi opened this issue Jun 18, 2021 · 2 comments
Labels
atlasgen Issue was transferred from the retired bg-atlasgen. Concerns the atlas_generation submodule.

Comments

@FedeClaudi
Copy link
Contributor

FedeClaudi commented Jun 18, 2021

GUI development roadmap

goal: write a pyqt GUI for atlas generation. Remove the need to actively write code during the atlas generation process.

Steps:

  • main functionality: create a pyqt GUI with main window and pop up windows. The main window can be used to enter basic data (e.g. atlas name) and to execute the different steps in the atlas generation process (e.g. extract meshes). The popup windows are dedicated to specific tasks like loading the reference image
  • integrate with the atlas generation script: make sure that when all data is loaded it actually creates an atlas correctly
  • testing? always hard with GUIs...
  • CLI: create a terminal command for starting the gui (with typer)
  • styling: make the GUI look nice and visually consistent with brainrender's

Considerations:

i. most pop up windows will be very similar, a base class can be used and shared across them
ii. useful text prompts (e.g. describing what is needed for a reference image) and display a summary (e.g. show the reference image loaded)
iii. the main window can have buttons, one for each step. The color of these buttons can be used to signal to the user which steps have been completed and which remains to be done. Same for the final atlas-generating button: it should be greyed out and unclickable until all required steps have been succesfully carried out

info

Brainrender's GUI code, although messy, can be a useful reference point:
main window & UI
https://github.com/brainglobe/brainrender/blob/master/brainrender/gui/ui.py
https://github.com/brainglobe/brainrender/blob/master/brainrender/gui/style.py

pop-up task specific windows
https://github.com/brainglobe/brainrender/blob/master/brainrender/gui/widgets/add_regions.py

add from file functionality
https://github.com/brainglobe/brainrender/blob/master/brainrender/gui/apputils/add_from_file_control.py

** icons **
https://github.com/brainglobe/brainrender/tree/master/brainrender/gui/icons

@willGraham01 willGraham01 added the atlasgen Issue was transferred from the retired bg-atlasgen. Concerns the atlas_generation submodule. label Feb 23, 2024
@willGraham01 willGraham01 transferred this issue from brainglobe/bg-atlasgen Feb 23, 2024
@adamltyson
Copy link
Member

@brainglobe/active-devs interested to know your thoughts on this issue? My hunch is that atlases have become so varied now that a GUI is unlikely to be flexible enough, and it would be too much work to build and maintain.

I propose closing this issue and directing our efforts into making the script-based approach as straightforward as possible.

In the future we could create an atlas generation (i.e. starting just from a template image or even raw data) GUI, but that should be a bit simpler as we don't need to provide as much flexibility.

@niksirbi
Copy link
Member

I agree this feels far off into the future.
It hinges on us making the script-based atlas generation simpler and validated, and probably also implementing some version of #141. Only then a GUI may become possible. As things currently stand, there are too many branches on that decision tree, and a GUI would be hard to build, and probably of not much help.

So I think this is a cool idea, but should be tackled after the validation and atlas 2.0 bits.

@github-project-automation github-project-automation bot moved this from Backlog to Done in Core development Sep 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
atlasgen Issue was transferred from the retired bg-atlasgen. Concerns the atlas_generation submodule.
Projects
Status: Done
Development

No branches or pull requests

4 participants