Closed qin-yu closed 6 months ago
It does work
I think I'm done with the addition of widget, works well:
A problem of only have foreground filter as a post processing:
Raw:
Foreground prediction:
Boundary P\prediction:
Watershed superpixels shown on boundary:
Watershed superpixels shown on raw:
Filtered superpixels on foreground:
Filtered superpixels on raw:
GASP ran on filtered superpixels:
Filtered GASP:
Hey @lorenzocerrone and @wolny
I added a widget that uses probability maps to filter objects in another image. It is very flexible but only available in Napari now. I believe the other less interactive interfaces don't need this level of flexibility, and I'll think about how to design the filter into the them later. Please have a look at this PR.
this looks great, nice job @qin-yu
A generic pmap-guided object removal widget
Instead of adding an option to each "boundary -> segmentation" algorithm as discussed in #174, I made a separate widget for Napari GUI pipeline for generic usage. This independent design avoids bundled computation within other functions such as GASP, allows easy trial-and-error strategy, accepts flexible input pmaps/images and threshold, and is useful in unexpected use cases.
I came up with three designs and decided to implement only one. I now add this to Napari, and will think about the best way to do it in the other UI.
Example Usage
As a standalone widget it not only helps reduce unnecessary computation but also can be flexibly used between different steps. For example, the following image shows how an instance connected to a false positive would be deleted if we simple use GASP followed by method 3:
To have a perfect segmentation, users can apply a method 3 foreground filter before and after GASP like this:
Starting the a watershed output:
Apply the new filter:
Run GASP:
Apply my new filter again: