IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit

algorithm fitting intensities of a 2d image with a 3d paraboloid More...

IPSDKIPLGLOBALMEASURE_API ipsdk::imaproc::attr::ParaboloidParams3dPtr ipsdk::imaproc::glbmsr::paraboloidImgFit2d (const ipsdk::image::ImageConstPtr &pInImg)
 wrapper function for algorithm fitting intensities of a 2d image with a 3d paraboloid More...
 
IPSDKIPLGLOBALMEASURE_API ipsdk::imaproc::attr::ParaboloidParams3dPtr ipsdk::imaproc::glbmsr::paraboloidImgFit2d (const ipsdk::image::ImageConstPtr &pInImg, const ipsdk::image::ImageConstPtr &pMaskImg)
 wrapper function for algorithm fitting intensities of a 2d image with a 3d paraboloid More...
 
IPSDKIPLGLOBALMEASURE_API ipsdk::imaproc::attr::PlanIndexedParaboloidParams3dPtr ipsdk::imaproc::glbmsr::multiSlice_paraboloidImgFit2d (const ipsdk::image::ImageConstPtr &pInImg)
 wrapper function for algorithm fitting intensities of a 2d image with a 3d paraboloid More...
 
IPSDKIPLGLOBALMEASURE_API ipsdk::imaproc::attr::PlanIndexedParaboloidParams3dPtr ipsdk::imaproc::glbmsr::multiSlice_paraboloidImgFit2d (const ipsdk::image::ImageConstPtr &pInImg, const ipsdk::image::ImageConstPtr &pMaskImg)
 wrapper function for algorithm fitting intensities of a 2d image with a 3d paraboloid More...
 

Detailed Description

algorithm fitting intensities of a 2d image with a 3d paraboloid

Considering a 2d image as a 3d surface, with the pixels intensities as the heights, this algorithm computes the paraboloid that best-fits this 3d surface. The paraboloid is described by the ipsdk::imaproc::attr::ParaboloidParams3d structure, that contains the parameters of its equation:

\[ X2Coef*x^2 + Y2Coef*y^2 + XYCoef*x*y + XCoef*x + YCoef*y + Constant = 0 \]

Here is an example of best-fitting paraboloid calculation on a 8-bits grey level image:

paraboloidImgFit2d.png

This algorithm can be used to artificially extract a white image from an input one, in order to apply next a shading correction to the input image. See Shading correction (white image represented as a paraboloid)

Warning
The method retained to compute the best-fitting paraboloid is fast but not robust. The returned paraboloid may be biased if the input 2d image is noisy.

Attributes description

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InImg [Input] image for processing operation X
ipsdk::imaproc::attr::InOptMaskImg [Input Optional] Binary image for masking operation X
ipsdk::imaproc::attr::OutPIParaboloidParams3d [Output] Plan indexed collection of 3d parameters of paraboloids ipsdk::imaproc::fromImage (_pOutPIParaboloidParams3d, _pInImg)

Global Rule description

Global rule description for algorithm :
ipsdk::imaproc::matchImagePlans (_pOutPIParaboloidParams3d,_pInImg,eImagePlansMatchPolicy::eIPMP_ZCT) && 
(ipsdk::processor::ifIsSet (
  _pInOptMaskImg, (
   ipsdk::imaproc::match2dMask (_pInImg,_pInOptMaskImg))))

Example of Python code :

Example imports

import PyIPSDK
import PyIPSDK.IPSDKIPLGlobalMeasure as glbmsr
import PyIPSDK.IPSDKIPLFiltering as filter

Code Example

# open input image
inImg = PyIPSDK.loadTiffImageFile(inputImgPath)
# paraboloid fitting
paraboloid = glbmsr.paraboloidImgFit2d(inImg)

Example of C++ code :

Example informations

Associated library

IPSDKIPLGlobalMeasure

Header file

Code Example

ImagePtr pInImg = loadTiffImageFile(tiffImageFilePath);
See also
ParaboloidImgFit2dLvl1
ParaboloidImgFit2dLvl2
ParaboloidImgFit2dLvl3

Function Documentation

◆ paraboloidImgFit2d() [1/2]

IPSDKIPLGLOBALMEASURE_API ipsdk::imaproc::attr::ParaboloidParams3dPtr ipsdk::imaproc::glbmsr::paraboloidImgFit2d ( const ipsdk::image::ImageConstPtr pInImg)

wrapper function for algorithm fitting intensities of a 2d image with a 3d paraboloid

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ paraboloidImgFit2d() [2/2]

IPSDKIPLGLOBALMEASURE_API ipsdk::imaproc::attr::ParaboloidParams3dPtr ipsdk::imaproc::glbmsr::paraboloidImgFit2d ( const ipsdk::image::ImageConstPtr pInImg,
const ipsdk::image::ImageConstPtr pMaskImg 
)

wrapper function for algorithm fitting intensities of a 2d image with a 3d paraboloid

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ multiSlice_paraboloidImgFit2d() [1/2]

IPSDKIPLGLOBALMEASURE_API ipsdk::imaproc::attr::PlanIndexedParaboloidParams3dPtr ipsdk::imaproc::glbmsr::multiSlice_paraboloidImgFit2d ( const ipsdk::image::ImageConstPtr pInImg)

wrapper function for algorithm fitting intensities of a 2d image with a 3d paraboloid

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ multiSlice_paraboloidImgFit2d() [2/2]

IPSDKIPLGLOBALMEASURE_API ipsdk::imaproc::attr::PlanIndexedParaboloidParams3dPtr ipsdk::imaproc::glbmsr::multiSlice_paraboloidImgFit2d ( const ipsdk::image::ImageConstPtr pInImg,
const ipsdk::image::ImageConstPtr pMaskImg 
)

wrapper function for algorithm fitting intensities of a 2d image with a 3d paraboloid

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure