You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enable custom AI Instance Segmentation jobs (#8849)
This PR does three things:
1. Adds support for training and running AI instance segmentation
models. This is already supported by the worker by was not available
from the UI yet. This workflow is distinct from the regular neuron model
training is designed for nuclei and other instance segmentation tasks.
There is also a lot of naming confusion between our pre-trained models,
the custom model that one can train, generic instance segmentation and
EM_nuclei models (essentially the same) etc. Something for a follow up
PR.
2. Adds AI job settings to better support VX instance segmentations (See
issue #8278):
- Instance Model Training: `max_distance_nm`
- Instance Model Inference: `seed_generator_distance_threshold`
3. It splits the monolithic `starts_jobs_modal.tsx` into separate files
for components, tabs, forms, hooks etc.
- most of the code is simply moved into sub components
- added React.callbacks to some callbacks and click handlers
### URL of deployed dev instance (used for testing):
- https://___.webknossos.xyz
### Steps to test:
- Enable worker
Training a new Instances Model:
1. Create annotation with bounding box, open "AI" modal
2. Switch to tab "Train a Model" to start a new model training. Switch
"Model category" to "EM Instance Segmentation for Nuclei, ..."
3. Enter a distance threshold - or use default value
5. Start training
Using an instances model:
1. Create annotation, open "AI" modal
2. Switch to tab "Run a Model"
3. Switch from pre-trained to custom models with toggle switch in upper
right
4. Select previously trained instance model from dropdown
6. Confirm that the "seed generatoion distance" option is shown
7. Start the inference
### Issues:
- fixes#8278
------
(Please delete unneeded items, merge only when none are left open)
- [x] Added changelog entry (create a `$PR_NUMBER.md` file in
`unreleased_changes` or use `./tools/create-changelog-entry.py`)
- [ ] Added migration guide entry if applicable (edit the same file as
for the changelog)
- [ ] Updated [documentation](../blob/master/docs) if applicable
- [ ] Adapted [wk-libs python
client](https://github.com/scalableminds/webknossos-libs/tree/master/webknossos/webknossos/client)
if relevant API parts change
- [ ] Removed dev-only changes like prints and application.conf edits
- [x] Considered [common edge
cases](../blob/master/.github/common_edge_cases.md)
- [ ] Needs datastore update after deployment
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: MichaelBuessemeyer <[email protected]>
0 commit comments