The SimpleITK library has an easy to use class for computing connected components in a segmentation mask: sitk.ConnectedComponentImageFilter
.
Here is a sample usage (here the “mask” argument would be a binary mask (0 = background, 1 = foreground)
def get_components(mask):
f = sitk.ConnectedComponentImageFilter()
labeled = f.Execute(mask)