-
Notifications
You must be signed in to change notification settings - Fork 1
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
multi channel segmentation support #423
Conversation
src/allencell_ml_segmenter/_tests/training/test_image_selection_widget.py
Show resolved
Hide resolved
src/allencell_ml_segmenter/_tests/training/test_image_selection_widget.py
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this implements the plugin side of the contract with cyto-dl, i think we can merge. if the contract changes, we can make a followup pr.
It does, but if we merge without the corresponding changes in cyto-dl being released, training will fail |
Context
See #374 . In order to implement support for multi-channel segmentations, I found it easiest to do some light refactoring to use slots/signals and our task executor framework. This is definitely not a full refactor of training to align with curation, but it is a start.
Main Changes
channel_extraction.py
: add an optional arg to the function that gets an image path from a provided csv.training_model.py
: add state related to segmentation channels, remove unused state and associated functionstraining_service.py
: implement async directory data extraction using the task executor patternimage_selection_widget.py
: add UI elements for selecting segmentation channels + handlers for what happens when channels are set/selectedcyto_overrides_manager.py
: add overrides for segmentation channelsTesting
Added unit tests for
image_selection_widget.py
andtraining_model.py
. Fixed any failing unit tests. Edit: I have now manually verified that we can run through curation/training with channel overrides for segmentations.Screenshots