AllenCell / allencell-segmenter-ml

Napari plugin for ml segmentation
Other
1 stars 0 forks source link

Refactor prediction checklist to avoid thread interrupts #218

Open saeliddp opened 6 months ago

saeliddp commented 6 months ago

From conversation with @hughes036

Right now, our prediction checklist widget starts up a channel extraction thread each time an image is unchecked. This is done to ensure that the number of channels in the dropdown corresponds with the number of channels in at least one of the selected images. When a user rapidly unchecks images, multiple extraction threads will be going at the same time. In order to guarantee that the most recently started thread (i.e. the one corresponding to the currently selected images in the UI) is the only thread that will have UI effects, we interrupt the existing threads (telling them not to have any UI effects).

It would be preferable if we could do this in a way that does not rely on thread interrupts, because this is the only place in the code so far that such a pattern is necessary.

yrkim98 commented 5 months ago

non-issue for single channel images