Cracks and Cavities Segmentation in CT Data
This recipe is useful to segment data with cracks, pores, or cavities.

The cracks/pores and cavities in a CT dataset have gray values similar to those of the background. Therefore, it is especially difficult to segment the cavities. This recipe provides methods to segment cavities as well as to enhance the low resolution cracks.
Recipe steps in detail:
Step 1: create a binary mask of the whole dataset (Interactive Thresholding)
Step 2 to 4: enhance low resolution cracks (Unsharp Masking, Non-Local Means Filter, and Arithmetic)
Step 5: binarize cracks and cavities (Interactive Thresholding 2)
Step 6: subtract cracks and cavities from the binary mask of the data (Arithmetic 2)
Step 7: keep only the biggest label in volume (Filter by Measure)
Step 8: compute an ambient occlusion scalar field (Compute Ambient Occlusion)
Step 9: binarize cracks and cavities (Interactive Thresholding 3)
About the data:
The data used in the workflow is a battery particle after charging, with lots of cracks. The guided workflow recipe will segment the inner cracks and extend on to the surface of the battery particle.
How to load and play the recipe:
Load the data. Right click in the Project View, select Create Object and then create a Recipe Player. In the Recipe Player, browse to find the downloaded recipe (in /share/recipes). Select the data as input. Press Apply.
Additional resources:
- How to Segment Cavities using the Compute Ambient Occlusion Module
- Extended Cavity Segmentation with Ambient Occlusion Tutorial
Data courtesy by Dr. Kai Zhang, Institute of High Energy Physics, Chinese Academy of Sciences.