DentalWallSegmentation3d
Transforms a grayscale CBCT image into a binary image where all pixels identified as belonging to the dental wall are set to 1 and all others are set to 0.
Access to parameter description
This algorithm performs a rough segmentation of teeth and jaws contained in a cone-beam computerized tomography (CBCT) image.
The binarization step can be either automatically performed, or by using a user-defined threshold value.
A sub sampling factor can be applied to reduce the computation time.
Important notices:
Access to parameter description
This algorithm performs a rough segmentation of teeth and jaws contained in a cone-beam computerized tomography (CBCT) image.
The binarization step can be either automatically performed, or by using a user-defined threshold value.
A sub sampling factor can be applied to reduce the computation time.
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.
Function Syntax
This function returns the outputBinaryImage output parameter.
// 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 the outputBinaryImage output parameter.
// Function prototype. dental_wall_segmentation_3d( input_image, auto_threshold_mode = True, sampling_factor = 4, threshold = 1000, output_binary_image = None )
This function returns the outputBinaryImage output parameter.
// 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() );