ImageDev

DentalWallSegmentation3d

Transforms a grayscale CBCT image into a binary image where every pixel identified as belonging to the dental wall is set to 1 and all the others are set to 0.

Access to parameter description

For an introduction to dental panoramics: section Dental applications

This algorithm performs a rough segmentation of the teeth and the jaws contained in a cone beam computed tomography (CBCT) image.
The binarization step can be either performed automatically, or by using a user-defined threshold value.
A sub sampling factor can be applied to reduce the computation time during the subsequent steps of the workflow.



Figure 2. Dental wall segmentation: (left) the initial CBCT and (right) the segmentation result

Important notices:
See also

Function Syntax

This function returns outputBinaryImage.
// Function prototype
std::shared_ptr< iolink::ImageView > dentalWallSegmentation3d( std::shared_ptr< iolink::ImageView > inputImage, bool autoThresholdMode, uint32_t samplingFactor, double threshold, std::shared_ptr< iolink::ImageView > outputBinaryImage = NULL );

Class Syntax

Parameters

Parameter Name Description Type Supported Values Default Value
input
inputImage
The input 3D CBCT image of the head (LP orientation). Image Grayscale nullptr
input
autoThresholdMode
The way to binarize the data. Performs an automatic segmentation of the teeth is equals true, applies the threshold defined by the thresholdRange parameter otherwise. Bool true
input
threshold
The low and high threshold levels. This parameter is ignored when the automatic threshold mode is enabled. Float64 Any value 1000
input
samplingFactor
The down sampling factor to compute the segmentation volume used for extracting the dental wall.
The higher this factor is, the less precise the fitted mesh is and the faster the computation is. If it is equal to 1, no down sampling is applied.
UInt32 Any value 4
output
outputBinaryImage
The output binary image representing the extracted dental wall. Its dimensions are equal to the input image dimensions divided by the sampling factor. Image nullptr

Object Examples

std::shared_ptr< iolink::ImageView > dental_cbct = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "dental_cbct.am" );

DentalWallSegmentation3d dentalWallSegmentation3dAlgo;
dentalWallSegmentation3dAlgo.setInputImage( dental_cbct );
dentalWallSegmentation3dAlgo.setAutoThresholdMode( true );
dentalWallSegmentation3dAlgo.setSamplingFactor( 4 );
dentalWallSegmentation3dAlgo.setThreshold( 580 );
dentalWallSegmentation3dAlgo.execute();

std::cout << "outputBinaryImage:" << dentalWallSegmentation3dAlgo.outputBinaryImage()->toString();

Function Examples

std::shared_ptr< iolink::ImageView > dental_cbct = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "dental_cbct.am" );

auto result = dentalWallSegmentation3d( dental_cbct, true, 4, 580 );

std::cout << "outputBinaryImage:" << result->toString();