IPSDK 4.1
IPSDK : Image Processing Software Development Kit
Union linear opening 3d
imageunionLinearOpening3dImg (inImg,radius)
imageunionLinearOpening3dImg (inImg,radius,nbAngles)
imageunionLinearOpening3dImg (inImg,radius,inOptBorderExtensionPolicy)
imageunionLinearOpening3dImg (inImg,radius,nbAngles,inOptBorderExtensionPolicy)

Detailed Description

Union of openings calculated for several linear structuring element orientations on 3d images.

The 3d union linear opening algorithm computes openings in several directions with linear structuring elements and combines them to keep the maximum pixel intensity. The structuring element orientations vary in order to describe a regular grid on a 3d sphere (see the IPSDKCore documentation, section IPSDK concepts > Notations and conventions). This algorithm is usefull to fill circular light holes inside dark objects while preserving thin light structures.

Just like Union linear opening 2d, the algorithm can handle holes to avoid contact with the image border. See the Opening 2d description for more details.

By default, the algorithm uses 6 different regularly distributed angles with the math::computeUniformlyDistOrientations3d(nbAngles) function.

See Union linear opening 2d for an illustration of the union linear closing in two dimensions.

Example of Python code :

Example imports

import PyIPSDK
import PyIPSDK.IPSDKIPLBasicMorphology as morpho

Code Example

# Structuring element radius
radius = 4
# Number of angles
nbAngles = 6
# opening 3d image computation
outImg = morpho.unionLinearOpening3dImg(inImg, radius, nbAngles)

Example of C++ code :

Example informations

Header file

#include <IPSDKIPL/IPSDKIPLBasicMorphology/Processor/UnionLinearOpening3dImg/UnionLinearOpening3dImg.h>

Code Example

// Input structuring element radius
const ipReal64 radius = 4.;
// Number of angles
const ipUInt32 nbAngles = 6;
// compute union linear opening on the input image
ImagePtr pOutImg = unionLinearOpening3dImg(pInImg, radius, nbAngles);