21 Oct 2019

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 data have gray values similar to the background's. Therefore it is especially difficult to segment the cavities. The recipe provides methods to segment cavities as well as to enhance the low resolution cracks.

Recipe steps in details:

Step 1: create a binary mask of the whole data (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 recipe guided workflow will segment the cracks inner and on extend 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 local/share/recipes). Select the data as input. Press Apply. You'll find more information on how to install a recipe here.

Additional resources:

Data courtesy by Dr. Kai Zhang, Institute of High Energy Physics, Chinese Academy of Sciences.