slow segment-editor's grow-from-seeds initialization for liver segmentation

Operating system: Windows 10
Slicer version: 4.13.0-2021-12-21, 4.11.20210226
Expected behavior: faster performance
Actual behavior:
I’m trying to use Segment Editor’s Grow-From-Seeds to segment liver on abdominal CT. I found the initialization step can take 4-5min, for both stable and preview release Windows versions, which is longer than I expected. I saw it took around 1 min when others doing similar operations on similar images on Linux.

Could you test it on your side if you have access to a Windows machine? Is the grow-from-seeds always slower with Windows version? Any tips to improve the performance? Thanks!

I recorded a short video to show what I did

The image I used in the video

I was able to reproduce the slow (4-minute) “Grow from seeds” initialization on this image. By somewhat optimizing the image for liver segmentation, I reduced the computation time to 5 seconds!

  • This image has “float” voxels, which makes computation slower. Use the “Cast scalar volume” to convert it to “short” type. CT images are usually are natively stored in “short” voxel type, so no information is lost - if any - should be negligible.
  • The image is fairly high resolution (0.7mm voxel size). This resolution is important for segmenting small and thin structures, but unnecessary for a large, bulky structure such as the liver. Use Crop volume module to crop the the image size to the minimum necessary size (about 1cm margin around the liver) to save memory, set Spacing scale to 2.0x (or even 3.0x), and enable “Isotropic spacing” (this image is already close to isotropic, but since we resample it anyway, we can easily make it completely isotropic).
1 Like

@lassoan Thanks a lot!
It works for me! Around 5 seconds!

One question: Does painting more seeds always lead to slower initialization?

Amount of seeds does not matter, just the bounding box of the painted regions. Grow from seeds only fills within the region where the seeds are defined in (extended by some margin) and the larger the region the longer the computation takes.

Many thanks! :smiley: @lassoan