![]() |
IPSDK
4_1_0_2
IPSDK : Image Processing Software Development Kit
|
computes the 3d skeleton image from a binary image More...
| IPSDKIPLBASICMORPHOLOGY_API image::ImagePtr | ipsdk::imaproc::morpho::skeleton3dImg (const image::ImageConstPtr &pInBinImg3d) |
| wrapper function for computes the 2d skeleton image from a binary image More... | |
| IPSDKIPLBASICMORPHOLOGY_API image::ImagePtr | ipsdk::imaproc::morpho::skeleton3dImg (const image::ImageConstPtr &pInBinImg3d, const attr::eSkeletonAlgoType &skeletonAlgoType) |
| wrapper function for computes the 2d skeleton image from a binary image More... | |
| IPSDKIPLBASICMORPHOLOGY_API void | ipsdk::imaproc::morpho::skeleton3dImg (const image::ImageConstPtr &pInBinImg3d, const image::ImagePtr &pOutBinImg) |
| wrapper function for computes the 2d skeleton image from a binary image More... | |
| IPSDKIPLBASICMORPHOLOGY_API void | ipsdk::imaproc::morpho::skeleton3dImg (const image::ImageConstPtr &pInBinImg3d, const attr::eSkeletonAlgoType &skeletonAlgoType, const image::ImagePtr &pOutBinImg) |
| wrapper function for computes the 2d skeleton image from a binary image More... | |
computes the 3d skeleton image from a binary image
The skeleton provides morphological and topological properties of an object. This function computes the image of skeletons from the objects present in the input binary image by iterative thinnings.
Two algorithms are available to compute the default or the smooth skeletons from the input binary image.
Here is the result of the default skeleton operation applied to a binary 3d image :
For the first approach, the objects are iteratively reduced by eliminating all voxels at the borders except the corners matching specific templates, rotated along 12 directions.
The method used for the smooth calculation algorithm was proposed by Lee et al. [1] and is approximately 20% to 25% slower than the default approach. In this iterative approach, voxels on each border are removed successively.
For a given border, we first check if a voxel can be deleted in a parallel way. Deletable voxels coordinates are noted and a sequential pass on these voxels validates the removals.
During this sequential check, a voxel in the list built during the parallel calculation can really be removed if it is still deletable after removing previous voxels in the list.
The results of the smooth skeleton calculation are similar than the skeletonize function provided by the ITK BinaryThinningImageFilter3D algorithm.
Here is the comparison of the two skeleton operations applied to the binary image illustrated above, by zooming on a border of the image. We can notice that the default algorithm (left) propagates the skeleton untill the image border whereas the smooth algorithm (right) ignore the 'Y' pattern :
[1] Ta-Chih Lee, Rangasami L. Kashyap and Chong-Nam Chu "Building skeleton models via 3-D medial surface/axis thinning algorithms." Computer Vision, Graphics, and Image Processing, 56(6):462–478, 1994.
Attribute description for algorithm :
| Name | ToolTip | Default Initializer |
|---|---|---|
| ipsdk::imaproc::attr::InBinImg3d | [Input] binary 3d image for processing operation | X |
| ipsdk::imaproc::attr::InOptSkeletonAlgoType | [Input Optional] Determine the skeleton calculation method | X |
| ipsdk::imaproc::attr::OutBinImg | [Output] binary image for processing operation | ipsdk::imaproc::duplicateInOut (_pOutBinImg, _pInBinImg3d) |
Global rule description for algorithm :
ipsdk::imaproc::matchSizeAndType (_pInBinImg3d,_pOutBinImg)
| IPSDKIPLBASICMORPHOLOGY_API image::ImagePtr ipsdk::imaproc::morpho::skeleton3dImg | ( | const image::ImageConstPtr & | pInBinImg3d | ) |
wrapper function for computes the 2d skeleton image from a binary image
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
| IPSDKIPLBASICMORPHOLOGY_API image::ImagePtr ipsdk::imaproc::morpho::skeleton3dImg | ( | const image::ImageConstPtr & | pInBinImg3d, |
| const attr::eSkeletonAlgoType & | skeletonAlgoType | ||
| ) |
wrapper function for computes the 2d skeleton image from a binary image
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
| IPSDKIPLBASICMORPHOLOGY_API void ipsdk::imaproc::morpho::skeleton3dImg | ( | const image::ImageConstPtr & | pInBinImg3d, |
| const image::ImagePtr & | pOutBinImg | ||
| ) |
wrapper function for computes the 2d skeleton image from a binary image
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
| IPSDKIPLBASICMORPHOLOGY_API void ipsdk::imaproc::morpho::skeleton3dImg | ( | const image::ImageConstPtr & | pInBinImg3d, |
| const attr::eSkeletonAlgoType & | skeletonAlgoType, | ||
| const image::ImagePtr & | pOutBinImg | ||
| ) |
wrapper function for computes the 2d skeleton image from a binary image
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
1.8.14