eLynx SDK v3.0.1
C++ image processing API reference

eLynx::Image::ImageMorphologicalProcessingImpl< Pixel > Class Template Reference

#include <ImageMorphologicalProcessingImpl.h>

Inheritance diagram for eLynx::Image::ImageMorphologicalProcessingImpl< Pixel >:

eLynx::Image::IImageMorphologicalProcessing

List of all members.


Public Types

typedef Pixel Pixel_t

Public Member Functions

virtual bool Apply (AbstractImage &ioImage, EMorphologicalFilterType iType, const ImageLub &iKernelMask, bool ibLuminance, uint32 iIteration, uint32 iChannelMask, ProgressNotifier &iNotifier) const
virtual bool Apply (AbstractImage &ioImage, EMorphologicalFilterType iType, uint32 iWidth, bool ibCircular, bool ibLuminance, uint32 iIteration, uint32 iChannelMask, ProgressNotifier &iNotifier) const
virtual bool ApplyMedian (AbstractImage &ioImage, uint32 iWidth, uint32 iHeight, uint32 iIteration, uint32 iChannelMask, ProgressNotifier &iNotifier) const
virtual bool ApplyAdaptiveMedian (AbstractImage &ioImage, uint32 iWMax, uint32 iIteration, uint32 iChannelMask, ProgressNotifier &iNotifier) const

Static Public Member Functions

Specialized static services
static bool Apply (ImageImpl< Pixel > &ioImage, EMorphologicalFilterType iType, const ImageLub &iKernelMask, bool ibLuminance=true, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool ApplyByChannel (ImageImpl< Pixel > &ioImage, EMorphologicalFilterType iType, const ImageLub &iKernelMask, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool ApplyByLuminance (ImageImpl< Pixel > &ioImage, EMorphologicalFilterType iType, const ImageLub &iKernelMask, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool ApplyMedian3x3 (ImageImpl< Pixel > &ioImage, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool ApplyMedian3x3 (ImageImpl< Pixel > &ioImage, const ImageLub &iImageMask, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool ApplyMedianWxH (ImageImpl< Pixel > &ioImage, uint32 iWidth, uint32 iHeight, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool ApplyAdaptiveMedian (ImageImpl< Pixel > &ioImage, uint32 iWidthMax, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)

Detailed Description

template<class Pixel>
class eLynx::Image::ImageMorphologicalProcessingImpl< Pixel >

Implementation of morphological image processing interface.

IImageMorphologicalProcessing.png

Definition at line 31 of file ImageMorphologicalProcessingImpl.h.


Member Typedef Documentation

template<class Pixel >
typedef Pixel eLynx::Image::ImageMorphologicalProcessingImpl< Pixel >::Pixel_t

Definition at line 34 of file ImageMorphologicalProcessingImpl.h.


Member Function Documentation

template<class Pixel >
virtual bool eLynx::Image::ImageMorphologicalProcessingImpl< Pixel >::Apply ( AbstractImage ioImage,
EMorphologicalFilterType  iType,
const ImageLub iKernelMask,
bool  ibLuminance,
uint32  iIteration,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Morphological filter with mask as kernel.

Parameters:
ioImage image to be filtered.
iType Morphological filter type.
iKernelMask grey mask, use values 0 to exclude pixel, >0 to use pixel.
ibLuminance true to sort pixels using by luminance, false to process each channel as grey.
iIteration number of iterations.
iChannelMask selected channels to be processed. Default is all.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImageMorphologicalProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImageMorphologicalProcessingImpl< Pixel >::Apply ( AbstractImage ioImage,
EMorphologicalFilterType  iType,
uint32  iWidth,
bool  ibCircular,
bool  ibLuminance,
uint32  iIteration,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Morphological filter with squared or circular kernel.

Parameters:
ioImage image to be filtered.
iType Morphological filter type.
iWidth width of squared local area.
ibCircular false to use square kernel, true to use circular.
ibLuminance true to sort pixels using by luminance, false to process each channel as grey.
iIteration number of iterations.
iChannelMask selected channels to be processed. Default is all.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImageMorphologicalProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImageMorphologicalProcessingImpl< Pixel >::ApplyMedian ( AbstractImage ioImage,
uint32  iWidth,
uint32  iHeight,
uint32  iIteration,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Median filter on WxH window

Parameters:
ioImage image to be filtered.
iWidth width of local area.
iHeight height of local area.
iIteration number of iterations.
iChannelMask selected channels to be processed. Default is all.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImageMorphologicalProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImageMorphologicalProcessingImpl< Pixel >::ApplyAdaptiveMedian ( AbstractImage ioImage,
uint32  iWMax,
uint32  iIteration,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Adaptive Median filter on square window. Based on Salt-and-Pepper Noise Removal by Median-type Noise Detectors and Detail-preserving Regularization.

Parameters:
ioImage image to be filtered.
iWMax max size of the median window.
iIteration number of iterations.
iChannelMask selected channels to be processed. Default is all.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImageMorphologicalProcessing.

template<class Pixel >
static bool eLynx::Image::ImageMorphologicalProcessingImpl< Pixel >::Apply ( ImageImpl< Pixel > &  ioImage,
EMorphologicalFilterType  iType,
const ImageLub iKernelMask,
bool  ibLuminance = true,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]

template<class Pixel >
static bool eLynx::Image::ImageMorphologicalProcessingImpl< Pixel >::ApplyByChannel ( ImageImpl< Pixel > &  ioImage,
EMorphologicalFilterType  iType,
const ImageLub iKernelMask,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]

template<class Pixel >
static bool eLynx::Image::ImageMorphologicalProcessingImpl< Pixel >::ApplyByLuminance ( ImageImpl< Pixel > &  ioImage,
EMorphologicalFilterType  iType,
const ImageLub iKernelMask,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]

template<class Pixel >
static bool eLynx::Image::ImageMorphologicalProcessingImpl< Pixel >::ApplyMedian3x3 ( ImageImpl< Pixel > &  ioImage,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]

template<class Pixel >
static bool eLynx::Image::ImageMorphologicalProcessingImpl< Pixel >::ApplyMedian3x3 ( ImageImpl< Pixel > &  ioImage,
const ImageLub iImageMask,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]

template<class Pixel >
static bool eLynx::Image::ImageMorphologicalProcessingImpl< Pixel >::ApplyMedianWxH ( ImageImpl< Pixel > &  ioImage,
uint32  iWidth,
uint32  iHeight,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]

template<class Pixel >
static bool eLynx::Image::ImageMorphologicalProcessingImpl< Pixel >::ApplyAdaptiveMedian ( ImageImpl< Pixel > &  ioImage,
uint32  iWidthMax,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]


The documentation for this class was generated from the following file:

Generated on 14 Apr 2009 by doxygen 1.5.8