                                                   ANZ Notes

Locomotion Analysis with ANZ

Overview
  Purpose
  Design
  Modules/Sections
     Subject Description
     Markers
     Segments
     Joints
     Force Plate
     EMG
     Cycle
     Status
     Export
  Output
     Graphs
     Text
     VIS
  Outline of subsequent talks
     Process/Steps of an analysis
     Sources of data
     Descriptions of theory and use of sections
     Use of graphics
     Examples
     Hands On

Steps of an analysis
  Define the data to be used
  Setup the body layout
  Setup the marker to segment transformations
  Setup the segment parameters
  Setup the force plate layout
  Do the analysis
     markers - segments - joints     joint loads/powers
     forces/emg -
     cycle
     segment parameters
  
  Analyses supported by ANZ

     Stick or Wand based full body gait analysis - OSU & Helen Hayes
       13 segments- 12 actual, 12 joints
       21 markers
       Both force plates or single
       May be used for non gait analyses such as junping, lifting, etc.
       Numerous assumptions included to generate 3d kinematics

     Marker Carrier based full body gait analysis - Modified
     Cleveland Clinic & Mayo
       Two part data analysis- calibration and actual analysis 
       Calibration requires 4 additional markers/leg - Mod.
       CC  (Mayo- 6/leg) + sacral
       13 segments- 12 actual, 12 joints
       12 markers plus 4 carriers with 3 markers each- 24 markers total
       Both force plates or single
       Modified Cleveland Clinic marker set is difficult to
         calibrate (medial markers)
       Mayo marker set will use sagittal triad with
         attachment device- easier to use...
       May be used for non gait analyses such as junping,lifting, dancing, etc.
       More correct 3d kinematics- assumptions regarding
         rigidity & fixed joints only

     Closed kinetic chain exercise- Right leg only
       4 segments, 3 joints
       17 markers- not all used
       Single force plate

     Foot kinematics marker set
       13 markers plus a marker carrier with 3 markers
       5 segments, 5 joints
       Single force plate
       No kinetics

     Force plate alone
       Bertec, Kistler, AMTI- single or together
       Convert signals to loads, calculate center of pressure/gravity, 
       VIS output
     EMG
       Convert signals, filter, rectify, integrate,
       normalize, maximums, threshold
     
Sources of data     (REA)
  Marker trajectories
     Oxford Metrics VICON system and AMASS (.TR3 and .C3D)
     Motion Analysis Corporation EV3D list/re files (.P3D)
     Ohio State University/Boston Children's Gait Lab (.TRU)
  Force/Electrical signals
     Oxford Metrics VICON and AMASS (.FPD and .C3D)
     Motion Analysis Coporation ADS (.ANA)
     Ohio State University AD files
  NOTE:
     Earlier Ohio State University analyses used
     unsynchronized force & motion data. Synchronization was
     done in ANZ. AMASS and EV3D generate synchronized files.
     
Coordinate Systems
  Four groupings of coordinate systems used
     Global or lab coordinate system (GCS)
     Segment related coordinate systems
       Local or segment coordinate system (LCS)
       Technical or measurement coordinate system (TCS)
       Principal inertia coordinate system (PICS)
     Joint related coordinate systems
       Joint coordinate system (JCS)
       Distal segment coordinate system (DCS)
       Proximal segment coordinate system (PCS)
     Force plate coordinate system (FPCS)
     
  
Subject Description (PAT or SUB)
  Record keeping data
       Name                          (NAM)
       Comment regarding data set    (COM)
  Information needed for mass/inertia estimation
     Sex            (SEX #)
     Age            (AGE #)
  Information needed for mass/inertia estimation and joint
  kinetics normalization
     Height         (HEI # {[IN] or M} )
     Weight         (WEI # {[LBS] or KG} )


Markers   (MRK)
  Interpolate              (INT)
     Polynomial order                   (/POL)
     Extrapolation polynomial order     (/EXT)
  Adjust                   (ADJ)
  Smooth                   (SMO)
     Velocity and Acceleration     (/VAA)
     Time convolution filter       (/TCV)    (Standard TCV options)
     Generalized cross validation filter     (/GCV) (Standard GCV options)
  Filter                   (FIL)
     Digital filter                          (Standard digital filter options)
  Regularize               (REG)
     Limit to gait cycle                (/CYC)
     Starting frame number              (/STA=# [1])
     Ending frame number                (/END=# [Numpnt])
     Number of points in new data set   (/PNT=# [50])
     Interpolation polynomial order     (/POL=# [3])
     Pad start and end with extra points(/PAD=# [5])
  Segment Local Position   (SLP)


Filtering
  Common to many parts of ANZ
  Used explicitly as well as implicitly, e.g. derivative calculations
  Most filtering routines can be used interchangably
  Three types available, each having a different mathematical basis
  
  Digital filter
     Hanning window           (/WIN)
     Low frequency cutoff     (/LOW=# Hz [sf/numpnt])
     Low frequency slope      (/LSL=# %/Hz [100])
     High frequency cutoff    (/HIG=# Hz [sf/2] )
     High frequency slope     (/HSL=# %/Hz [100])
     Notch frequency          (/NOT=# Hz [0] )
     Notch width              (/NWI=# Hz [1] )
     Notch frequency slope    (/NSL=# %/Hz [100])
     Blank Ends               (/BLA=# points [yes,10])
     No Blanking of Ends      (/NBL)
  
  Time convolution filter     (/TCV)
     Butterworth filter           [/BUT]
     Chebeyschev                   (/CHE)
     Low frequency cut off         (/LOW=# Hz)
     High frequency cutoff         (/HIG=# Hz)
     Filter order                  (/ORD= [4],8,12,16,20)
  
  Generalized cross validation (/GCV)
     Spline based derivatives      [default]
     Spline order                  (/ORD=3,5,7)
     Manual smoothing mode         (/GSP=#)
     Manual cutoff frequency       (/FRE=# Hz)
     Display automatic statistics  (/STA)
     Display more statistics       (/FST)
     Add noise to input            (/NOI= # % signal range)
  
  Derivatives using TCV or GCV
     Finite difference        (/FDF)
     Spline based             [default for GCV - not available with TCV]
     Resmooth                 (/RSM)
  

Marker Position to Segment Kinematics
  Alignment of segment LCS
     Dynamic - Use only markers in current data
       Stick marker sets - Helen Hayes and OSU
     Static - Special calibration data set
       Marker carriers - Cleveland Clinic and Mayo
  Location of segment ends (joints) in LCS
     Static or Dynamic
  Representation of Segment Position and Orientation
     Rotation representation
       Rotation Matrix
       Euler Angles
       Euler Parameters
       Equivalent Angle Axis
     Combined Position and Orientation representation
       Transformation matrix
       Finite Kinematic Screw
  Frame by frame calculation of segmental kinematics
     Position/Orientation
       Specific combinations of markers
       Rigid body algorithms
     Euler Angles
     Finite Kinematic Screw
     Velocity and Acceleration
     Instantaneous Kinematic Screw
  Specific implementations in ANZ


Segment kinematics commands   (SEG)
  Position            (POS)
     Carrier based marker sets:
       use Spoor-Veldpaus rigid body algorithm (/SPV)
       use Woltring rigid body algorithm       (/WOL)
       dump diagnostics                        (/DIA)
     Stick based marker sets
       check for foot flip error on right      (/CFR)
       check for foot flip error on left       (/CFL)
       check for foot flip error on both sides (/CFB)
       set max angle change for foot flip      (/ATH=# [50])
  
  Euler Angles        (ANG)
     Integrate segment velocity and accel to estimate angle (/INT)
  
  Velocity/Acceleration    (VAA)
     Euler angle based         (/EUL [default])
     Euler parameter based     (/EP)
     Marker derivative based   (/MRK)
       Enforce rigidity        (/RIG)
       Display diagnostics     (/DIA)
     Smooth segment rotation   (/SMO [default])
     Don't smooth seg rotation (/NSM)
     Standard filtering commands for /GCV and /TCV available
  
  Finite Kinematic Screw   (FSC)
     use Waldron's algorithm   (/WAL [default])
     use Woltring's algorithm  (/WOL)
     use screw from GCS to LCS (/ABS [default])
     use screw between frames  (/REL)
  
  Instantaneous Kine Screw (ISC)
  
  Marker diagnostics  (MRK)
     calculate angle between markers    (/ANG)
  
Segment parameters
  Mass and inertia of each segment about principal inertia axes
     Regression equations using body weight & height and
       segment length
     Separate equations for adult male, female, and child
     Presently assumes that principal inertia axes align
       with segment LCS
  Location of segment ends relative to LCS
     With stick based marker sets this occurs at SEG PRM command
     With carrier based marker sets this occurs at MRK SLP command
  Determination of segment outlines for 3D
     With stick based marker sets this occurs at SEG PRM command
     With carrier based marker sets this occurs at MRK SLP command

  ANZ Commands
  Mass & Inertia Parameters   ( SEG PRM )
     Zero out mass & inertia       (/ZMI)
     Zero inertia only             (/ZIN)
     Zero nonsagittal inertia      (/ZNS)
     Averaging start frame         (/STA=# [1])
     Number of averaging frames    (/NUM=# [numfrms])
     Use adult mass/inertia eqtn.  (/ADU)
     Use child mass/inertia eqtn.  (/CHI)
  Body Center of Mass (BCM)
     calculate velocity of center of mass    (/VEL)
  Energy              (ENR)
  Momentum            (MOM)
  Filter              (FIL)
     Works only with POSition and Velocity And Acceleration
     Standard digital filtering options
     Better to calculate velocity and acceleration and use /TCV or /GCV
     Not recommended!
  

Joint Kinematics
  Rotation
     Euler Angles
     Screw Angle
  Translation
  Rotational velocity and acceleration


Joint Kinematics Commands (JNT)
  Joint angle                     (JAN)
     Modifiy ankle flexion                   (/AFL=# [no,-6])
     Use polar angle for shoulder            (/SHP)
     Integrate joint vel and accel           (/INT )
     Use reference joint angles              (/REF)
     File with reference angles              (/FIL=filename)
     Extrapolation angle threshold           (/ETH=# [10ø])
  Joint velocity and acceleration (JVA)
     Use simple differentation               (/SIM)
     All smoothing options available if /SIM specified
  Joint translation               (TRN)
  Joint screw angle               (SAN)


Force Plates
  Force Plate types
     Piezoelectric- Kistler, 8 channels
     Strain Gage- AMTI & Bertec, 6 channels
  Signal Conversion
     Kistler- Direct
     AMTI & Bertec- Calibration Matrix, cross-talk compensation
  Coordinate Systems
     Plate LCS
     Lab GCS
  Center of Pressure
  Center of Mass


Force Plate Commands    (FRC)
  Condition force plate data         (CON)
     Do not zero force plate data with idle region (/NOZ)
     Max. variation allowed in idle region         (/IDL=# %fz [5.0 %])
     Minimum # of frames in idle region            (/FRM=#[10])
     Minimum FZ active threshold                   (/FZM=# N [5])
     Idle region maximum FZ level                  (/IDM=# N [100])
  Align force plate and motion data  (ALI)
     Use simple alignment approach                 (/SIM)
     Manually assign right foot plates             (/RFT=###)
     Manually assign left foot plates              (/LFT=###)
     Old OSU specific commands
     First force plate hit by second heelstrike    (/SEC)
     MZ moment zero on plate 1                     (/MZZ)
     Use 2nd foot heelstrike & GRL data to find frame offset (/2ND)
     Frame # of Heel Strike on plate 1             (/HS1=#)
     Frame # of Heel Strike on plate 2             (/HS2=#)
     Frame # of Heel Strike on plate 3             (/HS3=#)
     FZ Minimum active theshold level              (/FZM=# N [5])
     Foot Strike Threshold                         (/FST=# % cycle[10.0])
     Change in fz trigger for heelstrike           (/TRI=# %fz [10])
     Change in fz level detection of heelstrike    (/CHA)
     Absolute value of fz level detection of heelstrike (/ABS)
  Clip force/motion data             (CLI)
  Center of pressure                 (CPR)
  Local center pressure              (LCP)
  Wrench                             (WRE)
  Integral                           (INT)
     Estimate body center of mass path       (/BCM)
     Set inital bcm velocity of zero         (/VLZ)
  Reconstruct grl                    (REC)
  Pitch moment arm                   (PMA)
  Pitch wrench arm                   (PWA)
  Center of pressure velocity        (CPV)
  Filter                             (FIL)
     Works only with POSition and Velocity And Acceleration
     Standard digital filtering options


Gait Cycle
  Time-Distance parameters
     Based upon heelstrike and toeoff
     Typically uses heel and toe markers
     Distance- Step length and width, stride length
     Timing- Single, Double and Total Stance, Cadence,
        Velocity, Event Timing
  Defines frames of interest for joint load and power calculations


Gait Cycle Commands (CYC)
  Event                        (EVE)
     Event frame numbers are absolute        (/ABS) [default]
     Event frame numbers are relative        (/REL)
     Gait events indicated by RHS, LHS, RTO, LTO in proper order:
       RHS  34
       LTO  40
       LHS  68
       RTO  76
       RHS  101
  Statistics                         (STA)
  Automatically identify events      (AUT)
     Not implemented- hopefully someday....


Joint Kinetics
  Joint Resultant Loads
     Chain calculations
     Varying sequences
     Requires GRL in Foot LCS, segment pos, vel & accel, BSP
     Multiple coordinate systems of description
     Leg summed loads
  Joint Power
     Typically considered 2D, sagittal only for gait


Joint Kinetics Commands  (JNT)
  Joint Resultant Loads    (LOA)
     Use full body for calculation      (/FUL [no])
     Override gait event zones          (/OVE [default])
     Use previous gait event zones      (/NOV)
  Joint Power              (POW)



Read Command Summary

File type options
  Marker trajectory files
  /TR3 override file extension check: read TR3 file format (VICON)
  /P3D override file extension check: read P3D file format (Motion Analysis)
  /TRU override file extension check: read TRU file format (Ohio State)
  Marker and analog files
  /C3D override file extension check: read C3D file format (AMASS)
  Analog files (Force plate & EMG)
  /GL1 override file extension check: read old GLS file format (Ohio State)
  /GL2 override file extension check: read new GLS file format (Ohio State)
  /FPD override file extension check: read FPD file format (VICON)
  /ANA override file extension check: read ANA file format (Motion Analysis)
  Everthing files
  /ANZ override file extension check: read ANZ file format (ANZ) [default]
  Special case files
  /TXT File contains text data to be imported to some specific variable

Motion file options
  /NCZ file marker data uses new Coord system (Ohio State only) [no]
  /OGN force plate data uses old amplifier gains (Ohio State Only) [no]
  /DRZ decrease resolution of marker sampling rate to every nth sample [no,10]
  /REV subject walked in opposite direction of lab CS [no]
  /NMN dont't override marker names in file (C3D only) [no]

Force/EMG file options
  /ZER zero force plate data using zeros in file (GLS2 only) [no]
  /NOC don't convert GLS2 force plate data with cal matrix [no]
  /BEG start frame for reading GLS1 and GLS2 data [1]
  /DRZ resolution decrease for reading GLS1/GLS2 (#) [no,10]
  /UNI assume analog data is unipolar [no]
  /BIP assume analog data is bipolar [default]
  /EMG all analog channels are EMG only - no force plates (ANA only)
  /REV subject walked in opposite direction of lab CS [no]

Analysis type options
  /OSU data in C3D or TR3 file is Ohio State full body locomotion 
       marker set [def]
  /HH  data in P3D file is Helen Hayes full body locomotion marker set
  /CKC data in P3D file is Closed Kinetic Chain Study marker set
  /NMA Closed Kinetic Chain analysis has no medial ankle marker
  /CCR P3D file contains right leg Cleveland Clinic stationary alignment 
       marker set
  /CCL P3D file contains left leg Cleveland Clinic stationary alignment 
       marker set
  /CC  P3D file contains full body Cleveland Clinic marker set
  /F3R P3D file contains 3D right foot analysis marker set
  /F3L P3D file contains 3D right foot analysis marker set
  /UPP data in C3D file is for upper extremity study [no]
  /NOH upper extremity data does not contain head markers [no]
  /TDP data in C3D file is for time-distance parameter calculation only [no]

ANZ file options
/BYT reverse byte order of dat in ANZ file [no]
/NOF don't use the calculation flags stored in the ANZ file [no]

P3D file options
  /MM6 make marker data have 60 Hz sample rate
  /RXM read markers in file even if not defined in analysis marker set
  /DIA display diagnostics

ANA file options
  /BER=# 6 channels assumed to contain Bertec force plate data
  /KOL=# Old Mayo kistler- 8 channels assumed to contain Kistler
         force plate data
  /KNE=# New Mayo kistler- 8 channels assumed to contain Kistler
         force plate data
  /NBK neither Kistler or Bertec force plates on analog data
  /DIA display diagnostics
  
  
Note regarding REA/TXT

The primary purpose of this option is to allow normal values
of specific quantities to be imported to ANZ and stored in
ANZ file format. This is how the normal value files were
created that are used with TELIO to produce clinical gait
reports. Variables which may be read in from a text file
include:

  JAN  joint angles
  JMO  joint resultant moments
  JPW  joint powers
  GRF  ground reaction forces
  EMG  muscle EMG signals
  SPN  segment positions


Data exporting

These commands allow the results from ANZ to put into text files so that
programs other than TELIO and SHOW3D can do further analysis and display.

