IPSDK 0.2
IPSDK : Image Processing Software Development Kit
Watershed Binary Separation 3dSee full documentation
imagewatershedBinarySeparation3dImg (inBinImg3d,inDilateFactor,inWatershedSeparationMode)
imagewatershedBinarySeparation3dImg (inBinImg3d,inDilateFactor,inWatershedSeparationMode,inOptWatershedProcMode)

Detailed Description

algorithm, based on watershed, allowing to separate binary 3d shapes

This algorithm, based on distance map and watershed algorithms, allows to separate shapes of an input binary 3d image.

Given an input binary image InBinImg3d, algorithm process following steps :

Global output of a algorithm can be customized using parameter InWatershedSeparationMode which can take following values :

Futher illustrations for this algorithm can be found looking its 2d version : Watershed Binary Separation 2d.

Example of Python code :

Example imports

import PyIPSDK
import PyIPSDK.IPSDKIPLAdvancedMorphology as advmorpho
import PyIPSDK.IPSDKIPLBinarization as bin

Code Example

# opening of input images
inGreyImg3d = PyIPSDK.loadTiffImageFile(inputGreyImgPath,
PyIPSDK.eTiffDirectoryMode.eTDM_Volume)
# threshold of input image
inBinImg3d = bin.thresholdImg(inGreyImg3d, 75, 255)
# process watershed binary separation (split mode)
outImg = advmorpho.watershedBinarySeparation3dImg(inBinImg3d, 5,
PyIPSDK.eWatershedSeparationMode.eWSM_Split,
PyIPSDK.eWatershedProcessingMode.eWPM_Repeatable)

Example of C++ code :

Example informations

Header file

#include <IPSDKIPL/IPSDKIPLAdvancedMorphology/Processor/WatershedBinarySeparation3dImg/WatershedBinarySeparation3dImg.h>

Code Example

// opening of input grey image
ImagePtr pInGreyImg3d = loadTiffImageFile(inputGreyImgPath,
eTiffDirectoryMode::eTDM_Volume);
// threshold of input image
ImagePtr pBinImg3d = thresholdImg(pInGreyImg3d, 75, 255);
// process binary separation (split mode)
ImagePtr pOutImg = watershedBinarySeparation3dImg(pBinImg3d, 5, eWatershedSeparationMode::eWSM_Split);