![]() |
aimsalgo
5.1.2
Neuroimaging image processing
|
Harris Corner Detector. More...
#include <aims/math/harris.h>
Public Member Functions | |
BaseHarrisDetector (const carto::rc_ptr< carto::Volume< T > > &image, const double sigma=1.2, const double k=0.6, const double epsilon=1E-3, const T levels=(T) 255) | |
Constructor. More... | |
virtual double | gaussian (const double x, const double y, const double z) |
Gaussian function. More... | |
virtual void | computeDerivatives () |
virtual double | harrisMeasure (const int x, const int y, const int z, const int t)=0 |
Compute harris measure for a pixel. More... | |
virtual void | computeHarrisMap () |
Compute the Harris measure for each pixel of the image. More... | |
virtual bool | isSpatialMaxima (const int x, const int y, const int z, const int t)=0 |
Check that pixel is a maxima of the Harris map. More... | |
virtual void | computeCorners () |
Perfom the Harris Corner Detection. More... | |
virtual void | filter (int minDistance) |
Filter detected corners. More... | |
carto::VolumeRef< double > | harrisMap () |
Get processed Harris map. More... | |
aims::BucketMap< Void > | corners () |
Get detected corners. More... | |
Protected Attributes | |
double | _epsilon |
double | _k |
double | _sigma |
double | _sigma2 |
double | _u |
T | _levels |
double | _f |
int | _radius |
int | _window |
carto::VolumeRef< T > | _image |
carto::VolumeRef< double > | _g |
carto::VolumeRef< double > | _hmap |
aims::BucketMap< double > | _corners |
Harris Corner Detector.
k = det(A) - k * trace(A)^2
Where A is the second-moment matrix
| Lx²(x+dx,y+dy) Lx.Ly(x+dx,y+dy) |
A = Sum | | * Gaussian(dx, dy) dx,dy | Lx.Ly(x+dx,y+dy) Ly²(x+dx,y+dy) |
and k = a / (1 + a)^2,
where "a" is the mininmum ratio between the two eigenvalues for a point to be considered as a corner.
aims::BaseHarrisDetector< T >::BaseHarrisDetector | ( | const carto::rc_ptr< carto::Volume< T > > & | image, |
const double | sigma = 1.2 , |
||
const double | k = 0.6 , |
||
const double | epsilon = 1E-3 , |
||
const T | levels = (T) 255 |
||
) |
Constructor.
|
virtual |
Perfom the Harris Corner Detection.
|
inlinevirtual |
Reimplemented in aims::HarrisDetector< T, 2 >.
|
virtual |
Compute the Harris measure for each pixel of the image.
aims::BucketMap<Void> aims::BaseHarrisDetector< T >::corners | ( | ) |
Get detected corners.
|
virtual |
Filter detected corners.
minDistance | minimum distance between corners |
|
virtual |
Gaussian function.
carto::VolumeRef<double> aims::BaseHarrisDetector< T >::harrisMap | ( | ) |
Get processed Harris map.
|
pure virtual |
Compute harris measure for a pixel.
Implemented in aims::HarrisDetector< T, 2 >.
|
pure virtual |
Check that pixel is a maxima of the Harris map.
Implemented in aims::HarrisDetector< T, 2 >.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |