No announcement yet.

Summary of Replies

This topic is closed.
  • Filter
  • Time
  • Show
Clear All
new posts

  • Summary of Replies

    Director, Gait & Biomechanics Lab
    Phone: (502) 582-7657

    Last week I asked the question below about normalizing gait data. Here
    are the replies. I want to thank every who replied and I agree with
    Dr. George about ansemble averaging not being the best solution. However,
    I am trying to get a program up and running to yield the same time base
    1st. I'll worry about the ansemble averaging problem once I get the
    data to all have the same time base. To date I have incorporated Dr.
    Sanders Fortran subroutine into a program. The normalized wave form
    is off somewhat though. I think it is because I do not have any data
    before & after the frames I want to standardize to. His routine
    requires 3 frames of data on both ends so I padded the ends with the
    1st & last frames. I have also down loaded the Excel add-in template
    called XLmath as mentioned by Dr. Sinclair. I have not tried it yet
    though because my pkunzip program will not unzip the file & I run Excel
    on a Mac. I have just finished incorporating the Quick Basic spline
    subprogram sent to me from Dr. Ingram into a program & seems to work
    very well so far. I have printed graphic data out from 1 file (time
    in % cycle - 59 frames of data) and the splined data (time in % cycle
    with 101 - frames of data and they line up almost identically. I did
    not try the C program sent by Dr. McFadyen (of the 3 programs sent to
    me, "C" is my worst programing language).

    Thanks again for all of your help.

    ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++
    Original Question:

    I need to either write or purchase a program to average multiple trials
    of gait data (i.e. knee angle, knee moment, knee power). Does anyone
    know of a cheap program that will do this? Otherwise I will need to
    write a program to standardize the data to percent cycle (easy), spline
    all data to have exactly same time base (hard part), then output an
    averaged data set +/- SD (easy).

    I am told that one of Herman's library functions should fit my needs,
    but I have not had any luck determining which one...

    Thanks for your help & have a great holiday season...

    ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++


    ================================================== ======================
    From: (Dr. Yildirim Hurmuzlu)
    Subject: Normalize waveforms for averaging
    Date: Thu, 21 Dec 1995 11:54:25 -0600 (CST)

    We have used Igor on Macintosh by WaveMetrics. It is under $500.00 and
    it is ideal to process gait data.

    Their phone # is 503) 620-3001

    Dr. Yildirim Hurmuzlu
    Associate Professor of Mechanical Engineering
    Southern Methodist University
    Dallas, TX 75275

    Phone : (214) 768-3498
    Fax : (214) 768-1473
    e-mail :

    ================================================== =====================

    From: "Ross Sanders"

    Date: Fri, 22 Dec 1995 08:57:49 GMT+1200

    G'day Greg,

    I have attached a Fortran subroutine (normal) that I have been using
    for several years to normalise data to a common time base - usually
    percentiles. I have found it to be very reliable. If you do not have
    a fortran compiler let me know and I will send you the executable
    version. The file is in text format.

    Good luck with it.

    Ross Sanders PhD

    Program Cut - Contact Dr. Sanders if interested

    ================================================== =================

    Date: Thu, 21 Dec 1995 12:37:26 -0800 (PST)

    Buy a VICON system and link vicon clinical manager to Excel. So what
    if it costs $300,000.

    Michael Orendurff

    ================================================== =================

    From: (Peter Sinclair)

    Dear Greg,

    A couple of months ago Jim Martin from the University of Texas posted
    a message about performing spline interpolations.

    Jim performed these in Excel using an add-in template called XLmath.
    XLmath v3.0 is share ware and can be down loaded from any number of CICA
    bulletin boards. Try: The directory for windows
    was:/pub/pc/win3/excel/ The file is:

    I have since downloaded this program and find it very easy to use for
    time normalising data. Being free is also a significant advantage.


    Peter Sinclair

    Division of Biomechanics E-mail:
    Faculty of Health Sciences Phone: (02) 646 6137
    The University of Sydney Fax: (02) 646 6520
    East St
    Lidcombe NSW 2141

    ================================================== ======================

    Date: Thu, 21 Dec 1995 22:45:15 -0500 (EST)
    From: Nat Ordway - Orthopedics SUNY Syracuse


    I did a similar sort of thing. Using LabView, I wrote a program to
    interpolate the data and find a point every 2% of the gait cycle. Then
    I was able to average sets of data.

    Let me know if you would like more details.

    Nat Ordway
    Dept of Orthopedic Surgery
    SUNY Syracuse

    ================================================== =====================

    Date: Fri, 22 Dec 1995 09:20:19 +0000

    From: (Christopher Johnston)

    Dear Gregory

    We do this type of normalizing here at the equine lab. We use two programs
    depending on what the data is and how to trigger strides or stance etc...
    The easier is a product by DSP Development Corp. out of Boston Mass. called
    DADiSP. It costs about 2000 US. It is nice because of the multiple window
    function and allows easy experimentation of values with direct results. All
    the necessary functions are incorporated in the software for your work. The
    other is LabView which is intuitively not as nice, but excellent when the
    data is synchronized and the variables are known. This program allows
    almost real time analysis. LabView is a product of National Instruments
    Corp. out of Austin TX:

    Software is available for this type of work on the Biomech-L, the Ohio
    server I believe, as well as Ton van Bogert has modified Hermans routine to
    do this or has developed another. Additionally, I know that the Calgary Lab
    has developed this type of software for their system.



    Chris Johnston, DVM
    Equine Biomechanics Lab.
    School of Veterinary Medicine
    P O Box 7011
    750 07 Uppsala, Sweden

    ================================================== ======================

    Date: Fri, 22 Dec 1995 13:51:28 +0000
    From: Dirk Twisk

    Yes, to spline and interpolate you need Woltring's GCV routine. It
    can be found in NETLIB. I could also send a copy to you, but our
    program has been modified slightly to suit our needs. I have
    converted the source code to C, and the original is in Fortran. Let
    me know.

    Dirk Twisk

    ================================================== ======================

    Date: Fri, 22 Dec 95 15:01:06 +0100
    From: (Jaap Harlaar)


    if you consider the splining of the data as the hardest part of the
    ensemble-averaging, you should look at the signal processing toolbox of
    Borlands' Turbo-Pascal. They include some very nice procedures, which will
    make it easy to do.

    Jaap Harlaar

    Mr. Jaap Harlaar, MSc, biom.eng. tel. +31 20 444 0773
    Dept. Rehabilitation Medicine fax. +31 20 444 0787
    University Hospital "Vrije Universiteit"
    De Boelelaan 1117
    NL 1081 HV Amsterdam email:
    The Netherlands

    ================================================== =====================

    From: "George, Terrence E."
    Date: Fri, 22 Dec 95 09:26:00 EST

    Mr. Rash,

    a couple other things to consider in your averaging:

    1) the baseline level (dc, offset) can vary by several degrees (angles) both
    between subjects and between different experiments (diff. marker placements,
    individually calibrated) on the same subject. This doesn't matter if you're
    only looking at the change in joint angles.

    2) the % of gait cycle between landmarks of the cycle can vary, and simply
    averaging trials at every increment of the overall cycle can (probably will)
    produce a curve which does not actually represent the family of curves. Here
    is an simple example of imaginary data which can be applied to more
    complicated cases:

    trial 1: :10 0 0 0 10 20 10 0 10
    trial 2: :10 0 10 20 10 0 0 0 10
    average::10 0 5 10 10 10 5 0 10
    better: :10 0 0 10 20 10 0 0 10.

    The 'better' curve is a more accurate representation of the family of curves
    and the peak height relative to other landmarks of the curve than the
    'average' curve. I hope this gets the idea across. The 'better'
    representation might be obtained by averaging fractions of a cycle together,
    ie, heel stike to peak pressure, peak to toe off, toe off to heel strike. I
    once found a situation where to maintain the proper shape of a family of
    curves, I had to average the derivatives of the curves and then integrate
    that average (the slope of y at all values of x was the variable being

    Good Luck and Merry Christmas


    Terrence E. George, Rehabilitation Research Engineer
    Assistive Technology Research Center
    National Rehabilitation Hospital
    102 Irving Street NW
    Washington, DC 20010
    202-877-1963 Fax: 202-723-0628 E'mail:

    ================================================== =====================


    Dear Gregory,

    Here is code (written in C) for a module I use to rubberband (with linear
    interpolation) my timebase. It has worked fine for me. It also will fix a
    point like toe-off at a percentage of the cycle. Hope it makes sense as
    it is even more convoluted in the transfer and with comments (I am not a
    programmer you should realize..but you are welcome to use it).

    Good luck

    Brad McFadyen,

    Bradford J. McFadyen, Ph.D. ( --- until
    January 1st)

    Departement de Physiotherapie Institute Francois-Charon
    Faculte de Medecine 525, boul. Wilfrid-Hamel est
    Pavillion Ferdinand-Vandry Quebec, PQ
    Universite Laval G1M 2S8
    Quebec, PQ Tel: 418-529-9141
    G1K 7P4 Fax: 418-529-3699
    Tel: 418-656-7935
    Fax: 418-656-5476

    Program Cut - Contact Dr. McFadyen if interested

    ================================================== =====================

    From: (Jaap Harlaar)

    if you consider the splining of the data as the hardest part of the ensemble-
    averaging, you should look at the signal processing toolbox of Borlands'
    Turbo-Pascal. They include some very nice procedures, which will make
    it easy to do.

    Jaap Harlaar

    ================================================== ==========================


    Hi, I don't know if you remember, but we met at the NACOB meeting in Chicago
    a few years back. At the time I was with the Texas Sports Science
    Institute. I saw your message on the Biomech-L about normalizing data in
    gait studies. I have a cubic spline written in Quick Basic that will do
    what you want in a fairly straight forward manner. It is easy to understand
    and use and is written as a subroutine that can be incorporated into a data
    analysis program. If you want it I'll send it to you. Another program that
    I have started using over the last few months is MatLab. It is an extreemly
    powerful matrix based math program for which you can by tool kits for doing
    signal processing including splines and interpolations. The cost is high
    (over a thousand) but it is very versital.

    I am in the process of moveing my office so my e-mail will take a while to
    get to me. If you are in a hurry you can call me direct at (713) 483-3730.
    Let me know if you think you can use what I have.

    Have a great holiday season,

    Steve Ingram, Krug Life Science @ Johnson Space Center, NASA

    Program Cut - Contact Dr. Ingram if interested

    End of Files