Blob Split

The Blob Split is functionally similar to the Open and Watershed modules which seek to split blobs into reasonable separate blobs in order to allow for additional processing on single objects. Blob splitting is very useful when objects cannot be segmented into separate objects and are touching each other. Running any statistics or shape matching on connected objects would cause incorrect results. The Blob Split module offers more control over the splitting process than previous modules.

The Blob Split module is different than the previous morphology based modules in that it will pay much more attention to the object curvature in order to deduce what a good split segment would be. There are many more parameters on the Blob Split that provide much better control over what objects are split.

For example, the Watershed module will separate even the smallest object from its parent whereas the Blob Split module can be configured to only separate the largest.



1. Segment Size - The Blob Split module determines an objects curvature and uses this to determine where an effective split point can be. In performing this calculation X number of points before and after any point need to be taken into account. The larger the segment size is the smoother the object curvature will be and the fewer split points will be created. Thus increasing the segment size will reduce the sensitivity of the splits. The smaller the segment size the smaller the bumps in the object need to be in order to elicit a split point.

2. Angle Threshold - Once the object outline has been smoothed each point's angular intensity (the amount of curvature) will be calculated. Reducing the Angle Threshold will remove those points with less sharp angles, whilst increasing the angle threshold will allow more and more straighter points to be included as split points.

3. Max Break Distance - The maximum distance between two split points that will be allowed to create a split. Reducing this number will prevent very thick joints from splitting, increasing it will allow thicker joints to be split.

4. Min Break Size - The minimum size that break can create. For example, if you have a small little node on your object outline it will normally be split from the larger parent object. Increasing the Min Break Size will prevent this smaller object from splitting from the parent. Thus an split object will have to still be larger in size than the Min Break Size in order to be split from its parent. Any objects that are smaller will not be split.

5. Snap Size - The Blob Split module will determine many split points that indicate potential split points. Some (but not all) of these split points could match to another split point in order to create a good split. In order to ensure that split points do match you can specify a snap size which will cause split points to capture connections from opposing split points.

6. Show Points - Specify the desired parameters in order to show the split points. While the split points are not visually needed they are useful when adjusting the above parameters in order to get the desired split results.

7. Split Line Thickness - When the module splits blobs it will draw a line between the two detected endpoints. You can specify the thickness of this line to ensure that the blobs are correctly separated with enough distance to avoid connecting the blobs in successive modules.


SourceBlob Split
 Click Here to try the robofile that produced the above results.

See Also


 New Post 

Blob_Split Related Forum PostsLast postPostsViews
Blob splitting
I am having a problem with implementing blob splitting. It seems to split the blob in an unexpected location. I have attached th...
8 years 1 2127
Blob split feature expansion
Hi Steven, Often times I face the problem where after applying the edge detection filter, the stron...
9 years 6 2175
Separating the object or pores
Hello, I am working to characterize a porous media and I want to identify each pore (object) indivi...
11 years 7 3354