IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit

Binary reconstruction of an image 2d. More...

IPSDKIPLADVANCEDMORPHOLOGY_API image::ImagePtr ipsdk::imaproc::advmorpho::binaryReconstruction2dImg (const image::ImageConstPtr &pInBinImg, const image::ImageConstPtr &pInBinMarkImg)
 wrapper function for Binary reconstruction of an image 2d More...
 
IPSDKIPLADVANCEDMORPHOLOGY_API void ipsdk::imaproc::advmorpho::binaryReconstruction2dImg (const image::ImageConstPtr &pInBinImg, const image::ImageConstPtr &pInBinMarkImg, const ipsdk::eNeighborhood2dType &inOptNeighborhood2d, const ipsdk::imaproc::attr::eProcessingOptimizationPolicy &inOptOptimizationPolicy, const image::ImagePtr &pOutImg)
 wrapper function for Binary reconstruction of an image 2d More...
 

Detailed Description

Binary reconstruction of an image 2d.

This algorithm allows to reconstruct an input binary image InBinImg using a marker input image InBinMarkImg with respect to a given neighborhood 2d policy (see 2d neighborhood models).

The reconstruction of InBinImg from InBinMarkImg is the union of connected components of InBinImg which contain at least a pixel of InBinMarkImg.

It can also be seen as the dilation of InBinMarkImg into InBinImg until convergence.

Two versions of this algorithm are implemented which can be selected using attribute InOptOptimizationPolicy which associated to enumerate ipsdk::imaproc::attr::eProcessingOptimizationPolicy :

Here is an example of binary reconstruction of an image 2d :

binaryReconstruction2dImg.png

In this example input binary image data are represented in white while input binary marker image data are represented in red.

Note
See "Morphological Grayscale Reconstruction in Image Analysis: Applications and Efficient Algorithms, Luc Vicent, IEEE Transactions on Image Processing, 1993, Volume 2, 176-201" for more informations on this algorithm.

Attributes description

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InBinImg [Input] binary image for processing operation X
ipsdk::imaproc::attr::InBinMarkImg [Input] binary marker image for processing operation X
ipsdk::imaproc::attr::InOptNeighborhood2d [Input optional] neighborhood 2d type for operation X
ipsdk::imaproc::attr::InOptOptimizationPolicy [Input Optional] processing optimization policy for algorithm X
ipsdk::imaproc::attr::OutOptWk1BinImg [Output Optional] Temporary working image for algorithm X
ipsdk::imaproc::attr::OutOptWk1LabelImg [Output Optional] Temporary working image for algorithm X
ipsdk::imaproc::attr::OutImg [Output] image for processing operation ipsdk::imaproc::duplicateInOut (_pOutImg, _pInBinImg)

Global Rule description

Global rule description for algorithm :
((ipsdk::imaproc::matchSize (_pInBinImg,_pInBinMarkImg)) && 
 (ipsdk::imaproc::matchSizeAndType (_pInBinImg,_pOutImg)) && 
 (ipsdk::processor::ifIsSet (
   _pOutOptWk1BinImg, (
    ipsdk::imaproc::matchSize (_pInBinImg,_pOutOptWk1BinImg)))) && 
 (ipsdk::processor::ifIsSet (
   _pOutOptWk1LabelImg, (
    ipsdk::imaproc::matchSize (_pInBinImg,_pOutOptWk1LabelImg)))))

Example of Python code :

Example imports

import PyIPSDK
import PyIPSDK.IPSDKIPLAdvancedMorphology as advmorpho

Code Example

# opening of input images
inImg = PyIPSDK.loadTiffImageFile(inputImgPath)
inMarkImg = PyIPSDK.loadTiffImageFile(inputMarkImgPath)
# binary reconstruction 2d computation
outImg = advmorpho.binaryReconstruction2dImg(inImg, inMarkImg)

Example of C++ code :

Example informations

Associated library

IPSDKIPLAdvancedMorphology

Header file

Code Example

// opening input image
ImagePtr pInBinImg = loadTiffImageFile(inputImgPath);
// opening input image
ImagePtr pInBinMarkImg = loadTiffImageFile(inputMarkImgPath);
// compute binary reconstruction of input image using input mark image
ImagePtr pOutImg = binaryReconstruction2dImg(pInBinImg, pInBinMarkImg);
See also
BinaryReconstruction2dImgLvl1

Function Documentation

◆ binaryReconstruction2dImg() [1/2]

IPSDKIPLADVANCEDMORPHOLOGY_API image::ImagePtr ipsdk::imaproc::advmorpho::binaryReconstruction2dImg ( const image::ImageConstPtr pInBinImg,
const image::ImageConstPtr pInBinMarkImg 
)

wrapper function for Binary reconstruction of an image 2d

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ binaryReconstruction2dImg() [2/2]

IPSDKIPLADVANCEDMORPHOLOGY_API void ipsdk::imaproc::advmorpho::binaryReconstruction2dImg ( const image::ImageConstPtr pInBinImg,
const image::ImageConstPtr pInBinMarkImg,
const ipsdk::eNeighborhood2dType inOptNeighborhood2d,
const ipsdk::imaproc::attr::eProcessingOptimizationPolicy inOptOptimizationPolicy,
const image::ImagePtr pOutImg 
)

wrapper function for Binary reconstruction of an image 2d

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure