You could try running the Connectivity
filter on the output of the Contour
filter. Connectivity
will divide your data into groups of cells that are mutually touching and give a unique id to each connected group. You can then identify which id is assigned to the surface part of the contour and use the Threshold
filter to extract that part.
That should work as long as no bubble is touching. If a bubble touches, then you’ll get the geometry for that bubble as well.