Browse Source

documented Parameters.FingerDetection

Alexander Hendrich 10 years ago
parent
commit
29b014aec6
2 changed files with 45 additions and 3 deletions
  1. 44 2
      bbiwarg/Parameters.cs
  2. 1 1
      bbiwarg/Recognition/FingerRecognition/FingerDetector.cs

+ 44 - 2
bbiwarg/Parameters.cs

@@ -196,17 +196,59 @@ namespace bbiwarg
 
         #region finger detection
 
-        public static readonly int FingerStepSize = 1;
+        /// <summary>
+        /// the number of missed slices until the trail expansion stops
+        /// </summary>
         public static readonly int FingerMaxGapCounter = 3;
-        public static readonly int FingerMaxSliceDifferencePerStep = 5;
+
+        /// <summary>
+        /// the maximum slice length difference of two consecutive slices (used to drop outliers)
+        /// </summary>
+        public static readonly int FingerMaxSliceLengthDifferencePerStep = 5;
+
+        /// <summary>
+        /// the minimum number of slices a finger must have
+        /// </summary>
         public static readonly int FingerMinNumSlices = 20;
+
+        /// <summary>
+        /// maximum finger slice length (in mm)
+        /// </summary>
         public static readonly float FingerMaxWidth3D = 35f;
+
+        /// <summary>
+        /// maximum finger slice length (in pixels)
+        /// </summary>
         public static readonly int FingerMaxWidth2D = 30; // TODO remove and replace with 3Dwidth
+
+        /// <summary>
+        /// minimum finger slice length (in pixels)
+        /// </summary>
         public static readonly int FingerMinWidth2D = 2;
+
+        /// <summary>
+        /// the number of slices that are removed when the finger expansion starts in opposite direction (because inital slices don't have the correct direction)
+        /// </summary>
         public static readonly int FingerRemoveNumSlicesForCorrection = 10;
+
+        /// <summary>
+        /// the number of slices used to calculate the start and end directions
+        /// </summary>
         public static readonly int FingerNumSlicesForRelativeDirection = FingerRemoveNumSlicesForCorrection;
+
+        /// <summary>
+        /// the distance of a point to be considered beside the finger (in pixels)
+        /// </summary>
         public static readonly int FingerOutMargin = 6;
+
+        /// <summary>
+        /// the maximum depth difference between the finger and a point beside the finger
+        /// </summary>
         public static readonly int FingerMaxCrippleDifference = 20;
+
+        /// <summary>
+        /// the contour margin around the finger
+        /// </summary>
         public static readonly int FingerContourMargin = 4;
 
         #endregion

+ 1 - 1
bbiwarg/Recognition/FingerRecognition/FingerDetector.cs

@@ -170,7 +170,7 @@ namespace bbiwarg.Recognition.FingerRecognition
             {
                 nextSlice = findFingerSliceFromMid(currentPosition, currentDirection, reversed);
 
-                if (nextSlice != null && Math.Abs(nextSlice.Length - lastSlice.Length) <= Parameters.FingerMaxSliceDifferencePerStep)
+                if (nextSlice != null && Math.Abs(nextSlice.Length - lastSlice.Length) <= Parameters.FingerMaxSliceLengthDifferencePerStep)
                 {
                     gapCounter = 0;
                     numSlices++;