MDSTk Libraries
1.1.0
Medical Data Segmentation Toolkit
|
Canny edge detector. More...
#include <mdsCanny.h>
Public Types | |
enum | { TEMPLATE_PARAMETER_IS_NOT_IMAGE = I::CLASS_IMAGE } |
Check that I is an image. More... | |
typedef CImageEdgeDetector< I > | base |
Image edge detector base. | |
typedef base::tImage | tImage |
Image type. | |
typedef base::tPixel | tPixel |
Image pixel type. | |
Public Member Functions | |
CCanny (double dSigma, double dT1, double dT2) | |
Default constructor. | |
double | getSigma () const |
Returns smoothing filter standard deviation. | |
void | getThresholds (double &dT1, double &dT2) |
Returns thresholds of the non-maximal suppression algorithm. | |
bool | operator() (const tImage &SrcImage, tImage &DstImage) |
Edge detection in a given image. | |
void | setSigma (double dSigma) |
Sets the smoothing filter standard deviation. | |
void | setThresholds (double dT1, double dT2) |
Sets thresholds of the non-maximal suppression algorithm. | |
~CCanny () | |
Destructor. | |
Protected Member Functions | |
bool | checkNeighbours (tImage &Image, tSize x, tSize y, tPixel T) |
Returns true if any neighbouring pixel has greater value than a given threshold. | |
void | hysteresis (tImage &MagnitudeImage, tImage &Image, tPixel T1, tPixel T2) |
Hystersis controlled by two given thresholds. | |
void | nonMaxSuppression (const tImage &GradImageX, const tImage &GradImageY, tImage &MagnitudeImage, tImage &Image) |
Non-maximal suppression. | |
Protected Attributes | |
double | m_dT1 |
Thresholds used by hysteresis algorithm. | |
double | m_dT2 |
CGaussFilter< tImage > | m_GaussFilter |
Gaussian smoothing filter. | |
CSobelX< tImage, CShiftZero2Gray > | m_SobelX |
Sobel operators. | |
CSobelY< tImage, CShiftZero2Gray > | m_SobelY |
Canny edge detector.
typedef CImageEdgeDetector<I> mds::img::CCanny< I >::base |
Image edge detector base.
typedef base::tImage mds::img::CCanny< I >::tImage |
Image type.
Reimplemented from mds::img::CImageEdgeDetector< I >.
typedef base::tPixel mds::img::CCanny< I >::tPixel |
Image pixel type.
Reimplemented from mds::img::CImageEdgeDetector< I >.
anonymous enum [inherited] |
mds::img::CCanny< I >::CCanny | ( | double | dSigma, |
double | dT1, | ||
double | dT2 | ||
) |
Default constructor.
mds::img::CCanny< I >::~CCanny | ( | ) |
Destructor.
bool CCanny::checkNeighbours | ( | tImage & | Image, |
tSize | x, | ||
tSize | y, | ||
tPixel | T | ||
) | [protected] |
Returns true if any neighbouring pixel has greater value than a given threshold.
double mds::img::CCanny< I >::getSigma | ( | ) | const |
Returns smoothing filter standard deviation.
void CCanny::getThresholds | ( | double & | dT1, |
double & | dT2 | ||
) |
Returns thresholds of the non-maximal suppression algorithm.
void CCanny::hysteresis | ( | tImage & | MagnitudeImage, |
tImage & | Image, | ||
tPixel | T1, | ||
tPixel | T2 | ||
) | [protected] |
Hystersis controlled by two given thresholds.
void CCanny::nonMaxSuppression | ( | const tImage & | GradImageX, |
const tImage & | GradImageY, | ||
tImage & | MagnitudeImage, | ||
tImage & | Image | ||
) | [protected] |
Non-maximal suppression.
Edge detection in a given image.
Implements mds::img::CImageEdgeDetector< I >.
void mds::img::CCanny< I >::setSigma | ( | double | dSigma | ) |
Sets the smoothing filter standard deviation.
void CCanny::setThresholds | ( | double | dT1, |
double | dT2 | ||
) |
Sets thresholds of the non-maximal suppression algorithm.
double mds::img::CCanny< I >::m_dT1 [protected] |
Thresholds used by hysteresis algorithm.
double mds::img::CCanny< I >::m_dT2 [protected] |
CGaussFilter<tImage> mds::img::CCanny< I >::m_GaussFilter [protected] |
Gaussian smoothing filter.
CSobelX<tImage, CShiftZero2Gray> mds::img::CCanny< I >::m_SobelX [protected] |
Sobel operators.
CSobelY<tImage, CShiftZero2Gray> mds::img::CCanny< I >::m_SobelY [protected] |