Overview
General
“Upperlimb” is a stand alone application focused on upper extremity motion analysis, based on measurement data collected from 3D optical marker tracking systems.
It has been created for quick and easy processing and analysis of upper limb movement data and is offered as a graphical user interface to ensure maximum applicability in medical practice and research.
Upperlimb is tested extensively with data collected by the Vicon system, especially the deprecated software Vicon Workstation, its current pendant Nexus and also the software Tracker, which is often used in the context of robotics sciences.
Features
The application includes advanced algorithms for joint center- and axes estimation, based on functional methods. The results of the data processing can be visualized as 3D stick figure motion and time series plots.
It also integrates a motion analysis data mining tool to collect frame based parameters from the time series and it allows to export this data for external processing, e.g. by spreadsheet programs (Excel or Open/Libre-Office).
Upperlimb is a highly configurable software tool that allows to:
anatomical landmark reconstruction and process joint kinematics
split the captured motion data into motion cycles based on a free configurable event scheme
determine spatiotemporal parameters for every motion cycle
export data in different formats (d3d, MAT, PDF, CSV, XML, gla, glx)
create reference data files from processed data
Distinctive features:
Stand-alone and multiplatform application (no matlab licence is needed, available for windows and linux baased operating systems).
Using of trial-metadata files (e.g. .enf-files from Vicon measurement systems) to control the processing steps (
Details).
Several functional methods available for joint center/axes estimation with event-based control of the phases the estimations are based on (
Details).
Working with additional static scapula “tip-trials”, to deal with scapula measurement for humerus elevation angles bigger than 90 degrees.
Adjunct SHR ratio algorithm, without gimbal locks and independent from offset angles (
Details).
History
The original application Version 0.1 has been developed from the company ORAT Software-Entwicklung in the year 2009 to simplify and standardize research projects from medical PD students in the Gait- and Motionlab at Heidelberg University clinics. It fullfills the specific needs of this gaitlab only.
“Upperlimb 0.2” was the first application based on the Nimue platform - a high configurable set of modules to build up motion analysis applications. It includes a big set of commercial modules, which prohibits, that the application can be made available open source as a whole.
With the growing number of student projects (at University of Heidelberg till 2017, at DHBW Karlsruhe after 2017), working with this software, and with the growing number of publications based on its calculations, the idea comes up to implement a “Version 2 Upperlimb software” and to make it commonly available.
The work on this project is still in progress and concentrates 2021 in the integration of the Vicon software Tracker, which is used in the Robot and Human Motion lab at the DHBW-Karlsruhe.
Changelog
Unreleased
Upperlimb 0.932 - 2021-05
Unreleased
Upperlimb 0.931 - 2021-01
Upperlimb 0.930 - 2020-02
Upperlimb 0.929 - 2019-12
Added
Folders which include files with the suffix “.r3d” are recognized as session folders (The Module “Motion Data SessionSet” is included in the default upperlimb distribution. This allows to use motiondata collected from a stream e.g. Vicon DataStream
API or even from non Vicon equipment.
Upperlimb 0.928 - 2019-01
Changed
Added
Planed/known bugs
If not data is availble to be plot in a plot sheet, the selection/navigation shows strange behavoir (select/deselct does not work …)
In rare cases an additional wrong RElePhase, whichs ends at the end of the trial, is added, e.g. RSA3D-201 (Trial 12, position 2, right side), RSA3D-313 (Trial 12, position 2, left side), RSA-224 (Trial 12, position 2, right side), RSA3A-223 (Trial 12, right side, position 2)
The action “Process…” tries to access directly FilterNodes instead usage of the indirection of the Lookup. This can fail.
Automatically deleting output files, if process is canceled
Planed to fix in this version: Static shoulder angles measurements over 90 degree sometimes show offset about 180 degree.
The resizing behavior of the window showing processed data is unhandy. If the status switched from processed data not available to available the size should be grown vertically automatically to show the new processed data node.
Extention of the model with R/LSHRCardanISB based on Thorax- and Humerus coordinate systems following the ISB recommendations exactly.
Upperlimb 0.927 - 2018-11
Added
PlotSheet declaration files for none, first, second or both static positions (as a WORKAROUND for the Plotsheet Bug which results in broken selection/navigation for uncomplete data in certain cases);
Changed
Upperlimb models upgraded to
Version 1.7 (Determination of scapular rotation for static positions in projection angles). The new angles are shown per default in the plot sheets. The old cardan bases ones are still available.
-
Upperlimb 0.926 - 2018-08
Added
Changed
Upperlimb models upgraded to Version 1.6
The Adjunct SHR curves shown in the plot sheet hat discontinous curves typiscally includning short separate parts for small humeral elevation angles. This is not wrong but not wanted. The model ist changed to determine a better startpoint. The SHR (adjunct) curves now starts at the point where scapularhumeral and scapulathoracal angles comes over a threshold of 2 degrees and monoton grows. This changed model works only together with the fixed issues in the implementation of the <Phase>-Element.
R/LSHRAdjunct has based on Thorax_ISB. Now it is based on Thorax_HDCal which is more consistently.
Removed
Fixed
Upperlimb 0.925 - 2018-07
Added
Changed
Removed
The context menu of the nodes in the “Data”-view have included actions, which are not needed. The child-nodes representing d3d-files now do not allow cut, copy, paste, delete and rename. Instead these actions are useful for the raw-data files, e.g. c3d-files. All nodes now include only useful actions.
Fixed
Sometimes the tree view update of the processed d3d-file corrupts. During processing a session, the the UI reaction can be slow and it can happen, that undesired mouse actions invokes a rename process. Internal node names of d3d-files depend on the file name. That´s why renaming during processing a session can corrupt the file. If this happens, the user can see that nodes names change to a name with an inserted “.c3d” string. This bug is fixed by elimination of the rename action in the context menu of the d3d-nodes.
If the plot sheet is switched from singles trials to meanStd (action in the toolbar) and not for all plots all timeseries are available you get an error message that mean-std is not possible and the toolbar action switch “meanstd” is automatically unchecked if you close the modal warning message. But the single trials are not shown again. Now this is fixed and the single trials are automatically shown again after closing the warning dialog.
Some export routines has wrongly written only one time frame, if only matrix 3×3 timeseries should be exported. Fixed by a better timeserie length estimation for generic data objects which does not know anything about timeseries.
Usage of adjunct rotation failes, if the attribute phase is used during setting the values to NaN before the given phase starts.
If a session folder contains “_” characters output d3d-files are not shown in the ouput view of the Data Explorer.
Future
At the preset, I have started to make the usage of the current (already extended) version of the software possible outside the Heidelberg Motionlab. To do this, the documentation must be extended and components which are very specific for the Heidelberg Motionlab must be removed. Based on the experiences made with the application of the software in Schulthess clinics in Zürich - Swizerland and at Hertie institute Tübingen - Germany I move the development of the software into a direction to create a generic tool, which can be used by the customers with minimal support. This is also driven by the usage of the software in the Robot and Human Motion Lab at Baden-Württemberg Cooperative State Universtity Karlsruhe.
If you are interested in starting with upperbody motion analysis you can ask Oliver Rettig for an introduction in measuring and modelling details, in the usage of the Upperlimb software and for adaptions to your specific research interests. Professional support and consulting is available.
It is planed to find a funding, to build a basis version of Upperlimb, open sourced as a whole. An extended version, inclusive professional support, cauld be made commerically available and supported in the future.