Contents
Target Outcome
Loading and boundary conditions (kinematics-kinetics) reflecting experimentation, which are represented in model coordinate systems
Access data in tdms file (outputted by SimVitro) from tibiofemoral joint experimentation
- Process kinematic and kinetic data
Input & validation data for FE model
- Analyze reproducibility data (anterior-posterior laxity)
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
Protocols
Tibiofemoral Testing:
Input
- Model coordinate systems and transformation matrices (obtained from imaging)
- Experimentation coordinate systems and transformation matrices (obtained from joint mechanics testing)
- Transformation matrices for registration of imaging and joint testing coordinate systems (obtained from registration)
Access Python script from source code repository: https://simtk.org/websvn/wsvn/openknee/utl/SimVitro/#_utl_SimVitro_
Script: tdms_plotting.py
- Python module: npTDMS
Processing data (use script tdms_plotting.py):
- Tdms files (Main Processed Data File)
- Filename: Experiment Run Number_Experiment Run Name + “_Main” + “_Processed”
- File extension: “.tdms”
- File Format: binary
- File Type: NI TDMS
- Text file with paths to tdms files within (include extension for tdms files)
- Tdms files (Main Processed Data File)
Reproducibility data (use script tdms_plotting.py):
- Data from three AP laxity tests at 30 degree flexion
- Text file with path to the three tdms file within (include extension for tdms files)
- Important Notes
- Place each path to tdms file on new line of text file.
- Paths of tdms files should be relative to your present working directory when running the script.
- Example of running script in terminal: 'python tdms_plotting.py text_file.txt'
Procedures
- Use nptdms module to access data
- Data file hierarchy of tdms file
- Data file hierarchy of tdms file
- Processing data:
- Find "time windows" during desired kinetics (Channel: Kinetics.JCS.Desired). "Time windows" are periods of time in which a constant force or torque is applied (steps in loading conditions).
For each step in the loading condition, "time windows", select last time point. This will be appended to list of key time indices, "time index", which will be used to process data.
- Raw desired kinetics and processed desired kinetics shown below.
- Use "time index" from desired kinetics to process actual kinetics (Channel: State.JCS Load) and actual kinematics (Channel: State.Knee JCS).
- Find "time windows" during desired kinetics (Channel: Kinetics.JCS.Desired). "Time windows" are periods of time in which a constant force or torque is applied (steps in loading conditions).
- Reproducibility testing:
- Process kinematic/kinetic data from AP laxity 30 degrees flexion tests
- Enter '1' when prompted to run analysis for reproducibility testing (tdms_plotting.py)
- Compare differences between all combinations of the three reproducibility tests
Compare tests 1 & 2, 1 & 3, 2 & 3 using RMSD
- RMSD in reproducibility analysis
- Process kinematic/kinetic data from AP laxity 30 degrees flexion tests
Output
- Joint kinematics-kinetics information
- Experimental kinematics and/or kinetics described in a form that can be directly applied to the model as inputs.
- Experimental kinematics and/or kinetics described in a form that can be directly compared to the model outputs.
Processed kinematic & kinetic data
- Folder with tdms file name with directory of tdms files
- Plots of all raw data (path/filename/group.[png/svg])
- Plots of processed kinematic/kinetic data (path/filename/group_extracted.[png/svg])
- Text file with processed kinematic/kinetic data (path/filename/group.txt)
- Reproducibility testing
- Folder titled Repro_filename with directory of last tdms file (filename = last reproducibility tdms file)
- Plots comparing forces/torques and rotations/translations between tests (path/Repro_filename/group_forces.[png/svg])
- Plot of kinetic vs. kinematic data for dominant axis (Anterior-Posterior)
- Text file with processed kinematic/kinetic data (path/Repro_filename/group_Data_Repro.txt)
- Text file with RMSD values, maximums, minimums, and means (path/Repro_filename/RMSD_Repro_Table.txt)
Patellofemoral Testing
Input
Input is similar to tibiofemoral testing input, however reproducibility tests do not occur in this script.
- Model coordinate systems and transformation matrices (obtained from imaging)
- Experimentation coordinate systems and transformation matrices (obtained from joint mechanics testing)
- Transformation matrices for registration of imaging and joint testing coordinate systems (obtained from registration)
Access Python script from source code repository: https://simtk.org/websvn/wsvn/openknee/utl/SimVitro/#_utl_SimVitro_
Script: tdms_plottingPF.py
- Python module: npTDMS
Processing data (use script tdms_plottingPF.py):
- Tdms files (Main Processed Data File)
- Filename: Experiment Run Number_Experiment Run Name + “_Main” + “_Processed”
- File extension: “.tdms”
- File Format: binary
- File Type: NI TDMS
- Text file with paths to tdms files within (include extension for tdms files)
- Tdms files (Main Processed Data File)
- Important Notes
- Place each path to tdms file on new line of text file.
Procedure
Procedure is similar to the tibiofemoral testing above:
- Processing data: Find "time windows" during desired kinetics (Channel: Kinetics.JCS.Desired). "Time windows" are periods of time in which a constant force or torque is applied (steps in loading conditions).
For each step in the loading condition, "time windows", select last time point. This will be appended to list of key time indices, "time index", which will be used to process data.
- Raw desired kinetics and processed desired kinetics shown below.
Use "time index" from desired kinetics to process actual kinetics (Channel: State.JCS Load) and actual kinematics (Channel: State.Knee JCS).
- Examples of processed kinematic and kinetic data.
-- ogad 2015-07-01 15:00:47 These are not plots of processed kinematics and kinetics. This is of raw kinematics and processed kinematics.
Output
- Joint kinematics-kinetics information
- Experimental kinematics and/or kinetics described in a form that can be directly applied to the model as inputs.
- Experimental kinematics and/or kinetics described in a form that can be directly compared to the model outputs.
Processed kinematic & kinetic data
- Folder with tdms file name with directory of tdms files
- Plots of all raw data (path/filename/group.[png/svg])
- Plots of processed kinematic/kinetic data (path/filename/group_extracted.[png/svg])
- Text file with processed kinematic/kinetic data (path/filename/group.txt)
Test Problem
-- aerdemir 2014-11-18 13:58:01 Reproducibility tests (30 degrees flexion anterior-posterior laxity) during characterization of tibiofemoral joint kinematics/kinetics can be a good candidate.