IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit

3d image deblur algorithm using Laplacian kernels based on the Richardson-Lucy algorithm More...

IPSDKIPLFILTERING_API image::ImagePtr ipsdk::imaproc::filter::richardsonLucyDeblur3dImg (const image::ImageConstPtr &pInImg3d, const ipUInt32 inNbIter, const ipReal32 inStdDev)
 wrapper function for 3d image deblur algorithm using Laplacian kernels based on the Richardson-Lucy algorithm More...
 
IPSDKIPLFILTERING_API image::ImagePtr ipsdk::imaproc::filter::richardsonLucyDeblur3dImg (const image::ImageConstPtr &pInImg3d, const ipUInt32 inNbIter, const ipReal32 inStdDevX, const ipReal32 inStdDevY, const ipReal32 inStdDevZ, const attr::GaussianCoverageConstPtr &pInOptSmoothingGaussianCoverage)
 wrapper function for 3d image deblur algorithm using Laplacian kernels based on the Richardson-Lucy algorithm More...
 
IPSDKIPLFILTERING_API void ipsdk::imaproc::filter::richardsonLucyDeblur3dImg (const image::ImageConstPtr &pInImg3d, const ipUInt32 inNbIter, const ipReal32 inStdDevX, const ipReal32 inStdDevY, const ipReal32 inStdDevZ, const attr::GaussianCoverageConstPtr &pInOptSmoothingGaussianCoverage, const image::ImagePtr &pOutImg)
 wrapper function for 3d image deblur algorithm using Laplacian kernels based on the Richardson-Lucy algorithm More...
 

Detailed Description

3d image deblur algorithm using Laplacian kernels based on the Richardson-Lucy algorithm

Three dimensional image deblur algorithm based on the Richardson-Lucy algorithm. This algorithm is based on the same principle than the Richardson-Lucy deblur 2d.

See Richardson-Lucy deblur 2d for an illustration of a deblurred 2d image.

Attributes description

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InImg3d [Input] 3d image for operation X
ipsdk::imaproc::attr::InNbIter [Input] Number of iterations for an iterative algorithm X
ipsdk::imaproc::attr::InStdDevX [Input] standard deviation used for operation along X axis X
ipsdk::imaproc::attr::InStdDevY [Input] standard deviation used for operation along Z axis X
ipsdk::imaproc::attr::InStdDevZ [Input] standard deviation used for operation along Z axis X
ipsdk::imaproc::attr::InOptSmoothingGaussianCoverage [Input Optional] Parameter allowing to specify a gaussian distribution coverage for processing X
ipsdk::imaproc::attr::OutImg [Output] image for processing operation ipsdk::imaproc::duplicateInOut (_pOutImg, _pInImg3d)
ipsdk::imaproc::attr::OutWk1RealImg [Output] Temporary working image for algorithm ipsdk::imaproc::duplicateInOut (_pOutWk1RealImg, _pInImg3d, ipsdk::image::eImageBufferType::eIBT_Real32)
ipsdk::imaproc::attr::OutOptWk1Img [Output Optional] Temporary working image for algorithm X

Global Rule description

Global rule description for algorithm :
ipsdk::imaproc::matchSize (_pInImg3d,_pOutWk1RealImg) && 
ipsdk::imaproc::matchSizeAndType (_pInImg3d,_pOutImg) && 
ipsdk::imaproc::noInSitu (_pInImg3d,_pOutWk1RealImg) && 
ipsdk::imaproc::noInSitu (_pOutImg,_pOutWk1RealImg) && 
ipsdk::processor::If (
 ipsdk::processor::isSet (_pOutOptWk1Img),
 ipsdk::imaproc::matchSizeAndType (_pInImg3d,_pOutOptWk1Img),
 ipsdk::processor::none ())

Example of Python code :

Example imports

import PyIPSDK
import PyIPSDK.IPSDKIPLFiltering as filter

Code Example

# opening of input images
inImg = PyIPSDK.loadTiffImageFile(inputImgPath)
# richardson and lucy deblur filter 3d computation
outImg = filter.richardsonLucyDeblur3dImg(inImg, 5, 1.0)

Example of C++ code :

Example informations

Associated library

IPSDKIPLFiltering

Header file

Code Example

// opening input image
ImagePtr pInImg = loadTiffImageFile(inputImgPath);
// compute laplacian based deblurring on input image
ImagePtr pOutImg = richardsonLucyDeblur3dImg(pInImg, 10, 1.0f);
See also
RichardsonLucyDeblur3dImgLvl1

Function Documentation

◆ richardsonLucyDeblur3dImg() [1/3]

IPSDKIPLFILTERING_API image::ImagePtr ipsdk::imaproc::filter::richardsonLucyDeblur3dImg ( const image::ImageConstPtr pInImg3d,
const ipUInt32  inNbIter,
const ipReal32  inStdDev 
)

wrapper function for 3d image deblur algorithm using Laplacian kernels based on the Richardson-Lucy algorithm

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ richardsonLucyDeblur3dImg() [2/3]

IPSDKIPLFILTERING_API image::ImagePtr ipsdk::imaproc::filter::richardsonLucyDeblur3dImg ( const image::ImageConstPtr pInImg3d,
const ipUInt32  inNbIter,
const ipReal32  inStdDevX,
const ipReal32  inStdDevY,
const ipReal32  inStdDevZ,
const attr::GaussianCoverageConstPtr pInOptSmoothingGaussianCoverage 
)

wrapper function for 3d image deblur algorithm using Laplacian kernels based on the Richardson-Lucy algorithm

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ richardsonLucyDeblur3dImg() [3/3]

IPSDKIPLFILTERING_API void ipsdk::imaproc::filter::richardsonLucyDeblur3dImg ( const image::ImageConstPtr pInImg3d,
const ipUInt32  inNbIter,
const ipReal32  inStdDevX,
const ipReal32  inStdDevY,
const ipReal32  inStdDevZ,
const attr::GaussianCoverageConstPtr pInOptSmoothingGaussianCoverage,
const image::ImagePtr pOutImg 
)

wrapper function for 3d image deblur algorithm using Laplacian kernels based on the Richardson-Lucy algorithm

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure