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.
Interface
Instructions
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.
Example
Click Here to try the robofile that produced the above results.
See Also
Open
Watershed
|