![]() |
IPSDK
4_1_0_2
IPSDK : Image Processing Software Development Kit
|
Differential Interference Contrast (DIC) line integration along a given orientation on 2d images. More...
| IPSDKIPLFILTERING_API image::ImagePtr | ipsdk::imaproc::filter::dicIntegration2dImg (const image::ImageConstPtr &pInImg, const ipReal32 inStdDev, const ipReal32 theta) |
| wrapper function for Differential Interference Contrast (DIC) line integration along a given orientation on 2d images More... | |
| IPSDKIPLFILTERING_API void | ipsdk::imaproc::filter::dicIntegration2dImg (const image::ImageConstPtr &pInImg, const ipReal32 inStdDev, const ipReal32 theta, const image::ImagePtr &pOutImg) |
| wrapper function for Differential Interference Contrast (DIC) line integration along a given orientation on 2d images More... | |
Differential Interference Contrast (DIC) line integration along a given orientation on 2d images.
This algorithm enhances objects from Differential Interference Contrast (DIC) like images. The idea is to reconstruct the objects from their gradient by accumulating the intensities along the gradient direction.
The figure below illustrates this principle:
The process is deomposed in to the following steps:
The highpass filters consist in the subtraction between the image
and its blurred version
:
where
is the result of the high-pass filter at position
and
is the image
blurred by a 1D Gaussian smoothing with a standard deviation InStdDev and an orientation of InTheta.
The following figrue shows a simple example of the kind of result expected the DIC integration filtering:
If the integration direction matches the opposite of the gradient orientation, objects will appear dark instead of bright:
Here is a example of result on a real image:
In practice, the blur may alter the result because the gradient do not cancel itself along the integration line. It can be caused by a difference between the integration direction and the actual gradient direction. It can generates linear artefact in the integration direction.
This effect can be removed by oriented morphological operation or an oriented VSNR.
Finally, keep in mind that the result of the DIC filter does not allow to correctly segment the objects, because their shape is degraded, but it allows a good identification.
Attribute description for algorithm :
| Name | ToolTip | Default Initializer |
|---|---|---|
| ipsdk::imaproc::attr::InImg | [Input] image for processing operation | X |
| ipsdk::imaproc::attr::InStdDev | [Input] standard deviation used for operation along all axis | X |
| ipsdk::imaproc::attr::InTheta | [Input] 2d orientation for processing operation | X |
| ipsdk::imaproc::attr::OutWk1RealImg | [Output] Temporary working image for algorithm | ipsdk::imaproc::duplicateInOut (_pOutWk1RealImg, _pInImg, ipsdk::image::eImageBufferType::eIBT_Real32) |
| ipsdk::imaproc::attr::OutRealImg | [Output] image for processing operation (data contained in image buffer are reals) | ipsdk::imaproc::duplicateInOut (_pOutRealImg, _pInImg, ipsdk::image::eImageBufferType::eIBT_Real32) |
Global rule description for algorithm :
ipsdk::imaproc::matchSize (_pInImg,_pOutWk1RealImg) &&
ipsdk::imaproc::matchSize (_pInImg,_pOutRealImg)
| IPSDKIPLFILTERING_API image::ImagePtr ipsdk::imaproc::filter::dicIntegration2dImg | ( | const image::ImageConstPtr & | pInImg, |
| const ipReal32 | inStdDev, | ||
| const ipReal32 | theta | ||
| ) |
wrapper function for Differential Interference Contrast (DIC) line integration along a given orientation on 2d images
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
| IPSDKIPLFILTERING_API void ipsdk::imaproc::filter::dicIntegration2dImg | ( | const image::ImageConstPtr & | pInImg, |
| const ipReal32 | inStdDev, | ||
| const ipReal32 | theta, | ||
| const image::ImagePtr & | pOutImg | ||
| ) |
wrapper function for Differential Interference Contrast (DIC) line integration along a given orientation on 2d images
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
1.8.14