{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Read Cortex Motion Analysis Corporation .trc and .forces files (example)\n", "\n", "> [Laboratory of Biomechanics and Motor Control](http://pesquisa.ufabc.edu.br/bmclab) \n", "> Federal University of ABC, Brazil" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2020-05-15T00:40:49.577078Z", "start_time": "2020-05-15T00:40:49.036264Z" } }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "%matplotlib inline\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "sns.set_style('whitegrid')\n", "sns.set_context('notebook', font_scale=1.2, rc={\"lines.linewidth\": 2})\n", "from scipy import signal\n", "import sys, os\n", "import pyversions # https://pypi.org/project/pyversions/\n", "sys.path.insert(1, r'./../functions')\n", "import io_cortexmac as io # from https://github.com/BMClab/BMC/tree/master/functions" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2020-05-15T00:40:49.581199Z", "start_time": "2020-05-15T00:40:49.578137Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Linux 5.4.0-29-generic 64-bit #33-Ubuntu SMP Wed Apr 29 14:32:27 UTC 2020\n", "CPython 3.7.6 packaged by conda-forge (default, Mar 23 2020, 23:03:20) [GCC 7.3.0]\n", "May 14 2020, 21:40:49\n", "\n", "Module Version\n", "io_cortexmac 1.0.3\n", "ipython 7.14.0\n", "jupyterlab 2.1.2\n", "matplotlib 3.2.1\n", "notebook 6.0.3\n", "numpy 1.18.4\n", "pandas 1.0.3\n", "pyversions 0.0.3\n", "scipy 1.4.1\n", "seaborn 0.10.1\n" ] } ], "source": [ "pyversions.versions();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Use function `io_cortexmac.py` from BMClab's repo" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2020-05-15T00:40:49.584114Z", "start_time": "2020-05-15T00:40:49.582285Z" } }, "outputs": [], "source": [ "path2 = r'/mnt/B/Dropbox/BMClab/stuff/Biomecanica/2020/'" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2020-05-15T00:40:49.625554Z", "start_time": "2020-05-15T00:40:49.585260Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Opening file \"/mnt/B/Dropbox/BMClab/stuff/Biomecanica/2020/walk_diurno.trc\" ... Units changed from \"mm\" to \"m\"\n", "done.\n" ] } ], "source": [ "fname = os.path.join(path2, 'walk_diurno.trc')\n", "h_trc, trc = io.read_trc(fname, fname2='', units='m', dropna=False, na=0.0, df_multi=False)\n", "trc.set_index('Time', drop=True, inplace=True)\n", "trc.drop('Frame#', axis=1, inplace=True)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2020-05-15T00:40:49.637756Z", "start_time": "2020-05-15T00:40:49.626526Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Opening file \"/mnt/B/Dropbox/BMClab/stuff/Biomecanica/2020/walk_diurno.forces\" ... done.\n" ] } ], "source": [ "fname = os.path.join(path2, 'walk_diurno.forces')\n", "h_grf, grf = io.read_forces(fname, time=True, forcepla=[], mm2m=True, show_msg=True)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2020-05-15T00:40:49.658868Z", "start_time": "2020-05-15T00:40:49.638710Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", " | R.ASISx | \n", "R.ASISy | \n", "R.ASISz | \n", "L.ASISx | \n", "L.ASISy | \n", "L.ASISz | \n", "R.PSISx | \n", "R.PSISy | \n", "R.PSISz | \n", "L.PSISx | \n", "... | \n", "R.MT2z | \n", "L.Knee.Medialx | \n", "L.Knee.Medialy | \n", "L.Knee.Medialz | \n", "L.Ankle.Medialx | \n", "L.Ankle.Medialy | \n", "L.Ankle.Medialz | \n", "L.MT2x | \n", "L.MT2y | \n", "L.MT2z | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Time | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
0.000 | \n", "-0.148018 | \n", "1.039826 | \n", "-0.479703 | \n", "-0.165592 | \n", "1.043436 | \n", "-0.249120 | \n", "-0.342912 | \n", "1.070820 | \n", "-0.409471 | \n", "-0.349497 | \n", "... | \n", "-0.412118 | \n", "-0.062734 | \n", "0.545297 | \n", "-0.324152 | \n", "-0.236939 | \n", "0.148704 | \n", "-0.333784 | \n", "-0.150985 | \n", "0.051092 | \n", "-0.261883 | \n", "
0.007 | \n", "-0.141058 | \n", "1.038861 | \n", "-0.479913 | \n", "-0.158079 | \n", "1.042954 | \n", "-0.249257 | \n", "-0.336116 | \n", "1.070181 | \n", "-0.409000 | \n", "-0.342493 | \n", "... | \n", "-0.412210 | \n", "-0.053445 | \n", "0.546187 | \n", "-0.324160 | \n", "-0.213441 | \n", "0.143997 | \n", "-0.333000 | \n", "-0.123441 | \n", "0.050214 | \n", "-0.260259 | \n", "
0.013 | \n", "-0.134332 | \n", "1.037895 | \n", "-0.479989 | \n", "-0.150414 | \n", "1.042240 | \n", "-0.249171 | \n", "-0.329322 | \n", "1.069535 | \n", "-0.408503 | \n", "-0.335404 | \n", "... | \n", "-0.412325 | \n", "-0.044440 | \n", "0.546737 | \n", "-0.324199 | \n", "-0.189872 | \n", "0.139392 | \n", "-0.331940 | \n", "-0.095634 | \n", "0.049809 | \n", "-0.259605 | \n", "
0.020 | \n", "-0.127682 | \n", "1.036866 | \n", "-0.480055 | \n", "-0.142959 | \n", "1.041588 | \n", "-0.249026 | \n", "-0.322433 | \n", "1.068873 | \n", "-0.407999 | \n", "-0.328255 | \n", "... | \n", "-0.412357 | \n", "-0.035515 | \n", "0.546795 | \n", "-0.323374 | \n", "-0.166322 | \n", "0.134914 | \n", "-0.330772 | \n", "-0.068500 | \n", "0.048900 | \n", "-0.258710 | \n", "
0.027 | \n", "-0.120731 | \n", "1.035838 | \n", "-0.479962 | \n", "-0.135651 | \n", "1.041068 | \n", "-0.248977 | \n", "-0.315505 | \n", "1.068227 | \n", "-0.407452 | \n", "-0.321039 | \n", "... | \n", "-0.412444 | \n", "-0.026123 | \n", "0.546789 | \n", "-0.323470 | \n", "-0.142575 | \n", "0.130622 | \n", "-0.329480 | \n", "-0.041296 | \n", "0.048466 | \n", "-0.257679 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2.393 | \n", "2.669729 | \n", "1.013948 | \n", "-0.443166 | \n", "2.679452 | \n", "1.018445 | \n", "-0.210724 | \n", "2.486804 | \n", "1.050265 | \n", "-0.350918 | \n", "2.489218 | \n", "... | \n", "-0.365184 | \n", "2.759086 | \n", "0.523217 | \n", "-0.321459 | \n", "2.908786 | \n", "0.116326 | \n", "-0.302856 | \n", "3.050601 | \n", "0.100390 | \n", "-0.247426 | \n", "
2.400 | \n", "2.678802 | \n", "1.013561 | \n", "-0.442502 | \n", "2.689003 | \n", "1.018013 | \n", "-0.209994 | \n", "2.496053 | \n", "1.049709 | \n", "-0.349817 | \n", "2.498577 | \n", "... | \n", "-0.365177 | \n", "2.768020 | \n", "0.522362 | \n", "-0.321177 | \n", "2.913835 | \n", "0.114138 | \n", "-0.303386 | \n", "3.055600 | \n", "0.097254 | \n", "-0.248036 | \n", "
2.407 | \n", "2.688065 | \n", "1.013247 | \n", "-0.441769 | \n", "2.698695 | \n", "1.017800 | \n", "-0.209276 | \n", "2.505448 | \n", "1.049106 | \n", "-0.348723 | \n", "2.508022 | \n", "... | \n", "-0.365195 | \n", "2.777018 | \n", "0.521624 | \n", "-0.320795 | \n", "2.917893 | \n", "0.111588 | \n", "-0.303889 | \n", "3.059447 | \n", "0.093263 | \n", "-0.248779 | \n", "
2.413 | \n", "2.697386 | \n", "1.012931 | \n", "-0.441014 | \n", "2.708502 | \n", "1.017577 | \n", "-0.208479 | \n", "2.515101 | \n", "1.048503 | \n", "-0.347683 | \n", "2.517958 | \n", "... | \n", "-0.365259 | \n", "2.786064 | \n", "0.520972 | \n", "-0.320384 | \n", "2.920929 | \n", "0.108704 | \n", "-0.304379 | \n", "3.062302 | \n", "0.088656 | \n", "-0.250159 | \n", "
2.420 | \n", "2.707048 | \n", "1.012652 | \n", "-0.440176 | \n", "2.718473 | \n", "1.017529 | \n", "-0.207658 | \n", "2.524919 | \n", "1.047971 | \n", "-0.346768 | \n", "2.527594 | \n", "... | \n", "-0.365344 | \n", "2.795329 | \n", "0.520493 | \n", "-0.319815 | \n", "2.923379 | \n", "0.105627 | \n", "-0.304921 | \n", "3.064462 | \n", "0.084283 | \n", "-0.250614 | \n", "
364 rows × 84 columns
\n", "\n", " | FX1 | \n", "FY1 | \n", "FZ1 | \n", "X1 | \n", "Y1 | \n", "Z1 | \n", "MZ1 | \n", "FX2 | \n", "FY2 | \n", "FZ2 | \n", "... | \n", "Y6 | \n", "Z6 | \n", "MZ6 | \n", "FX7 | \n", "FY7 | \n", "FZ7 | \n", "X7 | \n", "Y7 | \n", "Z7 | \n", "MZ7 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Time | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "2.149 | \n", "0.0 | \n", "0.9767 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "-0.203 | \n", "-0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.3 | \n", "0.0 | \n", "0.2 | \n", "0.0 | \n", "
0.002222 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "2.149 | \n", "0.0 | \n", "0.9767 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "... | \n", "0.0 | \n", "-0.203 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "0.3 | \n", "0.0 | \n", "0.2 | \n", "-0.0 | \n", "
0.004444 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "2.149 | \n", "0.0 | \n", "0.9767 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "... | \n", "0.0 | \n", "-0.203 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "0.3 | \n", "0.0 | \n", "0.2 | \n", "-0.0 | \n", "
0.006667 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "2.149 | \n", "0.0 | \n", "0.9767 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "... | \n", "0.0 | \n", "-0.203 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "0.3 | \n", "0.0 | \n", "0.2 | \n", "-0.0 | \n", "
0.008889 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "2.149 | \n", "0.0 | \n", "0.9767 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "... | \n", "0.0 | \n", "-0.203 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "0.3 | \n", "0.0 | \n", "0.2 | \n", "-0.0 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2.415556 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "2.149 | \n", "0.0 | \n", "0.9767 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "... | \n", "0.0 | \n", "-0.203 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "0.3 | \n", "0.0 | \n", "0.2 | \n", "-0.0 | \n", "
2.417778 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "2.149 | \n", "0.0 | \n", "0.9767 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "... | \n", "0.0 | \n", "-0.203 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "0.3 | \n", "0.0 | \n", "0.2 | \n", "-0.0 | \n", "
2.420000 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "2.149 | \n", "0.0 | \n", "0.9767 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "... | \n", "0.0 | \n", "-0.203 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "0.3 | \n", "0.0 | \n", "0.2 | \n", "-0.0 | \n", "
2.422222 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "2.149 | \n", "0.0 | \n", "0.9767 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "... | \n", "0.0 | \n", "-0.203 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "0.3 | \n", "0.0 | \n", "0.2 | \n", "-0.0 | \n", "
2.424444 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "2.149 | \n", "0.0 | \n", "0.9767 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "... | \n", "0.0 | \n", "-0.203 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "-0.0 | \n", "0.3 | \n", "0.0 | \n", "0.2 | \n", "-0.0 | \n", "
1092 rows × 49 columns
\n", "\n", " | R.ASISx | \n", "R.ASISy | \n", "R.ASISz | \n", "L.ASISx | \n", "L.ASISy | \n", "L.ASISz | \n", "R.PSISx | \n", "R.PSISy | \n", "R.PSISz | \n", "L.PSISx | \n", "... | \n", "R.MT2z | \n", "L.Knee.Medialx | \n", "L.Knee.Medialy | \n", "L.Knee.Medialz | \n", "L.Ankle.Medialx | \n", "L.Ankle.Medialy | \n", "L.Ankle.Medialz | \n", "L.MT2x | \n", "L.MT2y | \n", "L.MT2z | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0.000000 | \n", "-0.148013 | \n", "1.039790 | \n", "-0.479687 | \n", "-0.165587 | \n", "1.043400 | \n", "-0.249111 | \n", "-0.342900 | \n", "1.070784 | \n", "-0.409457 | \n", "-0.349485 | \n", "... | \n", "-0.412104 | \n", "-0.062732 | \n", "0.545279 | \n", "-0.324140 | \n", "-0.236931 | \n", "0.148699 | \n", "-0.333772 | \n", "-0.150980 | \n", "0.051090 | \n", "-0.261874 | \n", "
0.002222 | \n", "-0.165754 | \n", "1.176067 | \n", "-0.542727 | \n", "-0.185522 | \n", "1.180283 | \n", "-0.281859 | \n", "-0.386272 | \n", "1.211210 | \n", "-0.463102 | \n", "-0.393678 | \n", "... | \n", "-0.466229 | \n", "-0.068713 | \n", "0.617092 | \n", "-0.366665 | \n", "-0.262359 | \n", "0.167078 | \n", "-0.377417 | \n", "-0.164174 | \n", "0.057534 | \n", "-0.295793 | \n", "
0.004444 | \n", "-0.158350 | \n", "1.141277 | \n", "-0.526916 | \n", "-0.177347 | \n", "1.145552 | \n", "-0.273660 | \n", "-0.372476 | \n", "1.175510 | \n", "-0.449371 | \n", "-0.379591 | \n", "... | \n", "-0.452610 | \n", "-0.063299 | \n", "0.599354 | \n", "-0.355922 | \n", "-0.246086 | \n", "0.160462 | \n", "-0.366086 | \n", "-0.149304 | \n", "0.055510 | \n", "-0.286510 | \n", "
0.006667 | \n", "-0.141053 | \n", "1.038825 | \n", "-0.479896 | \n", "-0.158074 | \n", "1.042918 | \n", "-0.249249 | \n", "-0.336105 | \n", "1.070144 | \n", "-0.408986 | \n", "-0.342482 | \n", "... | \n", "-0.412196 | \n", "-0.053444 | \n", "0.546169 | \n", "-0.324149 | \n", "-0.213434 | \n", "0.143992 | \n", "-0.332988 | \n", "-0.123436 | \n", "0.050212 | \n", "-0.260250 | \n", "
0.008889 | \n", "-0.129460 | \n", "0.974991 | \n", "-0.450652 | \n", "-0.145114 | \n", "0.978988 | \n", "-0.234049 | \n", "-0.312638 | \n", "1.004536 | \n", "-0.383805 | \n", "-0.318513 | \n", "... | \n", "-0.387078 | \n", "-0.046193 | \n", "0.513157 | \n", "-0.304436 | \n", "-0.190172 | \n", "0.133177 | \n", "-0.312260 | \n", "-0.103831 | \n", "0.046922 | \n", "-0.243902 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2.415556 | \n", "2.966845 | \n", "1.112183 | \n", "-0.483880 | \n", "2.979224 | \n", "1.117381 | \n", "-0.228523 | \n", "2.766774 | \n", "1.151119 | \n", "-0.381335 | \n", "2.769873 | \n", "... | \n", "-0.401145 | \n", "3.064043 | \n", "0.571839 | \n", "-0.351553 | \n", "3.208781 | \n", "0.117855 | \n", "-0.334532 | \n", "3.363905 | \n", "0.095137 | \n", "-0.275038 | \n", "
2.417778 | \n", "3.059988 | \n", "1.145627 | \n", "-0.498158 | \n", "3.072851 | \n", "1.151074 | \n", "-0.235108 | \n", "2.853934 | \n", "1.185643 | \n", "-0.392496 | \n", "2.857043 | \n", "... | \n", "-0.413277 | \n", "3.159964 | \n", "0.588913 | \n", "-0.361939 | \n", "3.306487 | \n", "0.120246 | \n", "-0.344823 | \n", "3.466175 | \n", "0.096371 | \n", "-0.283475 | \n", "
2.420000 | \n", "2.706955 | \n", "1.012618 | \n", "-0.440161 | \n", "2.718380 | \n", "1.017494 | \n", "-0.207651 | \n", "2.524833 | \n", "1.047936 | \n", "-0.346756 | \n", "2.527507 | \n", "... | \n", "-0.365331 | \n", "2.795234 | \n", "0.520475 | \n", "-0.319804 | \n", "2.923279 | \n", "0.105623 | \n", "-0.304910 | \n", "3.064357 | \n", "0.084280 | \n", "-0.250606 | \n", "
2.422222 | \n", "1.874230 | \n", "0.700753 | \n", "-0.304532 | \n", "1.882157 | \n", "0.704158 | \n", "-0.143631 | \n", "1.748197 | \n", "0.725172 | \n", "-0.239891 | \n", "1.750007 | \n", "... | \n", "-0.252832 | \n", "1.935280 | \n", "0.360155 | \n", "-0.221260 | \n", "2.023259 | \n", "0.072808 | \n", "-0.211053 | \n", "2.120854 | \n", "0.057945 | \n", "-0.173424 | \n", "
2.424444 | \n", "0.834408 | \n", "0.311876 | \n", "-0.135515 | \n", "0.837941 | \n", "0.313400 | \n", "-0.063906 | \n", "0.778315 | \n", "0.322738 | \n", "-0.106746 | \n", "0.779107 | \n", "... | \n", "-0.112529 | \n", "0.861567 | \n", "0.160283 | \n", "-0.098459 | \n", "0.900547 | \n", "0.032324 | \n", "-0.093944 | \n", "0.943972 | \n", "0.025685 | \n", "-0.077179 | \n", "
1092 rows × 84 columns
\n", "