---
title: "Step 3 - Define the subject’s progression frame"
canonical: "https://help.vicon.com/space/ProCalc16/12651003/Step%203%20-%20Define%20the%20subject%E2%80%99s%20progression%20frame"
format: markdown
---
The most common way to define the subject's progression frame is to align the axes of progression (ie, walking direction) with the anterior-posterior axis used for the individual segments. In our case, this means that the walking direction should be the Y axis.  
If the lab has a walkway which is already aligned with one of the lab coordinate system's axes, then the task is to find out whether the subject walks along the +X, +Y, -X or -Y axis, and to calculate the progression frame that transforms the lab coordinate system to the one where the subject's forward direction is +Y.  
There are several approaches to this – here is one example:

1. Add a new variable, name it **PelvisOrigin**.
2. Choose Function: **Point** and **Transform: A from B's coordinates back to global**.
3. For **A**, choose Type: **Point** and for Input Variable, choose **Lab Origin**.
4. For **B**, choose  Type: **Segment **and for Input Variable, choose **pelvis_4X4**.   
  
> Macro (inline-media-image)

  
  
You have now defined a point that corresponds to the pelvis segment's origin. To do this, you have used the pre-defined **Lab Origin** point, which is simply {0, 0 , 0}, and transformed this point from the pelvis' local coordinates back to global.
5. Add a new variable named **WalkingDirection**.
6. For Function, choose **Vector** and **From point A to point B**.
7. For A, choose Type: **Point**, for Input Variable, choose **PelvisOrigin**, and for Timing, choose **FirstValidFrame***.*
8. For B, choose Type: **Point**, for Input Variable, choose **PelvisOrigin**, and for Timing, choose **LastValidFrame***.*    
  
> Macro (inline-media-image)

  
  
Here, you've created a vector from a point to the same point, but evaluated at two different times, namely the first and the last valid point. Thus, as long as the subject has moved, you get a vector pointing in the direction in which the subject has moved.
9. Add a new variable named **ProgressionFrame**.
10. For Function, choose: **Segment** and **Origin A, Y-Axis=lab axis closest to B, Z-Axis up**.
11. For **A**, choose Type: **Point** and for Input Variable, choose **PelvisOrigin**.
12. For B, choose Type: **Vector **and for Input Variable, choose **WalkingDirection**.   
  
> Macro (inline-media-image)

  
  
This defines a segment with its +Y direction aligned with the lab axis that has the best alignment with the WalkingDirection vector, which is exactly what is needed to define the progression angles.
13. Add a new variable named **PelvisProgressionAngles**.
14. For Function, choose **Angle** and** Euler angle: XYZ between A and B**.
15. For A, choose **Segment** and for Input Variable, choose **ProgressionFrame**.
16. For B, choose **Segment** and for Input Variable, choose **pelvis_4X4**.  
  
> Macro (inline-media-image)

This defines the progression angle that we're interested in.