Class extracting a dental panoramic volume. More...
#include <ImageViz/Workflows/DentalPanoramicExtractor.h>
This class provides a set of functions for extracting a dental panoramic from a CBCT volume. The full workflow for extracting a panoramic is :
Each step can be computed by calling the corresponding function. When one of these functions is called, the previous steps are automatically applied if:
By default the arch curve and arch volume are automatically computed.The arch curve can be user defined by using the setArchCurve function. In this case the arch mesh will be computed by extruding and fitting this user curve.
The arch mesh can be also user defined by using the setArchMesh function. In this case the arch mesh will not be computed from the arch curve.
Important notices
DentalPanoramicExtractor::DentalPanoramicExtractor | ( | SoImageDataAdapter * | inImage | ) |
Constructor.
inImage: The input 3D CBCT image of the head (LP orientation).
DentalPanoramicExtractor::~DentalPanoramicExtractor | ( | ) |
Destructor.
std::vector<SbVec3f> DentalPanoramicExtractor::getArchCurve | ( | ) |
Get the list of vertices forming the dental arch which is used to compute the arch mesh.
Curve vertices are expressed in mm. Default value is an empty vector which means that the curve is automatically computed.
SbStructuredQuadrilateralMesh* DentalPanoramicExtractor::getArchMesh | ( | ) |
Get the mesh forming the surface to unfold in the output volume.
Mesh vertices are expressed in mm. Default value is NULL which means that the mesh is automatically computed.
bool DentalPanoramicExtractor::getAutoThreshold | ( | ) | const |
Returns True if the segmentation of the teeth is automatic.
Returns False if it applies the threshold given by the getThreshold function. Default value is True.
double DentalPanoramicExtractor::getExtrusionDown | ( | ) | const |
Get the extrusion length of dental arch curve in the direction of head towards feet.
This length is expressed in mm. Default value is 30.
double DentalPanoramicExtractor::getExtrusionUp | ( | ) | const |
Get the extrusion length of dental arch curve in the direction of feet towards head.
This length is expressed in mm. Default value is 30.
SoImageDataAdapter* DentalPanoramicExtractor::getInputVolume | ( | ) | const |
Get the input 3D CBCT image of the head (LP orientation).
std::vector<SbVec3f> DentalPanoramicExtractor::getInsideArchCurve | ( | ) |
Get the list of vertices forming the inside border of the search area for fitting the arch mesh.
This curve is computed by shifting the arch curve inside the jaws to the search distance. Curve vertices are expressed in mm. If the arch curve is not up to date, it is automatically computed first.
std::vector<SbVec3f> DentalPanoramicExtractor::getOutsideArchCurve | ( | ) |
Get the list of vertices forming the outside border of the search area for fitting the arch mesh.
This curve is computed by shifting the arch curve outside the jaws to the search distance. Curve vertices are expressed in mm. If the arch curve is not up to date, it is automatically computed first.
SoImageDataAdapter* DentalPanoramicExtractor::getPanoramicImage | ( | ) |
Get the output panoramic image representing unfolded jaws.
The width of this volume is defined by arch curve length. Its height is defined by the sum of the lower and upper extrusion lengths.
SoImageDataAdapter* DentalPanoramicExtractor::getPanoramicVolume | ( | ) |
Get the output panoramic volume given by unfolding the surface defined by the arch mesh.
The width of this volume is defined by arch curve length. Its height is defined by the sum of the lower and upper extrusion lengths. Its thickness is defined by the volume thickness.
double DentalPanoramicExtractor::getSearchLength | ( | ) | const |
Get the search distance where the initial mesh is fitted to the arch curve.
This distance is expressed in mm. Default value is 15.
double DentalPanoramicExtractor::getSharpeningFactor | ( | ) | const |
Get the sharpening factor applied on the panoramic image.
The higher this factor is, the sharper the output image is. If it is equal to 0, no sharpening is applied. Default value is 4.
uint32_t DentalPanoramicExtractor::getSlabThickness | ( | ) | const |
Get the number of slices of the panoramic volume used to build the output panoramic image.
Default value is 3.
uint32_t DentalPanoramicExtractor::getSubsamplingFactor | ( | ) | const |
Get the down sampling factor to compute the segmentation volume used for fitting the arch mesh.
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. Default value is 4.
double DentalPanoramicExtractor::getThreshold | ( | ) | const |
Get the threshold value used when the automatic threshold is disabled.
Default value is 1000.
double DentalPanoramicExtractor::getVolumeThickness | ( | ) | const |
Get the thickness of the output panoramic volume.
This thickness is expressed in mm. Default value is 15.
void DentalPanoramicExtractor::setArchCurve | ( | const std::vector< SbVec3f > & | ) |
Set the list of vertices forming the dental arch which is used to compute the arch mesh.
Curve vertices are expressed in mm. Default value is an empty vector which means that the curve is automatically computed.
void DentalPanoramicExtractor::setArchMesh | ( | SbStructuredQuadrilateralMesh * | ) |
Set the mesh forming the surface to unfold in the output volume.
Mesh vertices are expressed in mm. Default value is NULL which means that the mesh is automatically computed.
void DentalPanoramicExtractor::setAutoThreshold | ( | bool | ) |
Set True to perform an automatic segmentation of the teeth.
Set False to apply the threshold defined by the setThreshold function. Default value is True.
void DentalPanoramicExtractor::setExtrusionDown | ( | double | ) |
Set the extrusion length of dental arch curve in the direction of head towards feet.
This length is expressed in mm. Default value is 30.
void DentalPanoramicExtractor::setExtrusionUp | ( | double | ) |
Set the extrusion length of dental arch curve in the direction of feet towards head.
This length is expressed in mm. Default value is 30.
void DentalPanoramicExtractor::setInputVolume | ( | SoImageDataAdapter * | inImage | ) |
Set the input 3D CBCT image of the head (LP orientation).
If the input volume is set to null, the whole cache data is cleared.
void DentalPanoramicExtractor::setSearchLength | ( | double | ) |
Set the search distance where the initial mesh is fitted to the arch curve.
This distance is expressed in mm. Default value is 15.
void DentalPanoramicExtractor::setSharpeningFactor | ( | double | ) |
Set the sharpening factor applied on the panoramic image.
The higher this factor is, the sharper the output image is. If it is equal to 0, no sharpening is applied. Default value is 4.
void DentalPanoramicExtractor::setSlabThickness | ( | uint32_t | ) |
Set the number of slices of the panoramic volume used to build the output panoramic image.
Default value is 3.
void DentalPanoramicExtractor::setSubsamplingFactor | ( | uint32_t | ) |
Set the down sampling factor to compute the segmentation volume used for fitting the arch mesh.
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. Default value is 4.
void DentalPanoramicExtractor::setThreshold | ( | double | ) |
Set the threshold value used when the automatic threshold is disabled.
Default value is 1000.
void DentalPanoramicExtractor::setVolumeThickness | ( | double | ) |
Set the thickness of the output panoramic volume.
This thickness is expressed in mm. Default value is 15.