Surface area of model "islands" after threshold applied

Hello everyone. I have a model which has a scalar value at every cell (first image). I have applied a threshold (from the Models module) and the result is in the second image. The location of the islands does not need to be obtained, however, I would like to calculate (1) the number of islands and (2) the surface area of each island after thresholding. Any help would be greatly appreciated!

I don’t think there is a module for this task, but you can get what you need by a bit of Python scripting (probably 20-30 lines in total): assign a unique scalar to each island using vtkPolyDataConnectivityFilter, extract each island using vtkThreshold, and then get its surface area using vtkMassProperties. See examples of how to use VTK filters on models in Slicer in the script repository.

1 Like