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
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.
|
|
Important notices:
- This class is dedicated to be used on CBCT data whose voxel size are expressed in millimeters.
- Default segmentation parameters are preset to work with voxel intensities in Hounsfield Unit but can be adapted to different calibration thanks to the threshold parameters.
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 );
This function returns outputBinaryImage.
// Function prototype. dental_wall_segmentation_3d( input_image, auto_threshold_mode = True, sampling_factor = 4, threshold = 1000, output_binary_image = None )
This function returns outputBinaryImage.
// Function prototype. public static IOLink.ImageView DentalWallSegmentation3d( IOLink.ImageView inputImage, bool autoThresholdMode = true, UInt32 samplingFactor = 4, double threshold = 1000, IOLink.ImageView outputBinaryImage = null );
Class Syntax
Parameters
Class Name | DentalWallSegmentation3d |
---|
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputImage |
The input 3D CBCT image of the head (LP orientation). | Image | Grayscale | nullptr | |
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 | ||
threshold |
The low and high threshold levels. This parameter is ignored when the automatic threshold mode is enabled. | Float64 | Any value | 1000 | |
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 | |
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();
dental_cbct = ioformat.read_image(imagedev_data.get_image_path("dental_cbct.am")) dental_wall_segmentation_3d_algo = imagedev.DentalWallSegmentation3d() dental_wall_segmentation_3d_algo.input_image = dental_cbct dental_wall_segmentation_3d_algo.auto_threshold_mode = True dental_wall_segmentation_3d_algo.sampling_factor = 4 dental_wall_segmentation_3d_algo.threshold = 580 dental_wall_segmentation_3d_algo.execute() print( "output_binary_image:", str( dental_wall_segmentation_3d_algo.output_binary_image ) )
ImageView dental_cbct = ViewIO.ReadImage( @"Data/images/dental_cbct.am" ); DentalWallSegmentation3d dentalWallSegmentation3dAlgo = new DentalWallSegmentation3d { inputImage = dental_cbct, autoThresholdMode = true, samplingFactor = 4, threshold = 580 }; dentalWallSegmentation3dAlgo.Execute(); Console.WriteLine( "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();
dental_cbct = ioformat.read_image(imagedev_data.get_image_path("dental_cbct.am")) result = imagedev.dental_wall_segmentation_3d( dental_cbct, True, 4, 580 ) print( "output_binary_image:", str( result ) )
ImageView dental_cbct = ViewIO.ReadImage( @"Data/images/dental_cbct.am" ); IOLink.ImageView result = Processing.DentalWallSegmentation3d( dental_cbct, true, 4, 580 ); Console.WriteLine( "outputBinaryImage:" + result.ToString() );