Additional information can be found on the Discussion page.


Target Outcome

To process Tekscan pressure data for a static loading condition (exported as csv file) and generate:

Prerequisites

Infrastructure

  • Python. Python is a programming language (GPL compatible license, http://www.python.org/). Python is the default scripting environment for Open Knee(s); for more details, please refer to Infrastructure/ScriptingEnvironment.

  • SciPy. SciPy is a Python based open-source software for mathematics, science, and engineering (BSD license, see http://www.scipy.org/).

  • Spyder. Spyder is an interactive development environment for Python with advanced editing, interactive testing, debugging and introspection features (MIT license, see http://code.google.com/p/spyderlib/).

  • npTDMS. npTDMS is Cross-platform, NumPy based module for reading TDMS files produced by LabVIEW. TDMS files are the binary files used for the robotic testing raw data. (LGPL license, see https://pypi.python.org/pypi/npTDMS/).

Previous Protocols

Requirements


Python Script

https://simtk.org/websvn/wsvn/openknee/utl/PressureAnalysis/Tekscan_contact_metrics.py

Input

Procedures

Import Tekscan Parameters

The script is robust in that in imports both values and units (defaults listed below) from the csv file. Tekscan data imported includes:

Compute contact metrics

Compute averaged pressure array data

Output

XML file

Includes (as specified above):

Average pressure sensor image

File type: png


Sample Results

Following are example output files (xml, png) for analysis of oks007 at a flexion angle of 60 degrees and and quadriceps force of 600N.

XML file

<Pressure_Sensor>
        <Input_File type="csv">oks007-intact-60-600-2_M.csv</Input_File>
        <Dimensions>
                <rows units="sensels">44</rows>
                <cols units="sensels">44</cols>
                <sensel_area units="mm^2">1.6129</sensel_area>
        </Dimensions>
        <Calibration>
                <noise_threshold units="raw">3</noise_threshold>
                <scale_factor units="MPa/raw">0.0011882</scale_factor>
                <exponent>1.5754</exponent>
                <saturation_pressure type="Exponential Extrapolation" units="MPa">7.34773</saturation_pressure>
                <Points>
                        <Point num="1">
                                <force units="N">49.9998</force>
                                <sum units="raw">3173</sum>
                                <loaded_cells units="count">109</loaded_cells>
                        </Point>
                        <Point num="2">
                                <force units="N">100.0</force>
                                <sum units="raw">5370</sum>
                                <loaded_cells units="count">135</loaded_cells>
                        </Point>
                        <Point num="3">
                                <force units="N">200.0</force>
                                <sum units="raw">9195</sum>
                                <loaded_cells units="count">176</loaded_cells>
                        </Point>
                        <Point num="4">
                                <force units="N">400.0</force>
                                <sum units="raw">15543</sum>
                                <loaded_cells units="count">231</loaded_cells>
                        </Point>
                        <Point num="5">
                                <force units="N">599.998</force>
                                <sum units="raw">21169</sum>
                                <loaded_cells units="count">268</loaded_cells>
                        </Point>
                </Points>
        </Calibration>
        <Contact_Metrics>
                <area units="mm^2">783.8694</area>
                <force units="N">387.19987076</force>
                <Peak_Pressure>
                        <value units="MPa">2.1456</value>
                        <Location>
                                <row units="sensels">19</row>
                                <col units="sensels">40</col>
                        </Location>
                </Peak_Pressure>
        </Contact_Metrics>
        <Pressure_Array processing="averaged" type="numpy array" units="MPa">array([[0.0000,...],...])</Pressure_Array>
</Pressure_Sensor>

Average pressure sensor image

oks007-intact-60-600-2_M_AVG_v1.png

Anatomical orientation of pressure sensor

oks007-superior_M_AVG.png oks007-inferior_M_AVG.png oks007-medial_M_AVG.png oks007-lateral_M_AVG.png

Specifications/PressureAnalysis (last edited 2019-04-17 17:59:52 by owings)