Date: Thu, 28 Dec 1995 10:17:12 EST
Reply-To: "Gregory S. Rash"
Sender: Biomechanics and Movement Science listserver
Comments: Converted from PROFS to RFC822 format by PUMP V2.2X
From: "Gregory S. Rash"
Subject: 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.
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: firstname.lastname@example.org (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 : email@example.com
From: "Ross Sanders"
Date: Fri, 22 Dec 1995 08:57:49 GMT+1200
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.
From: firstname.lastname@example.org (Peter Sinclair)
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: ftp://ftp.cica.indiana.edu The directory for windows
was:/pub/pc/win3/excel/ The file is: xlmth30.zip
I have since downloaded this program and find it very easy to use for
time normalising data. Being free is also a significant advantage.
Division of Biomechanics E-mail: email@example.com
Faculty of Health Sciences Phone: (02) 646 6137
The University of Sydney Fax: (02) 646 6520
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.
Dept of Orthopedic Surgery
Date: Fri, 22 Dec 1995 09:20:19 +0000
From: Christopher.Johnston@ah.slu.se (Christopher Johnston)
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
Date: Fri, 22 Dec 95 15:01:06 +0100
From: firstname.lastname@example.org (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.
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: email@example.com
From: "George, Terrence E."
Date: Fri, 22 Dec 95 09:26:00 EST
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
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: firstname.lastname@example.org
From: MCFADYEN BRAD
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).
Bradford J. McFadyen, Ph.D.
Email:email@example.com (firstname.lastname@example.org --- until
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
Program Cut - Contact Dr. McFadyen if interested
From: email@example.com (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.
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
Return to PE 506 page
BACK TO GORDON'S HOME PAGE