The ISB model for the Upper Extremity DirkJan Veeger Carolien van Andel Jaap Harlaar ESMAC Seminar...

Post on 18-Dec-2015

215 views 1 download

Tags:

Transcript of The ISB model for the Upper Extremity DirkJan Veeger Carolien van Andel Jaap Harlaar ESMAC Seminar...

The ISB model for the Upper Extremity

DirkJan Veeger

Carolien van Andel

Jaap Harlaar

ESMAC Seminar “Movement Analysis of the Upper Extremity”

www.internationalshouldergroup.org

Contents

• Introduction– 3D motion description basics– Segment motion - joint motion

• The ISB model– Choices– Procedure– intricacies

• Issues – Euler angles and joint rotation– Reference values– compatibility

Introduction: 3D kinematics basics

• The full description of an object in 3D space requires the coordinates of three points on that object

• Follow the plane. The path of the nose, or the wing tips do not fully describe the plane’s motion..

• One needs at least three pointson the plane to quantitativelydescribe what it does.

QuickTime™ and aYUV420 codec decompressor

are needed to see this picture.

Introduction: 3D kinematics basics

• Orientation definition of a segment requires three markers

• These three markers describe a plane

• In motion analysis these points can be landmarks or technical markers

TS

AI

AA

Introduction: 3D kinematics basics

• From x-y-z global coordinates markers markers we can construct a local coordinate system (or: frame)

• Frame describes its orientation and position (= pose) in global space

TS

AI

AA

Yg

Xg

Zg

• Five steps to define a local frame

– step 1: define the first axis– Step 2: define a support axis

to define the plane orientation

– Step 3: define a second axis perpendicular to the plane

– Step 4: orthogonize your system: calculate the axis in the plane perpendicular to the first two

– Step 5: construct the orientation matrix

TS

AI

AA z

z u =AA − TS

AA − TS

• Five steps to define a local frame

– step 1: define the first axis– Step 2: define a support axis

to define the plane orientation

– Step 3: define a second axis perpendicular to the plane

– Step 4: orthogonize your system: calculate the axis in the plane perpendicular to the first two

– Step 5: construct the orientation matrix

TS

AI

AA Z

Ytemp

z u =AA − TS

AA − TS

y temp =AA − AI

AA − AI

• Five steps to define a local frame

– step 1: define the first axis– Step 2: define a support axis

to define the plane orientation

– Step 3: define a second axis perpendicular to the plane

– Step 4: orthogonize your system: calculate the axis in the plane perpendicular to the first two

– Step 5: construct the orientation matrix

TS

AI

AA

Xs

Zs

Ytemp

z u =AA − TS

AA − TS

y temp =AA − AI

AA − AI

x = y temp × z u, x u =x

x

• Five steps to define a local frame

– step 1: define the first axis– Step 2: define a support axis

to define the plane orientation

– Step 3: define a second axis perpendicular to the plane

– Step 4: orthogonize your system: calculate the axis in the plane perpendicular to the first two

– Step 5: construct the orientation matrix

TS

AI

AA

Ys

Xs

Zs

z u =AA − TS

AA − TS

y temp =AA − AI

AA − AI

x = y temp × z u, x u =x

x

y = z × x , y u =y

y

• Five steps to define a local frame

– step 1: define the first axis– Step 2: define a support axis

to define the plane orientation

– Step 3: define a second axis perpendicular to the plane

– Step 4: orthogonize your system: calculate the axis in the plane perpendicular to the first two

– Step 5: construct the orientation matrix = all three axes / direction vectors

TS

AI

AA

Ys

Xs

Zs

z u =AA − TS

AA − TS

y temp =AA − AI

AA − AI

x = y temp × z u, x u =x

x

y = z × x , y u =y

y

R = x u y u z u[ ]

• The resulting 3x3 matrix describes the orientation of a segment in the global system

• The matrix contains the three direction vectors,

• Each direction vector defines the angle of that axis with the three axes of the global coordinate system

TS

AI

AA

Rscapula =

cos(x, X) cos(y, X) cos(z,X)

cos(x,Y ) cos(y,Y ) cos(z,Y )

cos(x,Z) cos(y,Z) cos(z,Z)

⎢ ⎢ ⎢

⎥ ⎥ ⎥

P scapula = AAglobal + Rscapula ⋅ x local =

with

det(Rscapula ) =1

AAglobal = Origin scapula frame

• The segment orientations can also be expressed relative to each other :– Joint orientation matrix

Relbow = RhumerusT ∗R forearm

c 0 s0 1 0-s 0 c

c -s 0s c 00 0 1

1 0 00 c -s0 s c

Decomposition of a matrix:vector rotation basics

• Rotation matrices can be used to rotate a point to any given position in a plane over a specified angle: (Rz), (Ry) or (Rx)

• The transpose of these matrices rotate the axes of a coordinate system towards a given vector (which is a rotation - for Rz etc.)

• The segment-, or joint orientation matrix can be seen as built up from three rotations– This can be any order of rotations: x-y-z, y-z-y etc.

• Decomposition is the extraction of these three rotations from the orientation matrix– What order is a matter of choice, but:– Each different order yields different results

Decomposition of a matrix:vector rotation basics

Decomposition of a joint orientation matrix

• Choose meaningful axes to rotate around...– Flexion-extension - ab/adduction - axial rotation– Plane of elevation - elevation - axial rotation– ??

• Standard protocol necessary!

QuickTime™ en eenTIFF (ongecomprimeerd)-decompressor

zijn vereist om deze afbeelding weer te geven.

[30,120,45]

180

0

90

180

90

30

60

30 60 120 150

120

150

North Pole

South Pole

45

let : Rx =

1 0 0

0 cosα −sinα

0 sinα cosα

⎢ ⎢ ⎢

⎥ ⎥ ⎥,Ry =

cosβ 0 sinβ

0 1 0

−sinβ 0 cosβ

⎢ ⎢ ⎢

⎥ ⎥ ⎥,Rz =

cosγ −sinγ 0

sinγ cosγ 0

0 0 1

⎢ ⎢ ⎢

⎥ ⎥ ⎥

Rzxy =

r11 r12 r13

r21 r22 r23

r31 r32 r33

⎢ ⎢ ⎢

⎥ ⎥ ⎥= Rz ⋅ I( ) ⋅Rx( ) ⋅Ry( ) = Rzg ⋅Rxl ⋅Ryl

=

cosγ cosβ − sinγ sinα sinβ −sinγ cosα cosγ sinβ + sinγ sinα cosβ

sinγ cosβ + cosγ sinα sinβ cosγ cosα sinγ sinβ − cosγ sinα cosβ

−cosα sinβ sinα cosα cosβ

⎢ ⎢ ⎢

⎥ ⎥ ⎥

Decomposition example (see Capozzo, 2005)

This value in the orientation matrix can be used to calculate , the

rotation around the x-axis.

These values can be used to calculate

, the rotation around the z-axis

• Definition of local coordinate systems– Landmarks – Axis directions

• Definition of decomposition orders– Full text: see Wu et al, 2005

• Now: example humerus– Landmarks– Decomposition order

ISB Upper extremity model: choices

• ISB choice: local frames based on anatomical landmarks

ISB Upper extremity model: procedure

Procedure sensitive to landmark estimation errors

– Local humerus frame defined on three landmarks:

• EM, EL and GH

– GH has to be estimated• From kinematics (Helical axes or sphere

fit)• based on regression (Meskers et al. 1998)

• Alternative proximal marker in fixed position

– Long axis defined first, followed by axis perpendicular to plane

• Alternative procedure:– Use GH, EL, EM and forarm

markers

• Forearm used for definition of plane– Dependent on elbow angle: ISB

suggests 90° flexion and 90° pronation as reference position

• Long axis defined first, followed by axis perpendicular to plane

ISB Upper extremity model: procedure

[30,120,45]

180

0

90

180

90

30

60

30 60 120 150

120

150

North Pole

South Pole

45

• Proposed decomposition order:– Plane of elevation– Elevation– Axial rotation

• Gimbal lock when Plane of elevation is 0°, or 180°

• Applicable for thoracohumeral and glenohumeral motion

• “Comply or Explain”

ISB Upper extremity model: procedure

• Landmarks on the scapula can not directly be measured!

ISB Upper extremity model: intricacies

QuickTime™ and aYUV420 codec decompressorare needed to see this picture.

• Landmarks on the scapula can not directly be measured!– Use scapula locator

• (quasi static)

– Use markers on acromion• Reliability above 100° elevation?

– Estimate from thorax and arm orientation

• Tricky in patients..

ISB Upper extremity model: intricacies

Scapula locator

• Not unique to the ISB UX approach, but:– Model assumes that local coordinate systems are

aligned: no reference position• In full extension, the long axes of the arm might not be

exactly aligned: leads to variations in the second rotation.• These variations are NOT elbow abduction.... Or change in

carrying angle

ISB Upper extremity model: intricacies

• Not unique to the ISB UX approach, but:

– Upper extremities have large axial rotations and:• Landmarks / sensors sensitive to soft tissue deformation in axial

rotation• Local coordinate definition very sensitive to relative positions of

landmarks during calibration (= definition of local coordinate systems)

– Advice: always measure a separate reference position, preferably 0° arm elevation, 90° arm axial rotation, 90° flexion and 90° pronation

ISB Upper extremity model: intricacies

– ISB model is based on anatomical frames and not functional axes

– Euler angles and joint rotations are not the same:

• Elbow motion = forearm segment relative to arm segment

• Decomposition yields three Euler angles, but NOT actual elbow joint motion!

• The second rotation: ab-adduction is due to ‘mis’alignment, but:

– The Euler angles DO describe relative segment motion

• For ‘real’ joint motion (flexion, pro-supination), use other axes, or fit a kinematic model

ISB Upper extremity model: issuesy-axis arm

y-axis forearm

z-axis arm

– Compatibility: dependent on all steps of the procedure

• Landmark choice and definition• Definition order of local segment axes• Decomposition order of orientation matrix

– Comply or Explain!

ISB Upper extremity model: issues

Summary

• The ISB protocol is based on anatomical frames– Other options possible, but not interchangeable

• The ISB protocol gives a prescribed definition order for local frame axes

– Other options possible, but not interchangeable

• The ISB protocol defines the decomposition order for segment- and joint orientation matrices / frames

– Other options possible, but not interchangeable

• ISB protocol is not perfect, but still seems to be the basis for UE motion analyses