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

ideas for refactoring: image_parser module is too large #29

Closed
bryantChhun opened this issue Apr 6, 2020 · 2 comments
Closed

ideas for refactoring: image_parser module is too large #29

bryantChhun opened this issue Apr 6, 2020 · 2 comments

Comments

@bryantChhun
Copy link
Contributor

The extract.image_parser module has become a catch-all of functions. Many of these can be moved out.

I'll start by doing the following across two PRs:

  1. copying functions to new modules in appropriate locations
  2. changing import statements to the new modules/locations
  3. finally, remove the old functions from the old modules (maybe a 3rd PR?)
@mattersoflight
Copy link
Member

I suggest creating one PR with refactor to which multiple individuals contribute and initiate one or two PRs. Our goal should be to describe dataflow with names of the modules/functions.

For example,

Load images and metadata, write output:

io.load_scienion(path, metadata)
io.load_octopi(path, metadata)
io.save_OD()
io.save_intensities()
io.save_background()

Image->OD per well:

analyze.segment_well
analyze.compute_background
analyze.find_array_spots
analyze.compute_OD

debug plots:
debug.plot_overlay
debug.plot_icp

OD->calls across wells:
measure.standard_curve
measure.plot_OD(antigen,serum)
measure.antibody_concentration

The last module (measure ) needs to be defined.

@mattersoflight mattersoflight changed the title image_parser module is too large ideas for refactoring: image_parser module is too large Apr 7, 2020
@bryantChhun
Copy link
Contributor Author

I suggest creating one PR with refactor to which multiple individuals contribute and initiate one or two PRs. Our goal should be to describe dataflow with names of the modules/functions.

One difficulty with this approach is that there can not be any permission, PR, or other check that someone pushes changes we all agree upon. Contributors to this branch will simply "push to remote". And all other contributors will have to frequently "pull from origin" and resolve conflicts to make sure we are synched with new pushes.

It is possible to do PR to this branch. I think we each can have a repo fork and submit a PR across forks/branches.

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

No branches or pull requests

3 participants