MDSTk Libraries
1.1.0
Medical Data Segmentation Toolkit
|
Modified Susan corner detector. More...
#include <mdsSusan.h>
Public Types | |
enum | { TEMPLATE_PARAMETER_IS_NOT_IMAGE = I::CLASS_IMAGE } |
Check that I is an image. More... | |
enum | { MAX_LUT = 255 } |
Maximal value stored in the internal lookup table. More... | |
enum | { LUT_SIZE = 2 * MAX_LUT + 1 } |
Size of the internal lookup table. More... | |
enum | { DIFF_THRESHOLD = 700 } |
Threshold used to suppress non-corner points. More... | |
typedef CImageCornerDetector< I > | base |
Image corner detector base. | |
typedef base::tImage | tImage |
Image type. | |
typedef base::tPixel | tPixel |
Image pixel type. | |
Public Member Functions | |
CSusanDetector (double dThreshold, double dWidth=20.0) | |
Constructor. | |
double | getThreshold () |
Returns detection threshold. | |
double | getWidth () |
Returns the width parameter. | |
bool | operator() (const tImage &SrcImage, tImage &DstImage) |
Corner detection in a given image. | |
void | setThreshold (double dThreshold) |
Sets the detection threshold. | |
void | setWidth (double dWidth) |
Sets the width parameter. | |
~CSusanDetector () | |
Destructor. | |
Protected Member Functions | |
bool | checkNeighbours (CFImage &Image, tSize x, tSize y, tFloatPixel T) |
Returns true if any neighbouring pixel has greater value than a given threshold. | |
int | getDiff (int a, int b) |
Returns difference of two given pixels. | |
void | initLUT () |
Initializes internal lookup table. | |
Protected Attributes | |
double | m_dInvWidth |
double | m_dThreshold |
Susan corner detector parameters. | |
double | m_dWidth |
mds::math::CStaticVector< int, LUT_SIZE > | m_LUT |
Internal lookup table used for fast computation of the exp() function. |
Modified Susan corner detector.
typedef CImageCornerDetector<I> mds::img::CSusanDetector< I >::base |
Image corner detector base.
typedef base::tImage mds::img::CSusanDetector< I >::tImage |
Image type.
Reimplemented from mds::img::CImageCornerDetector< I >.
typedef base::tPixel mds::img::CSusanDetector< I >::tPixel |
Image pixel type.
Reimplemented from mds::img::CImageCornerDetector< I >.
anonymous enum [inherited] |
anonymous enum |
anonymous enum |
CSusanDetector::CSusanDetector | ( | double | dThreshold, |
double | dWidth = 20.0 |
||
) |
Constructor.
mds::img::CSusanDetector< I >::~CSusanDetector | ( | ) |
Destructor.
bool CSusanDetector::checkNeighbours | ( | CFImage & | Image, |
tSize | x, | ||
tSize | y, | ||
tFloatPixel | T | ||
) | [protected] |
Returns true if any neighbouring pixel has greater value than a given threshold.
int CSusanDetector::getDiff | ( | int | a, |
int | b | ||
) | [protected] |
Returns difference of two given pixels.
double mds::img::CSusanDetector< I >::getThreshold | ( | ) |
Returns detection threshold.
double mds::img::CSusanDetector< I >::getWidth | ( | ) |
Returns the width parameter.
void CSusanDetector::initLUT | ( | ) | [protected] |
Initializes internal lookup table.
bool CSusanDetector::operator() | ( | const tImage & | SrcImage, |
tImage & | DstImage | ||
) | [virtual] |
Corner detection in a given image.
Implements mds::img::CImageCornerDetector< I >.
void CSusanDetector::setThreshold | ( | double | dThreshold | ) |
Sets the detection threshold.
void CSusanDetector::setWidth | ( | double | dWidth | ) |
Sets the width parameter.
double mds::img::CSusanDetector< I >::m_dInvWidth [protected] |
double mds::img::CSusanDetector< I >::m_dThreshold [protected] |
Susan corner detector parameters.
double mds::img::CSusanDetector< I >::m_dWidth [protected] |
mds::math::CStaticVector<int, LUT_SIZE> mds::img::CSusanDetector< I >::m_LUT [protected] |
Internal lookup table used for fast computation of the exp() function.