IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit

Shape 2d filtering algorithm. More...

IPSDKIPLSHAPEANALYSIS_API ipsdk::image::ImagePtr ipsdk::imaproc::shape::analysis::shapeFiltering2dImg (const ipsdk::image::ImageConstPtr &pInBinLabImg, const std::string &inFilterFormula)
 wrapper function for Shape 2d filtering algorithm More...
 
IPSDKIPLSHAPEANALYSIS_API ipsdk::image::ImagePtr ipsdk::imaproc::shape::analysis::shapeFiltering2dImg (const ipsdk::image::ImageConstPtr &pInBinLabImg, const ipsdk::image::ImageConstPtr &pInGreyMsrImg, const std::string &inFilterFormula)
 wrapper function for Shape 2d filtering algorithm More...
 
IPSDKIPLSHAPEANALYSIS_API ipsdk::image::ImagePtr ipsdk::imaproc::shape::analysis::shapeFiltering2dImg (const ipsdk::image::ImageConstPtr &pInBinLabImg, const std::string &inFilterFormula, const ipsdk::shape::analysis::MeasureInfoSetConstPtr &pInOptMeasureInfoSet2d)
 wrapper function for Shape 2d filtering algorithm More...
 
IPSDKIPLSHAPEANALYSIS_API ipsdk::image::ImagePtr ipsdk::imaproc::shape::analysis::shapeFiltering2dImg (const ipsdk::image::ImageConstPtr &pInBinLabImg, const ipsdk::image::ImageConstPtr &pInGreyMsrImg, const std::string &inFilterFormula, const ipsdk::shape::analysis::MeasureInfoSetConstPtr &pInOptMeasureInfoSet2d)
 wrapper function for Shape 2d filtering algorithm More...
 
IPSDKIPLSHAPEANALYSIS_API void ipsdk::imaproc::shape::analysis::shapeFiltering2dImg (const ipsdk::image::ImageConstPtr &pInBinLabImg, const std::string &inFilterFormula, const ipsdk::image::ImagePtr &pOutImg)
 wrapper function for Shape 2d filtering algorithm More...
 
IPSDKIPLSHAPEANALYSIS_API void ipsdk::imaproc::shape::analysis::shapeFiltering2dImg (const ipsdk::image::ImageConstPtr &pInBinLabImg, const ipsdk::image::ImageConstPtr &pInGreyMsrImg, const std::string &inFilterFormula, const ipsdk::image::ImagePtr &pOutImg)
 wrapper function for Shape 2d filtering algorithm More...
 
IPSDKIPLSHAPEANALYSIS_API void ipsdk::imaproc::shape::analysis::shapeFiltering2dImg (const ipsdk::image::ImageConstPtr &pInBinLabImg, const std::string &inFilterFormula, const ipsdk::shape::analysis::MeasureInfoSetConstPtr &pInOptMeasureInfoSet2d, const ipsdk::imaproc::attr::ContourExtractionSettingsConstPtr &pInOptContourExtractionSettings, const ipsdk::imaproc::attr::eLabelReindexingPolicy &inOptLabelReindexingPolicy, const ipsdk::image::ImagePtr &pOutImg)
 wrapper function for Shape 2d filtering algorithm More...
 
IPSDKIPLSHAPEANALYSIS_API void ipsdk::imaproc::shape::analysis::shapeFiltering2dImg (const ipsdk::image::ImageConstPtr &pInBinLabImg, const ipsdk::image::ImageConstPtr &pInGreyMsrImg, const std::string &inFilterFormula, const ipsdk::shape::analysis::MeasureInfoSetConstPtr &pInOptMeasureInfoSet2d, const ipsdk::imaproc::attr::ContourExtractionSettingsConstPtr &pInOptContourExtractionSettings, const ipsdk::imaproc::attr::eLabelReindexingPolicy &inOptLabelReindexingPolicy, const ipsdk::image::ImagePtr &pOutImg)
 wrapper function for Shape 2d filtering algorithm More...
 

Detailed Description

Shape 2d filtering algorithm.

This algorithm allows to filter an input binary or label image with respect to a shape analysis measure formula.

OutImg output image type is given by InBinLabImg input image type which can be a binary or a label image.

This is a packaged algorithm which can be decomposed into the following steps :

Additional measures definition can be provided using InOptMeasureInfoSet2d attribute. This allows to create user custom parametred measures (such as histogram quantile which depends on a target quantile value).

Here is an example of shape 2d filtering operation where all small shapes are removed (used formula : $Area2dMsr > 1000$)

shapeFiltering2dImg1.png

In this case input binary image (on the left) is filtered using a geometric criterion. Intermediate label (connected components) image and measurement results are displayed (on center) before final binary image result (on the right).

Here is an example of shape 2d filtering operation using an intensity criterion (used formula : $MeanMsr{green} > 100$).

shapeFiltering2dImg2.png

In this case input binary image (on the left) is filtered using a grey image (on the left) as analysis and measurement support. Intermediate label (connected components) image and measurement results are displayed (on center) before final binary image result (on the right).

Attributes description

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InBinLabImg [Input] binary or label image for processing operation X
ipsdk::imaproc::attr::InGreyMsrImg [Input] grey image used for intensity measurements X
ipsdk::imaproc::attr::InFilterFormula [Input] Logic measure formula used for shape analysis filtering stage X
ipsdk::imaproc::attr::InOptMeasureInfoSet2d [Input Optional] shape analysis 2d measure information set X
ipsdk::imaproc::attr::InOptContourExtractionSettings [Input Optional] Settings used for contours extraction X
ipsdk::imaproc::attr::InOptLabelReindexingPolicy [Input Optional] used label reindexing policy X
ipsdk::imaproc::attr::OutImg [Output] image for processing operation duplicateInOut (_pOutImg, _pInBinLabImg)

Global Rule description

Global rule description for algorithm :
(ipsdk::imaproc::matchSize (eMatchImageSizeType::eMIST_XYZT,_pInBinLabImg,_pInGreyMsrImg)) && 
(ipsdk::imaproc::matchSizeAndType (_pInBinLabImg,_pOutImg))

Example of Python code :

Example imports

import PyIPSDK
import PyIPSDK.IPSDKIPLShapeAnalysis as shapeanalysis

Code Example

# opening binary input image
inBinImg = PyIPSDK.loadTiffImageFile(inputBinImgPath)
# process of shape filtering in simple case
outImg1 = shapeanalysis.shapeFiltering2dImg(inBinImg, "Area2dMsr > 1000")
# opening grey level input image
inGreyImg = PyIPSDK.loadTiffImageFile(inputGreyImgPath)
# process of shape filtering with custom measure parameters
measureInfoSet = PyIPSDK.createMeasureInfoSet2d()
PyIPSDK.createMeasureInfo(measureInfoSet, "MyQuantileMsr", "HistogramQuantileMsr", shapeanalysis.createHistogramQuantileMsrParamsBinWidth(1.0, 75.0))
outImg2 = shapeanalysis.shapeFiltering2dImg(inBinImg, inGreyImg, "MyQuantileMsr > 170", measureInfoSet)

Example of C++ code :

Example informations

Associated library

IPSDKIPLShapeAnalysis

Header file

Code Example

// opening binary input image
ImagePtr pInBinImg2d = loadTiffImageFile(inputBinImgPath);
// process of shape filtering in simple case
const std::string formulaStr1 = "Area2dMsr > 1000";
ImagePtr pOutImg1 = shapeFiltering2dImg(pInBinImg2d, formulaStr1);
// opening grey level input image
ImagePtr pInGreyImg2d = loadTiffImageFile(inputGreyImgPath);
// process of shape filtering with custom measure parameters
MeasureInfoSetPtr pMeasureInfoSet = MeasureInfoSet::create2dInstance();
createMeasureInfo(pMeasureInfoSet, "MyQuantileMsr", "HistogramQuantileMsr", createHistogramQuantileMsrParamsBinWidth(1.0, 75.0));
const std::string formulaStr2 = "MyQuantileMsr > 170";
ImagePtr pOutImg2 = shapeFiltering2dImg(pInBinImg2d, pInGreyImg2d, formulaStr2, pMeasureInfoSet);
See also
ShapeFiltering2dImgLvl1
ShapeFiltering2dImgLvl2

Function Documentation

◆ shapeFiltering2dImg() [1/8]

IPSDKIPLSHAPEANALYSIS_API ipsdk::image::ImagePtr ipsdk::imaproc::shape::analysis::shapeFiltering2dImg ( const ipsdk::image::ImageConstPtr pInBinLabImg,
const std::string &  inFilterFormula 
)

wrapper function for Shape 2d filtering algorithm

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ shapeFiltering2dImg() [2/8]

IPSDKIPLSHAPEANALYSIS_API ipsdk::image::ImagePtr ipsdk::imaproc::shape::analysis::shapeFiltering2dImg ( const ipsdk::image::ImageConstPtr pInBinLabImg,
const ipsdk::image::ImageConstPtr pInGreyMsrImg,
const std::string &  inFilterFormula 
)

wrapper function for Shape 2d filtering algorithm

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ shapeFiltering2dImg() [3/8]

IPSDKIPLSHAPEANALYSIS_API ipsdk::image::ImagePtr ipsdk::imaproc::shape::analysis::shapeFiltering2dImg ( const ipsdk::image::ImageConstPtr pInBinLabImg,
const std::string &  inFilterFormula,
const ipsdk::shape::analysis::MeasureInfoSetConstPtr pInOptMeasureInfoSet2d 
)

wrapper function for Shape 2d filtering algorithm

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ shapeFiltering2dImg() [4/8]

IPSDKIPLSHAPEANALYSIS_API ipsdk::image::ImagePtr ipsdk::imaproc::shape::analysis::shapeFiltering2dImg ( const ipsdk::image::ImageConstPtr pInBinLabImg,
const ipsdk::image::ImageConstPtr pInGreyMsrImg,
const std::string &  inFilterFormula,
const ipsdk::shape::analysis::MeasureInfoSetConstPtr pInOptMeasureInfoSet2d 
)

wrapper function for Shape 2d filtering algorithm

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ shapeFiltering2dImg() [5/8]

IPSDKIPLSHAPEANALYSIS_API void ipsdk::imaproc::shape::analysis::shapeFiltering2dImg ( const ipsdk::image::ImageConstPtr pInBinLabImg,
const std::string &  inFilterFormula,
const ipsdk::image::ImagePtr pOutImg 
)

wrapper function for Shape 2d filtering algorithm

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ shapeFiltering2dImg() [6/8]

IPSDKIPLSHAPEANALYSIS_API void ipsdk::imaproc::shape::analysis::shapeFiltering2dImg ( const ipsdk::image::ImageConstPtr pInBinLabImg,
const ipsdk::image::ImageConstPtr pInGreyMsrImg,
const std::string &  inFilterFormula,
const ipsdk::image::ImagePtr pOutImg 
)

wrapper function for Shape 2d filtering algorithm

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ shapeFiltering2dImg() [7/8]

IPSDKIPLSHAPEANALYSIS_API void ipsdk::imaproc::shape::analysis::shapeFiltering2dImg ( const ipsdk::image::ImageConstPtr pInBinLabImg,
const std::string &  inFilterFormula,
const ipsdk::shape::analysis::MeasureInfoSetConstPtr pInOptMeasureInfoSet2d,
const ipsdk::imaproc::attr::ContourExtractionSettingsConstPtr pInOptContourExtractionSettings,
const ipsdk::imaproc::attr::eLabelReindexingPolicy inOptLabelReindexingPolicy,
const ipsdk::image::ImagePtr pOutImg 
)

wrapper function for Shape 2d filtering algorithm

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ shapeFiltering2dImg() [8/8]

IPSDKIPLSHAPEANALYSIS_API void ipsdk::imaproc::shape::analysis::shapeFiltering2dImg ( const ipsdk::image::ImageConstPtr pInBinLabImg,
const ipsdk::image::ImageConstPtr pInGreyMsrImg,
const std::string &  inFilterFormula,
const ipsdk::shape::analysis::MeasureInfoSetConstPtr pInOptMeasureInfoSet2d,
const ipsdk::imaproc::attr::ContourExtractionSettingsConstPtr pInOptContourExtractionSettings,
const ipsdk::imaproc::attr::eLabelReindexingPolicy inOptLabelReindexingPolicy,
const ipsdk::image::ImagePtr pOutImg 
)

wrapper function for Shape 2d filtering algorithm

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure