Determining Initial-contact & Toe-off from Kinematic Data alone

Very often in gait analysis we need to normalise data to the gait cycle, which means we need to know when initial-contact (IC) and toe-off (TO) occur. Of course, usually we can determine these times by looking at the ground reaction force (GRF) data. But what do we do if we don't have a force-plate?

Vertical kinematics

The first thing we could do is look at the height of the toe marker.

At toe-off, the toe obviously lifts off the floor. However, as you can see, it is difficult to decide exactly when it comes off the floor. The peak toe height also occurs (obviously) quite a lot later than than toe-off. The reverse is true for initial-contact.

How about the derivative of the toe height (vertical velocity)?

It's clear that the positive (up-going) spikes of vertical velocity approximate to the toe-off events, although there's also a second wave immediately afterwards. Heel-strike is not at all defined.

What about if we low-pass filter the data at the natural frequency, or cadence, of the gait (about 1 Hz)?

Now both the positive and negative peaks of the velocity signal nicely define both toe-off and initial-contact.

Antero-posterior kinematics

What about the AP velocity?

Clearly, this signal is of no use. However, the acceleration signal (smoothed at 6 Hz) again shows clear peaks at toe-off:

In fact, if you look at the acceleration of the foot recorded by an accelerometer attached to the heel, you will see that the acceration has large spikes at these two times.

Medio-lateral kinematics

Finally, for completeness, let's look at the medio-lateral direction:

The peaks of the acceleration signal have a reasonable correlation with contralateral toe-off, but also with foot contact.


The best kinematic indicators of TO are peak positive vertical toe velocity (especially if it is low-pass filtered at the gait cadence), positive vertical toe acceleration and positive AP toe acceleration. To improve reliability, it might be best to combine these three measures. The only indicator of IC appears to be peak negative filtered vertical velocity


  Predicting toe off from kinematic force-time curves has one or two subtle
problems. The phrase, "toe off," refers to the instant of final contact
between the shoe and the floor. The point of final contact between shoe and
floor is generally the very front, bottom edge of the shoe. A marker placed
at this position could not reach peak vertical velocity until sometime after
toe off, when it was actually moving up.

  Many biomechanists place a marker on the lateral side of the 5th
metatarsal head and not the front edge of the shoe. I examined our data it
agrees with your statement: the instant of toe off occurs at the time of the
peak vertical velocity of the metatarsal head. So, one subtlety is that we
can predict the instant the toe or front edge of the shoe leaves the floor
by examining the kinematics of another body point.

  Our data do not produce a good prediction of heel contact from the
metatarsal head kinematics. The metatarsal head is still moving forward and
downward after heel contact as the ankle joint plantarflexes. The peak
downward velocity of the met head occurs about 20 ms after heel contact in
our data. The second subtlety in this process is that methead kinematics can
be used as you suggested to estimate heel contact but a fudge factor (i.e. a
prediction equation) would be needed to adjust the predicted time of heel
contact to an earlier value.

Thanks for your time,

Hi Chris,

Looked at your page regarding the use of toe marker kinematics as
indicators of heel contact and toe off and was surprised by your comment in
relation to toe a/p velocity that "Clearly, this signal is of no use." I
encountered the same problem of determining heel contact and toe off in
amputees ambulating on a treadmill. I had some footswitch data initially
but the tests required about an hour of walking in total and the
footswitches (FSR type, from a Motion Labs EMG Footswitch system) caused
problems inside the sound shoe, often stayed in the closed position in the
prosthetic shoe and soon wore out if I placed them on the outsole of the
shoe. After examining the footswitch and toe marker data that I had, I
opted for an algorithm which involved using the MPJ horizontal velocity.
The threshold for heel contact and toe off was
Vmin + 0.30(Vmax-Vmin)
and it seemed to work very well for the data I had. Just looking at the
data on your toe-off.html page, it looks to me like it would work very well
for your data as well.

I'm attaching a figure and caption as a word document. Hope you can read it.

Tim Bach.

Figure 5.3. Relationship between MPJ horizontal velocity and footswitch data

In this trial, horizontal velocity of the MPJ marker varied between approximately 1.5 m·s-1 and -1.0 m·s-1, the speed of the treadmill. Footswitch data is shown below with larger signals indicating times of heel switch closure and smaller signals indicating times of toe switch closure. Note the variability in the footswitch signals particularly for the toe which is absent altogether for the first step. The 30% velocity threshold used to detect foot contact data is indicated by a horizontal line in the top graph. The relationship between this threshold and the timing of heel contact and toe off for a single step is indicated by the two vertical lines.

From BIOMCH-L March 2002

I am seeking a ‘robust' method to accurately identify a user-defined
cyclical ‘event' in a sequence of kinematic data.  Specifically, given
the 3D trajectory of a marker placed on the human body, measured with
noise, at equal space time intervals, with some missing data, and given
a user- defined ‘event' or a (small) series of ‘events', automatically
locate the remainder of the ‘events' within the sequence.  For example,
given the 3D trajectory of a right heel marker during gait, measured at
180 Hz for 480 s (86400 samples), and given the first 6 ‘heel-floor
contacts' visually identified by an operator, automatically locate the
remainder of the ‘heel-floor contacts' within the sequence.

Option one would be to reduce the frequency content of my input signal
to only include frequencies below 5 Hz (digital filter), or 4-5
harmonics (Fourier), or some optimally restricted cut-off frequency
(GCVSPL available at
Differentiation of the ‘smoothed' data will then allow me to reliably
identify zero-crossings or inflection points in the neighborhood of the
‘event'.   But I'm reluctant to reduce the frequency content of my
signal to the point where I can reliably find ‘events' since I also
require high-accuracy estimates of the ‘event' times to calculate
high-accuracy estimates of the cycle-times (I will fit a curve using
GCVSPL at the located ‘event' frame, then interpolate frames to find the
exact time at which a zero-crossing or inflection point occurs).

Option two could use a user-defined ‘worm', centered at an event, to
find similar later occurring events by minimizing RMS difference.
Stanhope et al. (Stanhope SJ, Kepple TM, McGuire DA, Roman NL.
Kinematic-based technique for event time determination during gait. Med
Biol Eng Comput 1990 Jul;28(4):355-60) published a paper using this
method and they recommend the use of a sagittal plane, 5-7 frame ‘worm'
to identify gait events.  However, to improve ‘event' location accuracy
they digitally filtered their data thereby potentially altering
frequency content and subsequently true ‘event' time. [I should note
that I have tried this method and get about 30% false-positives and 25%
false-negative return rates].

Option three could use fuzzy system identification to identify gait
events.  This technique was used by Ng and Chizeck (Ng SK, Chizeck HJ.
Fuzzy model identification for classification of gait events in
paraplegics IEEE Trans on Fuzzy Systems 1997 5(4): 536-544).  Although
this process could use raw data, they filtered at 5 Hz, altering
frequency content.  Even so, it seems that the technique was able to
only correctly identify 80% of ‘events', a value unacceptable for my
application. [Although I must note that this method is implementation
attractive since MATLAB has built in callable-functions.  Maybe someone
knows how to improve accuracy?].

Option four could use cluster analysis (Kaufman L, Rousseeuw PJ.
Finding groups in data:  An introduction to cluster analysis, John Wiley
& Sons, Inc., 1990) but to my knowledge this has not been attempted to
locate gait events and I'm reluctant to follow a path that may be

So, in conclusion I seek help from the Biomechanics community.  Ideally,
someone out there has the perfect source code (I still program in
Fortran!) that I could embed within my application.  As usual practice,
I will post a summary of the responses to my query.


Michael Pierrynowski
McMaster University

from CGA March 2002

Hello CGA

Usually, in identfying the gait cycle events using Vicon motion
analysis, I identify the 'toe off' event with the point at which the foot begins to
move forward i.e. the start of swing. An alternative would be to identify the
point at which the foot leaves the ground i.e. when there is clearance
(which is what 'toe off' literally means). We have recently analysed the
gait of a little girl with marked foot drag . In her case, the latter
definition results in a 30% shorter 'swing phase' compared with the
former definition. Which definition of 'toe off' event is correct? Or do labs
have specific protocols for different presentations?

Please advise.

Dominic Lloyd-Lucas
Clinical Scientist
Sheffield Teaching Hospitals

Dear Dominic and others,

My thoughts are that this dilemma is due to the terminology used. Foot-
off defines the point where the foot comes 'off' the ground, however in
this case foot-off does not correspond with the point where foot
progression begins. It may be necessary to describe the cycle in terms
of both stance and swing phases (defined by the foot-off and foot-
contact events) as well as foot-stationary and foot-progression phases
(defined by the points at which foot progression begins and ceases).

It will be interesting to hear others' views on this topic.

Pete Mills

Hello readers,

It is the function of the leg that matters. Let's assume that we accept that
the conventional tasks during the gait cycle are weight acceptance, single
support and double support for the stance phase and limb advancement for the
swing phase.

If someone drags the foot then its main function at that moment is not
propulsion any more (as it was at the end of the stance phase) but
progression. In that sense this should be named the swing phase.

Obviously it's more convenient to look for the point in time when the size
of the force vector drops to zero but it probably does not relate to the
function of the leg.


Dr Gabor Barton (MD)
Senior Lecturer in Biomechanics
Centre for Sport & Exercise Sciences, Liverpool John Moores University
Room 2.51 Henry Cotton Campus, 15-21 Webster Street, Liverpool, L3 2ET
Tel: +44 (0)151 231 4333/4321   Fax: +44 (0)151 231 4353

Back to FAQ