1. A method for three-dimensional (3D) feature detection, comprising: receiving a 3D surface map of a fingerprint, wherein the 3D surface map includes a plurality of points having 3D coordinates; generating one or more subsets of the plurality of points of the 3D surface map; processing the 3D surface map to detect at least one 3D feature within one or more of the subsets, wherein the 3D feature includes at least one of: a ridge shape, a ridge height, a valley depth, a valley shape, a ridge flow gradient, ridge height gradient; generating 3D feature data for the 3D feature detected in the 3D surface map, wherein the 3D feature data includes 3D coordinates; comparing the 3D feature data with a plurality of biometric 3D data sets, wherein each of the plurality of 3D biometric data sets includes 3D coordinates for at least one type of 3D feature; generating a confidence value in response to a comparison between the 3D feature data and one of the plurality of biometric 3D data sets; and determining a match between the 3D feature data and the one of the plurality of 3D biometric data sets when the confidence value exceeds a threshold, wherein one or more steps is performed using a processing module.