6

I have raw data obtained from EMED barefoot scan containing a matrix of pressure sensors over about 70 frames. This totals 70 matrices that record a snapshot of the pressure over the duration of a person's natural walk over the pressure plate.

I wanted to ask if anyone knows the algorithm that is typically used to determine the Center of Pressure Line (indicated by the path on the heatmap below). One thing I have tried is to consider each row as an array and find the index of the maximum pressure across the row, and create a line by matching up all the points that correspond to these indices. My approach fails to produce a smoothed line (even when using Gaussian smoothing).

center of pressure line across foot heatmap

blaklaybul
  • 161
  • 4

3 Answers3

0

Actually, scipy has a function that does exactly this. I used it on each of the 70 arrays that make up the time series, and points generate a smooth line.

https://docs.scipy.org/doc/scipy-0.16.1/reference/generated/scipy.ndimage.measurements.center_of_mass.html

blaklaybul
  • 161
  • 4
0

The way you mathematically describe your data should depend on how you plan to use the data. Just any smooth equation may not represent something meaningful. I am not familiar with practices in biomechanics but center of pressure is typically understood as a point, not a line.

That said, the simplest way I can see to process this data would be to rotate the plot 90 degrees (switch x and y). Then separate your data into the 6 levels or however many you have. The first level gets one data point, second level gets two data points and so on (assuming your scale is linear). Then you can model it with standard polynomial regression. This is kind of a crude way to go about it; depending on your implementation you can likely modify the standard polynomial regression to account for the "weight" of a data point instead making multiple points form single points.

grfrazee
  • 3,597
  • 1
  • 18
  • 33
ericnutsch
  • 8,305
  • 1
  • 16
  • 32
0

You might try looking at the k-means function in opencv for Python or C. Additionally, the k-means function in Matlab may be useful as well. To further clarify, I believe OP would describe the center line as a neutral axis nearly parallel to the sagittal plane.

piman
  • 51
  • 4