Here I'm suggesting a restructure of the biahub repo to make it easier to understand, browse, and contribute to.
Make code easier to find
biahub currently has roughly the following structure:
biahub/
analysis/
deskew.py
deconvolve.py
...
cli/
deskew.py
deconvolve.py
stabilize.py
main.py
...
tests/
The analysis module is a remnant from shrimpy where we had acquisition and analysis modules. Currently, it's confusing and hard to know what functions go under analysis vs cli. I suggest removing the analysis and cli modules to achieve a structure like this:
biahub/
deskew.py
deconvolve.py
stabilize.py
cli.py
...
tests/
The new deskew.py module will combine functions from analysis/deskew.py and cli/deskew.py and define a deskew_cli() function which will be imported in cli.py, which will have the following structure:
import click
from biahub.deskew import deskew_cli
...
@click.group()
def main()
main.add_command(deskew_cli)
...
Make example config files easier to find
Our example configs, which are essential to find for any new user and buried in
biahub/
analysis/
settings/
example_deskew_settings.yml
example_deconvolve_settings.yml (actually currently missing)
...
We should instead move them to
biahub/
deskew.py
deconvolve.py
stabilize.py
cli.py
tests/
settings/
example_deskew_settings.yml
example_deconvolve_settings.yml
@mattersoflight @edyoshikun @talonchandler @ziw-liu Let me know what you think about this plan. It may be helpful to merge large open PRs before this restructure, but I don't think that should be a blocker.
Here I'm suggesting a restructure of the
biahubrepo to make it easier to understand, browse, and contribute to.Make code easier to find
biahubcurrently has roughly the following structure:The analysis module is a remnant from
shrimpywhere we hadacquisitionand analysismodules. Currently, it's confusing and hard to know what functions go underanalysisvscli. I suggest removing theanalysisandclimodules to achieve a structure like this:The new
deskew.pymodule will combine functions fromanalysis/deskew.pyandcli/deskew.pyand define adeskew_cli()function which will be imported incli.py, which will have the following structure:Make example config files easier to find
Our example configs, which are essential to find for any new user and buried in
We should instead move them to
@mattersoflight @edyoshikun @talonchandler @ziw-liu Let me know what you think about this plan. It may be helpful to merge large open PRs before this restructure, but I don't think that should be a blocker.