Grow-cut algorithm explanation

Hi all,

I have been working lately with the grow-cut algorithm of local threshold. I find it very useful but I can’t figure out how the algorithm works on a code basis, is there any documentation on this?



Yes, GrowCut is a really useful algorithm. It’s actually a very simple idea that works well.


Interesting link and the algorithm is really working well. Is there a way to involve background seeds (as shown in the paper) in the grow-cut implementation of local threshold? Would make it even more precise …

1 Like

Do you mean parameters T1 and T2 from section 2.2 of the paper? I don’t think we have tried those, but they would be possible to add.

I actually meant the red/blue seeds in figure 4 section 3.1. In 3D Slicer, the grow-cut process in local threshold is started by the CTRL-left click (one seed/markup) on the area that you want to grow.

Yes, LocalThreshold (from segment editor extra effects extension) is a bit different. But the regular GrowFromSeeds should be just like what’s shown in figure 4 and it’s the way I typically use the algorithm. I start by painting some seeds for whatever I want to segment and some rejection class seeds outside and then initialize the preview mode. From there it can auto update the algorithm as you paint or erase the input (use any tool - paint, draw, scissors…). For some kinds of data this can converge very quickly to a nice result. Then remember to go back to GrowFromSeeds and click apply when the preview looks the way you want it. If you don’t like the result you can undo back to the seeds and redo the grow from seeds part.

1 Like

In Local threshold effect, the background seed region is generated automatically by inverting the foreground seed region and shrinking it a bit.

1 Like