In machine learning and pattern recognition, a feature may be a measured property or quantity of a phenomenon being observed. Features are usually numeric, but structural features such as strings and graphs are used in syntactic pattern recognition. Feature extraction is typically performed on an input data set and the results provided to recognition/selection hardware for further processing. For example, to perform character recognition, features applied to, for example, a neural network may include histograms that count the number of black pixels along horizontal and vertical directions, number of internal holes, and/or stroke detection. For speech recognition, features for recognizing phonemes can include noise ratios, length of sounds, relative power, and/or filter matches. For spam detection, features may include the presence or absence of certain email headers, the email structure, the language, the frequency of specific terms, and/or the grammatical correctness of the text. For computer vision applications, possible features include edges and objects.