The Upperlimb Software is a full featured modelling software with the focus on upper extremity kinematic modelling. Lots of different models are implemented in the Heidelberg gaitlab and can be combined or adapted. A typically application has its specific needs and existing models have to be adapted. There are two main modelling approaches, which correspond to three different models, you can start with: 1. The HUX model, 2. an implementation of the recommendations of the ISB and 3. a combination of both.
The Upperlimb Software Version 1 was developed to make a specific upper limb protocol available for clinical applications: The so called Heidelberg Upper extremity measurement procedure (HUX).
It is focussed on practicability. Thats why only a small set of markers is used and joint angles are defined a way that they correspond best with angles typically used by physiotherapists and orthopaedics.
The details of the original model are described here:
Rettig O, Fradet L, Kasten P, Raiss P, Wolf SI. A new kinematic model of the upper extremity based on functional joint parameter determination for shoulder and elbow. Gait Posture. 2009 Nov;30(4):469-76. doi: 10.1016/j.gaitpost.2009.07.111. Epub 2009 Aug 3.
[PMID: 19651514] [DOI: 10.1016/j.gaitpost.2009.07.111]
The angles to describe shoulder girdle movement are described here:
Rettig O, Krautwurst B, Maier MW, Wolf SI. Definition of anatomical zero positions for assessing shoulder pose with 3D motion capture during bilateral abduction of the arms. BMC Musculoskelet Disord. 2015 Dec 9;16:383. doi: 10.1186/s12891-015-0840-7.
[PMID: 26646907] [PMCID: 4673792] [DOI: 10.1186/s12891-015-0840-7]
Shoulder internal/external rotation is described by a specific angle definition, called conjunct rotation as described here:
Wolf SI, Fradet L, Rettig O. Conjunct rotation: Codman's paradox revisited. Med Biol Eng Comput. 2009 May;47(5):551-6. doi: 10.1007/s11517-009-0484-6. Epub 2009 Apr 25.
[PMID: 19396487] [DOI: 10.1007/s11517-009-0484-6]
Name | Position | Description | Segment |
---|---|---|---|
CLAV | upperbody | ||
STRN | upperbody | ||
T10 | This position is used for many years in the Heidelberg Gaitlab instead of T8. There is some literature about which of the two positions is better but in practice it looks like it makes not difference. | upperbody | |
C7 | upperbody | ||
R/LSHO | Left and right acromion head. | Shoulder girdle | |
R/LHUMS | Left and right humerus. | Humerus | |
R/LELB, R/LELBW | Left and right twin marker, placed distal to the elbow. | R/LELBW is the marker near the lateral epicondyle; for the hanging arm it is the one in front. Typically the leverarm to the R/LELBW marker is longer than for the R/LELB marker (near medial epicondyle). | Forearm |
R/RAD | Left and right radial epicondyle. | Forearm | |
R/ULN | Left and right ulnar epicondyle. | Forearm |
The following sheet shows some repetitions of an arm abduction movement. You can see the gimbal-lock problem in the globe description of int/ext shoulder rotation and how this can be solved by the conjunct rotation definition in the plot above.
The model includes four rigid segments represent the kinematic model of the upper limb:
Five joints are analyzed:
The joint attitudes are described by the following angles:
One specifity of the HUX model is to calculate these angles in serveral quatities. So you you can use the ones, which best fit to the application (face validity). Escpecially calculation of adjunct and conjunct rotation angles, to describe shoulder internal/external rotation, is very useful.
The extended HUX model defines the longitudinal axis of the trunk by including shoulder and pelvis markers:
CLAV - (RSHO + LSHO)*0.25 - C7*0.5
This makes the definition more robust against subject specific differences in the trunk shape, which often better fits to the view with our own eys.
The trunk orientation is determined as two projection angles, which describes the orientation of the trunks longitudinal axis with respect to its orientation in an static calibration trial.
Name | Angle type | Reference | Description |
---|---|---|---|
R/LTrunkObliquityHDCal | Projection | Ant/post thorax axis in a static calibration trial | The angle of the longitudinal axis with respect to its orientation in a static calibration trial. |
R/LTrunkTiltHDCal | Projection | Med/Lat thorax axis in a static calibration trial | The angle of the longitudinal axis with respect to its orientation in a static calibration trial. |
The recommendations of the international shoulder group are based on marker clusters and the so called CAST method.
With a specific device (pointer) anatomical positions e.g prominences of the scalpula are tracked in a static positions only and determined in coordinates of a marker cluster. Details about the usage of a pointer you can find in the section "Working with a pointer device" in the Nimue Platform documentation.
Additional to the HUX measurement procedure this makes the scapula movement available. The joint attitudes are described by cardan angles:
A detailed description of the angles (also several variants are available) is published here:
Wu G, van der Helm FCT, Veeger HEJD, Makhsous M, Van Roy P, Anglin C, Nagels J, Karduna AR, McQuade K, Wang X, Werner FW, Buchholz B, International Society of Biomechanics. ISB recommendation on definitions of joint coordinate systems of various joints for the reporting of human joint motion--Part II: shoulder, elbow, wrist and hand. J Biomech. 2005 May;38(5):981-992. doi: 10.1016/j.jbiomech.2004.05.042.
[PMID: 15844264] [DOI: 10.1016/j.jbiomech.2004.05.042]
The following table shows a list of the recommended tip positions to define anatomical coordinate systems for the thorax, scapulae, humeri and forearms.
Name | Position | Segment |
---|---|---|
T8 | Thorax | |
C7 | Thorax | |
PX | Processus Xiphoideus (xiphoid process), most caudal point on the sternum | Thorax |
IJ | Incisura Jugularis | Thorax |
TS | Trigonum Spinae Scapulae (root of the spine), the midpoint of the triangular surface on the medial border of the scapula in line with the scapular spine | Scapula |
AI | Angulus Inferior (inferior angle), most caudal point of the scapula | Scapula |
AA | Angulus Acromialis (acromial angle), most laterodorsal point of the scapula | Scapula |
PC | Most ventral point of processus coracoideus | Scapula |
SC | Most ventral point on the sternoclavicular joint | Clavicle |
AC | Most dorsal point on the acromioclavicular joint (shared with the scapula) | Clavicle, Scapula |
EL | Most caudal point on lateral epicondyle | Humerus |
EM | Most caudal point on medial epicondyle | Humerus |
RS | Most caudal–lateral point on the radial styloid | Forearm |
US | Most caudal–medial point on the ulnar styloid | Forearm |
The Tip position AC is typically not used. Note that because of the use of AA instead of AC to define the main plane in the definition of the anatomical coordinate system of the scapula, this plane is not the same as the visual plane of the scapula bone.
As an example the following sheet describes the shoulder movement during arm abduction (in frontal plane). The third line shows the scapula angels as recommended by the ISB. The forth line show xy-plots: The scapula angles over the humerus/shoulder elevation.
It is commonly assumed that the scapula angles can be determined well up to 90° of humerus elevation. So better show the plots only up to 90 degrees of humerus elevation, like in the following sheet:
The first line shows time-normalized data, the second xy-plots and the third phase-plots.
For this RoM the maximum error should be less than 8 degrees in all cases. That is higher than for the other upper extremity joint angles but it sounds worse than it is because typical daily life arm movements have variabilities in the same order. There are several publication about accuracy, e.g.:
Duprey S, Billuart F, Sah S, Ohl X, Robert T, Skalli W, Wang X. Three-Dimensional Rotations of the Scapula During Arm Abduction: Evaluation of the Acromion Marker Cluster Method in Comparison With a Model-Based Approach Using Biplanar Radiograph Images. J Appl Biomech. 2015 Oct;31(5):396-402. doi: 10.1123/jab.2014-0244. Epub 2015 Jun 18.
[PMID: 26099159] [DOI: 10.1123/jab.2014-0244]
Lempereur M, Brochard S, Leboeuf F, Rémy-Néris O. Validity and reliability of 3D marker based scapular motion analysis: a systematic review. J Biomech. 2014 Jul 18;47(10):2219-30. doi: 10.1016/j.jbiomech.2014.04.028. Epub 2014 May 1.
[PMID: 24856913] [DOI: 10.1016/j.jbiomech.2014.04.028]
Warner MB, Chappell PH, Stokes MJ. Measuring scapular kinematics during arm lowering using the acromion marker cluster. Hum Mov Sci. 2012 Apr;31(2):386-96. doi: 10.1016/j.humov.2011.07.004. Epub 2011 Aug 27.
[PMID: 21875756] [DOI: 10.1016/j.humov.2011.07.004]
van Andel C, van Hutten K, Eversdijk M, Veeger D, Harlaar J. Recording scapular motion using an acromion marker cluster. Gait Posture. 2009 Jan;29(1):123-8. doi: 10.1016/j.gaitpost.2008.07.012. Epub 2008 Sep 23.
[PMID: 18815043] [DOI: 10.1016/j.gaitpost.2008.07.012]
Name | Angle type | Reference | Description |
---|---|---|---|
R/LShoulderElevationPlaneH2 | Cardan | thorax HD | Plane of elevation of the humerus. Definition by ISB. |
R/LShoulderElevationH2 | Cardan | thorax HD | Humerus elevation. Definition by ISB. |
R/LShoulderRotationH2 | Cardan | thorax HD | Humerus axial rotation, endo- or internal- rotation (positive) and exo- or external-rotation (negative), defintion by ISB |
R/LClavProRetraction | Cardan | thorax ISB | Clavicula pro-/retraction angle |
R/LClavDepressionElevation | Cardan | thorax ISB | Clavicula depression/elevation angle |
R/LScapProRetractionHDCal | Cardan | thorax HD | Scapula pro-/retraction |
R/LScapRotationHDCal | Cardan | thorax HD | Scapula med-/lateral rotation |
R/LScapTiltingHDCal | Cardan | thorax HD | Scapula post-/ant tilt |
R/LScapProRetraction | Cardan | thorax ISB | Scapula pro-/retraction |
R/LScapRotation | Cardan | thorax ISB | Scapula med-/lateral rotation |
R/LScapTilting | Cardan | thorax ISB | Scapula post-/ant tilt |
If a movement is executed mainly in one plane, angles which are defined in this plane by projection into this plane are more intuitive. Angles defined by projection of the humerus and shoulder girdle into the frontal plane defined by the thorax are then addable: Scapula thoracal angle + scapula humeral angle = humero thoracal angle.
Name | Angle type | Reference | Description |
---|---|---|---|
R/LGlenohumeralAbdAddProjAngle | Projection | thorax HD | Scapulo humeral add/abd in the frontal plane |
R/LScapRotationPRojAngle | Projection | thorax HD | Thoraco scapula rotation in the frontal plane |
R/LShoulderAbdAddHDCalProjAngle | Projection | thorax HD | Thoraco humeral add/abd in the frontal plane |
In the ISB recommendations the longitudinal axis of the upper body is defined without usage of the pelvis position:
(IJ + C7)*0.5 - (T8 + PX)*0.5
For many applications this axis does not fit well with the view with our own eys. This can be explained by the fact that the upper body shape can be very different. As an altnernative there is a definition of the upper body axis which is based on additionally pelvis markers in a static calibration trial.
(IJ + C7*3.0)*0.25 - (LASI + RASI + SACR)/3.0
In principle both methods allow to determine an orientation of the upper body with respect to the pelvis.
A combined markerset to run the HUX and the cluster and Tip pointer based model (ISB recommendations), especially to determine scapula movements, is available out of the box.
Name | Position | Description | Segment |
---|---|---|---|
CLAV | interclavicular ligament | upperbody | |
STRN | xiphoid process | upperbody | |
T10 | This position is used for many years in the Heidelberg Gaitlab instead of T8. There is some literature about which of the two positions is better but in practice it looks like it makes not difference. | upperbody | |
C7 | Prominent cervical vertrebra 7 | upperbody | |
SACR | Needed only for static calibration in a standing position | pelvis | |
LASI | left asis | Needed only for static calibration in a standing position. | pelvis |
RASI | right asis | Needed only for static calibration in a standing position | pelvis |
The single markers placed on the acromion head (R/LSHO) in the original HUX model
1. allow a fallback procedure, if the functional method to determine the glenohumeral joint centers fails. They can be substituted by pointing these positions in a static trial.
2. are used in the HUX specific definition of the thorax longitudinal axis, which is defined as
ThoraxC - PELC.
With R/LSHO tip positions or markers a point ThoraxC is determined as follow:
ThoraxC = (LSHO + RSHO)*0.25 + C7 * 0.5
Without RSHO/LSHO:
ThoraxC = (CLAV + C7*3.0) * 0.25
In practice there is no much difference. The definition with R/LSHO maybe is a bit more robust, because the distance of the markers is bigger and a misplacement of CLAV or C7 has less influence on the definition of the longitudinal axis. On the other side, it is easy to place these markers accurate enough.
3. The R/LSHO marker positions are used to determine an offset angle for the shoulder girdle elevation. If these position are not available the offset is estimated by an anthropometric mean value, scaled with shoulder width.
In the combined model you can use the complete set of tip positions as described for the ISB model or you can use the following subset to determine only the scapula antomical coordinate system based on the Tip positions.
Name | Position | Segment |
---|---|---|
TS | Trigonum Spinae Scapulae (root of the spine), the midpoint of the triangular surface on the medial border of the scapula in line with the scapular spine | Scapula |
AI | Angulus Inferior (inferior angle), most caudal point of the scapula | Scapula |
AA | Angulus Acromialis (acromial angle), most laterodorsal point of the scapula | Scapula |
The functionalal calibration method is than used to determine the elbow joint axis and the glenohumeral joint centers. If there is not too much laxicity in the elbow, the elbow joint axis can be better estimated by functional calibration as described in the HUX model.
In the ISB recommendation the Tip position T8 is used. If complete compatibility to the ISB recommendations is not needed you can resign on this position and use the marker position of T10 instead.
The tip positions on the clavicle are only needed, if you want to follow the original ISB recommendations to determine the clavicle orientation. Keep in mind that this procedure allows to determine only two from the three degrees of freedom.
The HUX model calculates the orientation of the shoulder girdle as a whole, also only in two dimensions. Its our opinion that this is more useful, because you can follow these angles with your own eyes easier than for the clavicles and the difference between the two definitions of angles is mainly an offset angle.
The elbow flexion joint axis and the glenohumeral joint center are determined by functional calibration in the default version of the “combined” model. There are no recommentations from the ISB about details of functional calibration. Serveral mathematical methods exist and can be used in different ways. Big influence has 1) the kind of used calibration movements, 2) which parts of these movements are used to estimate the joint parameters and 3) how the technical coordinate systems are defined, in which the joint parameters are defined.
All of these details can be changed easily in the Upperlimb model files. The default implementations have the following specifities:
1. Determination of the elbow joint centers:
2. Determination of the shoulder joint centers:
Keep in mind, that different to a simple predictional method a functional calibration can fail and you can get a totally wrong joint center. To recognize, that a functional calibration is failed, you have carefully to look into the log files.
The following log messages fragment shows you five iteration steps of the bias correction of a joint center estimation following [Gamage 2002]. You can see that this interative correction do not converge.
[INFO] (57) LGSGamge 2002 SVD: Rotation Center ohne Bias-Compensation: (60.76693325312189, -25.894798036334446, 60.423781556794616) [INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 1 Iterationen: (-57.3980918658107, -91.1250314558144, -20.858904273414232) [INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 2 Iterationen: (-72.5833864175126, -102.85950568583847, -33.44581338726128) [INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 3 Iterationen: (-84.07771649140628, -109.7181035045771, -41.66369346685163) [INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 4 Iterationen: (-92.95746570013212, -114.92644324606557, -47.96427069100709) [INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 5 Iterationen: (-100.00711917673523, -119.05556050171771, -52.96368029919215)
Compare it with a working case:
[INFO] (57) LGSGamge 2002 SVD: Rotation Center ohne Bias-Compensation: (51.85421210044921, -32.47977057461504, 92.10082187401123) [INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 1 Iterationen: (46.955873753377865, -39.268110807802714, 74.30109865228015) [INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 2 Iterationen: (46.33405115922165, -40.138869668498536, 72.15844069072027) [INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 3 Iterationen: (46.120939656264156, -40.435632487848665, 71.39881899028889) [INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 4 Iterationen: (46.04002626088268, -40.548197183621696, 71.10984825987104) [INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 5 Iterationen: (46.008483182048586, -40.59207317192517, 70.99716045271347)
Not in all cases these logging information are sufficient to recognize problems with the joint center determination. Thatś why you should always look at the determined joint centers in a 3d view.
The default implementation to determine the shoulder joint centers is based on autodetection of the phases to use:
<DirectedCosinAngle name="RHumEle" includes="dynamic_calibrate_right_shoulder" SecondVector="-LongitudinalAxisHDCal" FirstVector="normalize(RHUMS-RSCAO)"/> <TDP name="RHumEleAngleMin" includes="dynamic_calibrate_right_shoulder" process="post" calibrateIncludes="dynamic_calibrate_right_shoulder" method="min">RHumEleAngle</TDP> <Phase name="REle" includes="dummy" process="post" calibrateIncludes="dynamic_calibrate_right_shoulder">(RHumEleAngle < (FuncionalTrialAbdukROM + 10.0 + RHumEleAngleMin)) && (RHumEleAngle > (10.0 + RHumEleAngleMin))</Phase>
Sometimes this automatismus fails. If it fails in some cases you can use carfully set events by hand instead. If you want to do this you can commend-out the above declaration and use an event-based configuration instead:
<Phase name="REle" startEvent="RHS" endEvent="RTO" process="post" calibrateIncludes="dynamic_calibrate_right_shoulder" includes="dummy"/>
For the left side there are equivalent xml-fragments available in the model.
Convergation of the functional method is no garantee to get a good estimation. Even if the method converges it is possible that you get bad estimations. In these cases typically the glenohumeral joint centers are shiftet to medial and anterior for one or both sides of a subject.
In the original HUX model the trunk orientation is determined as two projection angles, which describes the orientation of the trunks longitudinal axis with respect to its orientation in an static calibration trial.
In the combined model as an alternative these projection angles are determined equivalent to the thorax longitudinal and medio/lateral axes of the ISB recommendations:
Name | Angle type | Reference | Description |
---|---|---|---|
R/LTrunkObliquity | Projection | Ant/post thorax axis in a static calibration trial | The angle of the longitudinal axis with respect to its orientation in a static calibration trial. |
R/LTrunkTilt | Projection | Med/Lat thorax axis in a static calibration trial | The angle of the longitudinal axis with respect to its orientation in a static calibration trial. |
Here are the Nimue platform based project files for the combined model. How to clone a github repository is explained here.
File name | Default | Description | Latest version |
---|---|---|---|
UEGeneral2+Cluster_without-SHO-markers_reduced.xml | X | T10 instead of T8; No scapula SC, AC, PC markers; No humerus EL and EM markers; no R/LSHO (fallback method, upper body longitudinal axis, etc.); additional static locator trials | V1.7 |
UEGeneral_without-pelvis-markers-HUMS-only.xml | without Pelvis markers and HUMS only | backported from V1.7 UEGeneral2+Cluster_without-SHO-markers_reduced.xml, not tested | |
UEGeneral2+Cluster_without_SHO-markers.xml | without SHO markers | backported from V1.7 UEGeneral2+Cluster_without-SHO-markers_reduced.xml, not tested |
File name | Calc group name | Description |
---|---|---|
Output_reduced_static.xml | static_calibrate_shoulder2 | Output for static calibration trial, used for transform the shoulder joint center into the cluster coordinate systems. |
Output_reduced_abduk.xml | ShoulderAbdAdd | Output for the shoulder abd/adduction (in frontal plane) movement trials. |
Output_reduced_anteretro.xml | ShoulderAnteRetro | Output for shoulder ante/retroversion (in sagital plane) movement trials. |
Output_reduced_Schuerzengriff.xml | Schuerzengriff | Output for “Schürzengriff” movement trials. |
File name | Calc group name | Description |
---|---|---|
Abduk_Hux+Cluster_Shoulder.xml | ShoulderAbdAdd | Used for bilateral shoulder abduction and additonal two static positions. |
Abduk_Hux+Cluster_Shoulder2.xml | ShoulderAbdAdd | Used for bilateral shoulder abduction and only the second static positions. Use this def file instead the first one as a workaround for trials which include only the second static positions. |
Abduk_Hux+Cluster_Shoulder_without_static.xml | ShoulderAbdAdd | Used for bilateral shoulder abduction without static positions. Use this def file instead the first one as a workaround for trials, which does not include any static positions. |
Flexion_Hux+Cluster_Shoulder.xml | ShoulderAnteRetro | Used for bilateral shoulder ante/retroversion and additional two static positions. |
The default configuration of this project is made for usage with data collected by Vicon Workstation or Vicon Nexus. It assumes that the following “Eclipse”-entries are set as shown in the following table.
Name | Used values | Deprecated values | Description |
---|---|---|---|
TYPE | Static_Cal, Static, EllbowFlex/Ext, ShoulderAnte/Retro, ShoulderAbd/Add, Dynamic, Proprio, proprio | ||
CLASS | This property was originally used in the Heidelberg Motionlab. Please use TYPE instead. | ||
ACTIVITY | Scapula TS, Scapula AI, Scapula AA, Scapula PC, Humerus EL, Humerus EM, Forearm RS, Forearm US | All of the values can haven an suffix “Pos1” or “Pos2” … (old deprecated: “Position 1” or “Position 2” …), if positions are tipped for humerus elevation angles > 90 degrees. | |
POSITION | This property was originally used in the Heidelberg Motionlab. Please use ACTIVITY instead. | ||
SIDE | Side R, Side L, Both, bds | rechts, links | If a motion or position is side depenended in the meaning it can be done with the right side and the left or with both sides you can define the side. |
DESCRIPTION | Abduk, Ante-/Retro, Elevation/Depression, Protraktion/Retraktion ARO/IRO-0, ARO/IRO-90Abduk, ARO/IRO-90Ante | Schuerzengriff, Kaemmen, Armkreisen, Buch, WaschenAchsel, | |
NOTES | This property was originally used in the Heidelberg Motionlab. Please use DESCRIPTION instead. |
For Vicon Nexus users these properties are available per default. No Vicon Nexus Eclipse-properties configuration is needed any more, for its usage. You only have to set the values for each trial as configured in the projects “job configuration”.
Vicon Nexus creates for each trial a file with the suffix “.enf” which includes the above properties. Have a look at the following example content of such an enf-file:
[Node Information] TYPE=TRIAL NAME=sitzen_16 [TRIAL_INFO] DESCRIPTION=AA_semi_re NOTES= STAGES= TYPE=Dynamic GENDER= SIDE=Side R DIAGNOSIS= INJURY= PATHOLOGY= ACTIVITY=Scapula AA Position 1 CREATIONDATEANDTIME=2017,3,1,16,12,49 FP4=Auto FP3=Auto FP2=Auto FP1=Auto SUBJECTS=Matteo RAWDATALOADSTARTFRAME=0 RAWDATALOADENDFRAME=0 RAWDATAEXCLUDEFILES=
The deprecated values are formaly used in the Heidelberg Motionlab and should not be used any more. They are only listed to be remembered, if you find these values in older sessions collected in the Heidelberg Motionlab.
You can change the usage of the properties as you want. All is defined in the “job configuration”. Have a look at the Nimue platform Process documentation to understand how to define groups of trials and how to process them.
In general, for arbitrary movements the following cycles RCycle and LCycle are determined based on the events RTS/LTS defining the startposition of a movement and RTO/LTO defining the end position of the movement. These events must be set, e.g. for the humeral abduction trials, so that the model can determine left and right phases. Between the events one or more movement cycles can be included. If the phases R/LCycle are used the events should define a single cycle. If the autodetection of R/LElePhase is used than the events can define a movement part, which include more than one cycle
Name | Internal use only | Type | Description |
---|---|---|---|
RCycle | X | Phase | Starts at the position of the event RHS and ends at the position of the event RTO |
LCycle | X | Phase | Starts at the position of teh event LHS end ends at the position of the event LTO |
Idependant from these events and phases the model determines the following phases for the dynamical calibration trials to estimate the shoulder joint centers:
Name | Type | Internal use only | Description |
---|---|---|---|
RAbduk | Phase | X | Used for functional glenohumeral joint center estimation for the right side. |
LAbduk | Phase | X | Used for functional glenohumeral joint center estimation for the left side. |
The calculation is determined from a first estimation of the humeral elevation angle.
The following phases are based again on the events RTS/LTS and RTO/LTO.
Name | Type | Internal use only | Description |
---|---|---|---|
REleStartPhase | Phase | X | Used for determination of RElePhase |
LEleStartPhase | Phase | X | Used for determination of RElePhase |
REleEndPhase | Phase | X | Used for determination of RElePhase |
LEleEndPhase | Phase | X | Used for determination of RElePhase |
RElePhase | Phase | Shoulder elevation to a maximum of 90 degree, for the right side. | |
LElePhase | Phase | Shoulder elevation to a maximum of 90 degree, for the leftside. |
R/LEleStartPhase, R/LEleEndPhase are used only to determine R/LElePhase. To determine R/LElePhase additional events are defined:
Name | Type | Internal use only | Description |
---|---|---|---|
REleStart | Event | X | Used for determination of RElePhase |
LEleStart | Event | X | Used for determination of LElePhase |
REleEnd | Event | X | Used for determination of RElePhase |
LEleEnd | Event | X | Used for determination of LElePhase |
R/LElePhase are used especially for plotting upper extremity data. Even if there is more than 90 degree of elevation available the phases ends at 90 degree. It can end before 90 degree, if there is less elevation available.
Based on the constants R/LCycleMaxElevation a minimum range of motion is defined, to detected an elevation phase. The default value for R/LCycleMaxElevation is 60 degree. This results in a minimum RoM of 60+10=70 degree needed to detect an elevation phase. So you can be sure that all detected phases have at minimum 60 degree RoM. Details are described here.
The Scapulohumeral Rhythm (SHR), sometimes also referred to as glenohumeral rhythm is the kinematic interaction between the scapula and the humerus, first published by Codman in the 1930s. This interaction is important for the optimal function of the shoulder.
Typically the SHR is given as the ratio of the glenohumeral abduction angle and the scapula medio-lateral rotation angle during humeral abduction movements (movement mainly in frontal or scapula plane). In many publications, due to technical reasons, the glenohumeral abduction angle is determined from the thoracohumeral abduction angle by subtracting the scapula medio-lateral rotation angle. All of these angles can be defined by cardan sequences or by projection angles.
Lee KW, Kim YI, Kim HY, Yang DS, Lee GS, Choy WS. Three-Dimensional Scapular Kinematics in Patients with Reverse Total Shoulder Arthroplasty during Arm Motion. Clin Orthop Surg. 2016 Sep;8(3):316-24. doi: 10.4055/cios.2016.8.3.316. Epub 2016 Aug 10.
[PMID: 27583116] [PMCID: 4987317] [DOI: 10.4055/cios.2016.8.3.316]
Typically the SHR ratio is presented as a function of the humeral elevation.
In our models the conventional defined SHR ratio values are available based on projection angles.
Name | Type | Reference | Description |
---|---|---|---|
R/LGlenohumeralAbdAddProjAngle | Projection | Scapula corresponding to the ISB recommendations. | The abduction angle between humerus and scapula projected into the frontal plane. |
R/LScapRotationProjAngle | Projection | Thorax coordinate system based on the longitudinal axis definition developed for the Heidelberg upper extremity model | The scapula media-lateral rotation angle against the thorax as defined above. |
R/LScapHumRhythmHDCalProj | Ratio | - | The ratio between the above angles. |
Alternativly, these observables are calculated based on cardan angles:
Name | Type | Reference | Description |
---|---|---|---|
R/LGlenohumeralAbdukAdduk | Cardan | Scapula corresponding to the ISB recommendations. | The abduction angle between humerus and scapula |
R/LScapRotationHDCal | Cardan | Thorax coordinate system based on the longitudinal axis definition developed for the Heidelberg upper extremity model. | The scapula media-lateral rotation angle against the thorax as defined above. |
R/LSHRCardan | Ratio | - | The ratio between the above angles. |
The following sheet shows the SHR ratio values (based on projection angles) in the upper left corner based on the data shown in the diagrams in the third column in the second and third row. The x-axis show the humeral elevation and is determined as an direction cosine angle.
Pay attention: This definition is useful only, if both angles are always bigger than zero. Depending on the defintion of the thorax and due to measurement errors, in practice, it can happen that the scapula thoracal angle can start with negative angles and crosses the zero during the abduction phase. This results in strange SHR ratio value curves. Thisis no bug in the implementation! It is an inappropriate SHR value definition.
Have a look at the following sheet:
The peak in the SHR ratio value in the curve in the upper left corner of the sheet results from a division by zero, because the curve in the second column in the third row starts from negative values and increase up to positive values by crossing the zero value.
In the literature I have'nt seen such curves. The authors typically avoids to show these singularities by starting the curves from x-values after the singularity. That´s one reason for the fact that you never find SHR-curves in the literature starting at zero.
To avoid the singularities, e.g. Walker et. al. 2015 define the SHR as (deltaH - deltaS)/deltaS, where deltaH is the incremental humeral elevation and deltaS is the incremental scapular elevation.
Walker D, Matsuki K, Struk AM, Wright TW, Banks SA. Scapulohumeral rhythm in shoulders with reverse shoulder arthroplasty. J Shoulder Elbow Surg. 2015 Jul;24(7):1129-34. doi: 10.1016/j.jse.2014.11.043. Epub 2015 Jan 13.
[PMID: 25591459] [DOI: 10.1016/j.jse.2014.11.043]
This is a different measure, which results in different numerical values, for the so called SHR ratio but it is robust against angle-offsets. A numerical feature of this definition is, that it can be implemented a way that the measure does not depend on the rotation order of the cardan angles.
An other way to define the SHR ratio is based on so called adjunct rotation angles with the idea to use differential rotations integrated over the real motion path.
The default configuration of the adjunct SHR ratio starts integration at beginning of R/LElePhase than all values are shifted by the minimum value of each timeserie to have only values > 0. After this all values of the angle timeseries in the denominator of the ratio which are smaller than a threshold of 2 degrees are set to NaN. This makes a numerical stable and comparable SHR ratio.
In the default configuration only elevations with range of motion bigger than 70 degree are detected as phase. You change this threshold value in the constants you find in projects constant folder “Constants” in the file constants.properties.
Details of this work are described soon. A publication is in preparation.
Name | Type | Reference | Description |
---|---|---|---|
R/RHumAdjunctRotationAngles | Adjunct rotation | Scapula corresponding to the ISB recommendations. | The abduction angle between humerus and scapula. Integration started with R/LElePhaseAdjunct |
R/LScapAdjunctRotationAngles | Adjunct rotation | Thorax coordinate system based on the longitudinal axis definition developed for the Heidelberg upper extremity model | The scapula media-lateral rotation angle against the thorax as defined above. |
R/LSHRAdjunct | Ratio | - | The ratio between the above angles. |
The used markerset consisted of one skin-mounted marker placed on the proximal ulna and a three-armed rod with one marker at each end of the rod placed palmar in the closed first with one of the rods placed between the third and fourth finger in dorsal direction. With the assumption that the forearm is hold in horizontal position, the model determines a rotation angle, which corresponds to pro-/supination, if there is no motion in other degrees of freedom in the hand (e.g. ularduction).
Here are Nimue platform based project files as a starting point to learn how to model with the “Upperlimb” software. How to clone a github repository is explained here. The model was developed in the Heidelberg Motionlab to analyse inter-limb coupling during diadochokinesis in children with bilateral spastic cerebral palsy. Have a look into the Conference abstract.