[][src]Function arrayfire::fast

pub fn fast<T>(
    input: &Array<T>,
    thr: f32,
    arc_len: u32,
    non_max: bool,
    feat_ratio: f32,
    edge: u32
) -> Features where
    T: HasAfEnum + ImageFilterType

Fast feature detector

A circle of radius 3 pixels, translating into a total of 16 pixels, is checked for sequential segments of pixels much brighter or much darker than the central one. For a pixel p to be considered a feature, there must exist a sequential segment of arc_length pixels in the circle around it such that all are greather than (p + thr) or smaller than (p - thr). After all features in the image are detected, if nonmax is true, the non-maximal suppression is applied, checking all detected features and the features detected in its 8-neighborhood and discard it if its score is non maximal.

Parameters

  • input - the input image Array
  • thr - FAST threshold for which pixel of the circle around the center pixel is considered to be greater or smaller
  • arc_len - length of arc (or sequential segment) to be tested, must be within range [9-16]
  • non_max - performs non-maximal supression if true
  • feat_ratio - maximum ratio of features to detect, the maximum number of features is calculated by feature_ratio * num of elements. The maximum number of features is not based on the score, instead, features detected after the limit is reached are discarded.
  • edge - is the length of the edges in the image to be discarded by FAST(minimum is 3, as the radius of the circle)

Return Values

This function returns an object of struct Features containing Arrays for x and y coordinates and score, while array oreientation is set to 0 as FAST does not compute orientation. Size is set to 1 as FAST does not compute multiple scales.