Can the carving mode run in parallel?

When I segment in the labelling step It takes a lot of time and I realised that it only uses one core of my workstation. Is this normal?


hi @caviri,

parts of this algorithm run in parallel (the whole pre-processing bit). However the actual watershed cannot trivially be parallelized. So yes, this is normal.
However, I also did a quick round of profiling and found that the watershed is only half of the computation time you experience when pressing the segment button. The other half being the update of the rendering. So that’s maybe something we can improve.

Some general advice on working in ilastik is to always use the lowest resolution possible for your problem, this will speed up things.

Maybe @constantinpape has more insights.

During the segmentation step, carving is performing seeded, edge weighted graph watershed.
This algorithm is not trivially parallelizable (though there are some options, e.g. parallel versions of Kruskal).

@caviri If you are using ilastik 1.3.2 you can reduce the number of superpixels in the Preprocessing tab by selecting Agglomerate. This will speed up the segmentation step.
You can control the degree of reduction via the Reduce to parameter, where e.g. 0,1 would mean that the number of superpixels will be reduced to 10 % of their initial number.
When doing this, you should still check that the superpixels adhere to the relevant boundaries (Watershed layer).

Thanks @k-dominik and @constantinpape for the quick response and advise! I’ll try to take your advise of reducing the resolution and the number of superpixels.