Skip to content

This repository contains the code for a RShiny App for the calculation of center of pressure parameters for individuals performing a balance task. Such data can be obtained from (consumer grade) force plates like the AMTI, Kistler, Bertec or Wii Balance Board.

License

Notifications You must be signed in to change notification settings

tomvredeveld/center-of-pressure-analysis-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

This Github repository holds a Center of Pressure Analysis tools, which employs clinicians with a webbrowser-based app to calculate frequently used Center of Pressure parameters without the need to know about programming languages.

Screenshot of the analysis tool Screenshot of the analysis tool with an uploaded force plate file, showing the center of pressure in mediolateral and anteroposterior directions

With this tool you can select a segment from data obtained with a force plate (e.g., AMTI, Kistler, Wii Balance Board) to calculate Center of Pressure (COP) parameters such as standard deviation of displacement in a certain direction or total sway area. In day-to-day clinical practice, one may want to indicate postural stability by COP parameters, however, without the need to understand programming languages such as MATLAB, Python or R.

This tool enables clinicians to upload a .txt or .csv file, which is then plotted and a segment can be selected by choosing timestamps. Then, frequently used COP parameters can be calculated and a COP trajectory (sway) can be viewed.

The tool was developed using the R language and Shiny for R. More information on Shiny for R can be found at rstudio.com

Getting started.

The app is developed to run from the shinyapps.io website (through a simple webbrowser) or by running it locally and download the code from this Github repository. Both methods are described below.

Method 1: Shinyapps.io

The app is published to the shinyapps.io server so it can be used online. You may find it at my personal shinyapps.io account

Open the web application here: Center of Pressure Analysis Tool at Shinyapps.IO.

Please note, due to a limited monthly use at the server, it may be possible that the app is not available. Wait till the next month, or download the app and use it locally on your computer. The steps for using the app are described below.

Method 2: Local use

The single app.R file can be downloaded from this github page and can be run when using R and RStudio. You can install them here:

The app depends on a couple of functions from packages which are (freely) available from the CRAN package repository. You can install them in R by running the following single line code:

install.packages(c("shiny", "data.table", "signal", "plotly")

Then open the app.R file and press Run App from within RStudio. The steps to using the app are described below.

Screenshot of running the app locally with RStudio Quick instructions to run the app locally on your computer by using R and Rstudio.

Using the app

Step 1: uploading data

Upload a .txt or .csv file to the app, but make sure that the file consists of three columns, time, copx (medio-lateral position of the center of pressure) and copy (anterior-posterior position of the center of pressure). These should be the first three columns, yet names can be different and more columns may be present (will be ignored when uploading your file).

Step 2: looking at the data

At the tab table and plotly you may find a table displaying the first 6 rows of the data you uploaded. This shows you if the upload was succesful. The plotly tab provides 2 figures: above, center of pressure signal for the medio-lateral axis and below for the anterior-posterior axis.

Step 3: selecting a segment

Next, you might want to calculate COP parameters from a part of the signal (or complete signal, than use 0 and the highest value as timestamps). You can select a 'timestamp' by hovering your mouse over the plot. This exact value has to be written in the fields next to the figures. A second timestamp depicts the end of the segment.

Step 4: COP parameters & Sway area / Stabilogram plots

Now, click the Calculate COP Parameters button. Automatically the COP parameters are calculated: including:

  • Standard deviation of displacement of the COP on the medio-lateral axis (COPx or ML)
  • Standard deviation of displacement of the COP on the anterior-posterior axis (COPy or AP)
  • Mean velocity of the COP on the medio-lateral axis,
  • Mean velocity of the COP on the anterior-posterior axis
  • Total COP pathlength
  • 95% Predicted Ellipse Area, as described by P. Schuber and M. Kirchner in their paper

The 'Sway Area' tab shows two plots, so called 'stabilograms'. One plot shows the COP coordinates and a drawn ellipse, which corresponds with the COP parameters 95% Predicted Ellipse Area. The second plot shows, with identical data, the COP path, or: COP trajectory, viewed from a larger coordinate plane. You can interactively click the figures to drag, zoom, or identify specific data points. Click the 'house' symbol that appears in the right upper corner to return to the original plotted positions of the data.

Privacy & Disclaimer

Please be aware that uploading your data to the web application also shares your data with the servers at shinyapps.io! Be careful when using sensitive data and perhaps choose to run it local on your computer, as I can not guarantee the privacy of your data.

I make no representations or warranties of any kind, express or implied, regarding the accuracy, reliability, or completeness of any information provided through this Center of Pressure Analysis Tool.

Version

Current: 1.0.0 - First public version

Version management 0.1.0 - Personal beta version.

Issues

If anything is not working properly in this app, please let me know and add it as an issue or send me an e-mail t.vredeveld [at] hva [dot] nl

About

This repository contains the code for a RShiny App for the calculation of center of pressure parameters for individuals performing a balance task. Such data can be obtained from (consumer grade) force plates like the AMTI, Kistler, Bertec or Wii Balance Board.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages