Skip to main content
. 2017 Aug 4;17(8):1796. doi: 10.3390/s17081796
Algorithm 2 Procedures of Foot Axis Detection
Input data: contact region
Output data: foot axis connecting the centers
Variables
  • -

    cn: centroid of the contact region

  • -

    i: index of the boudnary point in the heel side part

  • -

    bi: i-th boudnary point in the heel side part

  • -

    li: distance between cn and bi

  • -

    l^i: smoothed distance between cn and bi

  • -

    li: first derivvatnormal vector of l^i

  • -

    j: index of the salient point

  • -

    sj: j-th salient point

Procedures
  1. Aligning the contact region:

    calculate the centroid of contact region cn and rotate the contact region by using PCA

  2. Defining the heel side part:
    • 2.1.
      devide the aligned contact region into two parts.
    • 2.2.
      for each part, find maximum width perpendicular to the first principal axis.
    • 2.3.
      define a part with a larger maximum width as a heel side part.
  3. Calculating the distances from cn to the boundary points in the heel side part:

    for all bi,

    calculate distance li from cn. Smoothing the distances:

    for all li,

    compute the smoothed distance l^i using a 1D Gaussian smoothing filter.

  4. Deriving the derivative of the smoothed distances:

    for all l^i,

    compute li the first derivative of the smoothed distance l^i using the central difference method.

  5. Detecting the salient points:

    for all l^i,

    find the local maximum of which li is a zero-crossing point, and define the local maximum as the salient point sj.

  6. Detecting the center of heel:

    for all sj,

    find the farthest point from cn and define it as the center of heel.

  7. Defining the foot axis:

    detect the line connecting the detected center of heel and the center of second toe selected by a user.