/// <summary>
 /// Create a fast detector with the specific parameters
 /// </summary>
 /// <param name="threshold">Threshold on difference between intensity of center pixel and pixels on circle around
 /// this pixel. Use 10 for default.</param>
 /// <param name="nonmaxSupression">Specifiy if non-maximum supression should be used.</param>
 /// <param name="maxNKeypoints">The maximum number of keypoints to be extracted.</param>
 /// <param name="type">The detector type</param>
 public CudaFastFeatureDetector(
     int threshold         = 10,
     bool nonmaxSupression = true,
     FastFeatureDetector.DetectorType type = DetectorType.Type9_16,
     int maxNKeypoints = 5000)
 {
     _ptr = CudaInvoke.cveCudaFastFeatureDetectorCreate(threshold, nonmaxSupression, type, maxNKeypoints, ref _feature2D, ref _feature2DAsyncPtr, ref _sharedPtr);
 }
 internal static extern IntPtr cveCudaFastFeatureDetectorCreate(
     int threshold,
     [MarshalAs(CvInvoke.BoolMarshalType)]
     bool nonmaxSupression,
     FastFeatureDetector.DetectorType type,
     int maxPoints,
     ref IntPtr feature2D,
     ref IntPtr feature2DAsync,
     ref IntPtr sharedPtr);