# [−][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.