#acl +All:read Default #format wiki #language en <<TableOfContents>> = 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 = <<Include(Infrastructure/AuxiliarySoftware, "Infrastructure", 2, from="= Scripting & Numerical Analysis =", to="= Finite Element Analysis =")>> == Previous Protocols == * [[Specifications/ExperimentationAnatomicalImaging]] * [[Specifications/ExperimentationJointMechanics]] * [[Specifications/Registration]] = 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) * 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 . {{attachment:datafilehiearchy.png}} * 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. . {{attachment:Kinetics.JCS.Desired.png}} {{attachment:Kinetics.JCS.Desired_Extracted.png}} * 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. . {{attachment:State.JCS_Load_Extracted.png}} {{attachment:State.Knee_JCS_Extracted.png}} * 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 {{attachment:State.Knee_JCS_Translations.png}} {{attachment:Repro_Plot.png}} === 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) . [[attachment: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) * 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. {{attachment:PTKinetics.JCSlDesired.png}} {{attachment:Kinetics.JCS.Desired_Processed.png}} 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]] <<DateTime(2015-07-01T15:00:47Z)>> These are not plots of processed kinematics and kinetics. This is of raw kinematics and processed kinematics. [[attachment:PTF processed]] {{attachment:State.Knee PTFJ_Processed.png}} === 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]] <<DateTime(2014-11-18T13:58:01Z)>> Reproducibility tests (30 degrees flexion anterior-posterior laxity) during characterization of tibiofemoral joint kinematics/kinetics can be a good candidate.