[][src]Function arrayfire::susan

pub fn susan<T>(
    input: &Array<T>,
    radius: u32,
    diff_thr: f32,
    geom_thr: f32,
    feature_ratio: f32,
    edge: u32
) -> Features where
    T: HasAfEnum + ImageFilterType

SUSAN corner detector.

SUSAN is an acronym standing for Smallest Univalue Segment Assimilating Nucleus. This method places a circular disc over the pixel to be tested (a.k.a nucleus) to compute the corner measure of that corresponding pixel. The region covered by the circular disc is M, and a pixel in this region is represented by m⃗ ∈M where m⃗ 0 is the nucleus. Every pixel in the region is compared to the nucleus using the following comparison function:

c(m⃗ )=e^−((I(m⃗)−I(m⃗_0))/t)^6

where t is radius of the region, I is the brightness of the pixel.

Response of SUSAN operator is given by the following equation:

R(M) = g−n(M) if n(M) < g

R(M) = 0 otherwise,

where n(M)=∑c(m⃗) m⃗∈M, g is named the geometric threshold and n is the number of pixels in the mask which are within t of the nucleus.

Importance of the parameters, t and g is explained below:

Parameters

Return Values

An object of type Features composed of arrays for x and y coordinates, score, orientation and size of selected features.