User Tools

Site Tools


house_mocap

Dance Tutorial: Analysis of Angular Momentum and Balance During Pirouettes

Overview

This page aims to detail the process of collecting, processing, and analyzing a series of dance movements recorded using our in-house motion capture system. The following sections will detail the collection process, processing steps using Qualisys Track Manager (QTM) and Theia, and analysis steps in Visual3D and Sift. Pirouette movements on dominant and non-dominant legs were collected and analyzed by comparing whole body angular momentum profiles and balance related measures like inclination angle and Centre of Mass position relative to balance point. Completed files including CMZS, Pipelines, Report templates and Sift Queries will be available to download, though we recommend following the tutorial step by step using the raw files.

Data Collection

System

Has-Motion's in-house collection set-up consists of 8 Qualisys Miqus Video cameras daisy-chained together through ethernet cables and secured to a truss system.

Camera configuration, calibration and data collection was done through Qualisys QTM before pose estimation was done in Theia.

Collection

The collection of the pirouette trial had one participants perform five spins, three on the right leg and two on the left.

Unprocessed CMZ's can be downloaded here here. Completed CMZ files can be downloaded here.

Processing and Analysis

Once the trials were collected with our Qualisys Miqus cameras in QTM, the video files (.AVI) were exported to Theia3D for automatic processing and pose estimation. Once Theia processing was complete the .C3D files were opened in Visual3D for further analysis. The captures below show each step in the process from raw video, to Theia overlay, to the final model in Visual3D:

Once all the necessary processing steps had been completed further feature analysis was conducted in both Visual3D and Sift.

Visual3D

Our model was built through Theia which automatically creates some link model signals, results and reports but further calculations were needed and done through the Visual3D Pipeline. The following section contains the pipelines and reports constructed for the analysis.

Pipelines

The completed pipelines can be downloaded here.

Pirouette Pipeline:
For the pirouette trials the model center of gravity position, velocity, and acceleration were computed, along with the model angular momentum using model based computations.

Then, using the Evaluate Expression command the inclination angle and the distance between the subject's balance point (distal toe landmark) and center of gravity, were calculated. The inclination angle is a measure of a dancer's postural sway and is defined as the angle between the vector between COP and COM and the vertical vector [1]. The start and end of the movement was also determined using the Event_Threshold command. COP to COG XY distance and Inclination Angle for pirouettes performed on the right leg were calculated like so:

Evaluate_Expression
/EXPRESSION=sqrt(((LANDMARK::ORIGINAL::RTOES_DISTAL::X - LINK_MODEL_BASED::ORIGINAL::COG_Pos::X)^2) + ((LANDMARK::ORIGINAL::RTOES_DISTAL::Y - LINK_MODEL_BASED::ORIGINAL::COG_Pos::Y)^2))
! /SIGNAL_TYPES=
! /SIGNAL_FOLDER=ORIGINAL
! /SIGNAL_NAMES=
! /SIGNAL_COMPONENTS=
! /RESULT_TYPES=DERIVED
! /RESULT_FOLDERS=PROCESSED
/RESULT_NAME=Contact_COG_Distance_XY
! /APPLY_AS_SUFFIX_TO_SIGNAL_NAME=FALSE
;

Evaluate_Expression
/EXPRESSION=atan(DOT(DERIVED::PROCESSED::Contact_COG_Distance_XY,LINK_MODEL_BASED::ORIGINAL::COG_Pos::Z))*180/PI()
! /SIGNAL_TYPES=
! /SIGNAL_FOLDER=ORIGINAL
! /SIGNAL_NAMES=
! /SIGNAL_COMPONENTS=
! /RESULT_TYPES=DERIVED
! /RESULT_FOLDERS=PROCESSED
/RESULT_NAME=Inclination_Angle
! /APPLY_AS_SUFFIX_TO_SIGNAL_NAME=FALSE
;
Event_Threshold
/RESULT_EVENT_NAME=Spin_Start
/SIGNAL_TYPES=LINK_MODEL_BASED
! /SIGNAL_FOLDER=ORIGINAL
/SIGNAL_NAMES=model_ang_momentum
/SIGNAL_COMPONENTS= Z
/FRAME_OFFSET=-15
! /TIME_OFFSET=
! /EVENT_SEQUENCE=
! /EXCLUDE_EVENTS=
! /EVENT_SEQUENCE_INSTANCE=0
! /EVENT_SUBSEQUENCE=
! /SUBSEQUENCE_EXCLUDE_EVENTS=
! /EVENT_SUBSEQUENCE_INSTANCE=0
! /EVENT_INSTANCE=0
/THRESHOLD=0.1
/ON_ASCENT=TRUE
! /ON_DESCENT=
/FRAME_WINDOW=10
! /ENSURE_FRAMES_BEFORE=FALSE
/ENSURE_FRAMES_AFTER=TRUE
;
Event_Threshold
/RESULT_EVENT_NAME=Spin_End
/SIGNAL_TYPES=LINK_MODEL_BASED
! /SIGNAL_FOLDER=ORIGINAL
/SIGNAL_NAMES=model_ang_momentum
/SIGNAL_COMPONENTS= Z
/FRAME_OFFSET=20
! /TIME_OFFSET=
! /EVENT_SEQUENCE=
! /EXCLUDE_EVENTS=
! /EVENT_SEQUENCE_INSTANCE=0
! /EVENT_SUBSEQUENCE=
! /SUBSEQUENCE_EXCLUDE_EVENTS=
! /EVENT_SUBSEQUENCE_INSTANCE=0
! /EVENT_INSTANCE=0
/THRESHOLD=0.1
! /ON_ASCENT=
/ON_DESCENT=TRUE
/FRAME_WINDOW=10
! /ENSURE_FRAMES_BEFORE=FALSE
/ENSURE_FRAMES_AFTER=TRUE
;

Due to there being differences in the amount of spins and length of trials for the right and left leg. Events were created at each of the complete turns preformed by the subject. This allows us in Sift to pull the same spin for the right and left leg. This will result in a more meaningful analysis as we will be able to compare the same spin for both legs. The following pipeline demonstrates how this was done. This pipeline used the Compute_Model_Based_Data, Evaluate Expression with the Resolve_Discontinuity function. Metric_Signal_At_Event and the Event_Threshold command. Example shown below is for the right leg, with more event thresholds being applied for START + 720, +1080 etc.

Compute_Model_Based_Data
/RESULT_NAME=Pelvis_Angles
/SUBJECT_TAG=ALL_SUBJECTS
/FUNCTION=JOINT_ANGLE
/SEGMENT=RPV
! /REFERENCE_SEGMENT=LAB
/RESOLUTION_COORDINATE_SYSTEM=
! /USE_CARDAN_SEQUENCE=FALSE
! /NORMALIZATION=FALSE
! /NORMALIZATION_METHOD=
! /NORMALIZATION_METRIC=
! /NEGATEX=FALSE
! /NEGATEY=FALSE
!/NEGATEZ=FALSE
! /AXIS1=X
! /AXIS2=Y
! /AXIS3=Z
! /INCLUDE_REMOTE_ANGULAR_MOMENTUM=FALSE
! /TREADMILL_DATA=FALSE
! /TREADMILL_DIRECTION=UNIT_VECTOR(0,1,0)
! /TREADMILL_SPEED=0.0
;
Evaluate_Expression
/EXPRESSION= RESOLVE_DISCONTINUITY(LINK_MODEL_BASED::ORIGINAL::PELVIS_ANGLES)
! /SIGNAL_TYPES=
! /SIGNAL_FOLDER=ORIGINAL
! /SIGNAL_NAMES=
! /SIGNAL_COMPONENTS=
/RESULT_TYPES=LINK_MODEL_BASED
/RESULT_FOLDERS=PROCESSED
/RESULT_NAME= TOTAL_PELVIS_ANGLES
! /APPLY_AS_SUFFIX_TO_SIGNAL_NAME=FALSE
;
Metric_Signal_Value_At_Event
/SIGNAL_TYPES= LINK_MODEL_BASED
/SIGNAL_FOLDER=PROCESSED
/SIGNAL_NAMES= TOTAL_PELVIS_ANGLES
/RESULT_METRIC_FOLDER=PROCESSED
/RESULT_METRIC_NAME= START_ANGLE
! /APPLY_AS_SUFFIX_TO_SIGNAL_NAME=FALSE
! /SIGNAL_COMPONENTS=
! /COMPONENT_SEQUENCE=
/EVENT_NAME=Spin_Start
! /EVENT_INSTANCE=0
! /SCALE_FACTORS=1
! /GENERATE_GLOBAL_MEAN_AND_STDDEV=TRUE
! /GENERATE_LOCAL_MEAN_AND_STDDEV=TRUE
! /APPEND_TO_EXISTING_VALUES=FALSE
! /GENERATE_VECTOR_LENGTH_METRIC=FALSE
! /RETAIN_NO_DATA_VALUES=FALSE
;
Event_Threshold
/RESULT_EVENT_NAME= TURN1
/SIGNAL_TYPES=LINK_MODEL_BASED
 /SIGNAL_FOLDER= PROCESSED
 /SIGNAL_NAMES= TOTAL_PELVIS_ANGLES
 /SIGNAL_COMPONENTS=Z
! /FRAME_OFFSET=0
! /TIME_OFFSET=
! /EVENT_SEQUENCE=
! /EXCLUDE_EVENTS=
! /EVENT_SEQUENCE_INSTANCE=0
! /EVENT_SUBSEQUENCE=
! /SUBSEQUENCE_EXCLUDE_EVENTS=
! /EVENT_SUBSEQUENCE_INSTANCE=0
! /EVENT_INSTANCE=0
 /THRESHOLD=METRIC::PROCESSED::START_ANGLE+360
 /ON_ASCENT= TRUE
! /ON_DESCENT=
! /FRAME_WINDOW=8
! /ENSURE_FRAMES_BEFORE=FALSE
! /ENSURE_FRAMES_AFTER=FALSE
;

Reports

A custom report for the pirouette was generated in Visual3D. The pirouette report contains four pages to compare different signals for the right and left leg. Firstly, the Inclination angle for the pirouette on each leg to analyze how well the subject kept their center of mass over the foot, which is a key aspect of a successful pirouette. A smoother curve close to zero would be the goal for the dancer. Secondly, the Angular Momentum in the Z direction (vertical axis) with a greater angular momentum is desired by the dancer. Next, the X, Y and Z Center of Gravity position with a better pirouette having as smooth curves as possible for all three directions. Lastly, the report visualizes the X, Y and Z Ankle angles. To interpret this further more analysis was done in Sift.

The report templates can be downloaded here. More information on generating reports is available on the reports overview page.

Sift

Queries and Visualization

Sift was used to better sort and visualize the differences in results from the movements between the right and left legs. Center of position and mass, inclination angle and angular momentum were extracted from the pirouette movement using custom query definitions in Sift. Completed Queries can be downloaded here. These query definitions extract using Event sequences to compare the first spin from the right and left leg and using Signal refinement with tags to select the right and left legs.

Selecting multiple signals simultaneously and clicking refresh plot will plot those signals on the same graph. This will allow for a visual qualitative assessment. Shown below is the mean right and left leg inclination angle.

A signal signal plot can also used to better visualize results and showing the circular pattern of the movement. This can be done by changing the plot type to signal-Signal, selecting the two desired signals, ensure one signal is in the X and Y columns of the signal signal pair chart and select Refresh Plot. In the image below the group mean for the X and Y contact points for the left leg Pirouette is shown. The circular shape of the pirouette is evident.

Analysis

Several statistical analysis methods are available in Sift for further data exploration. To identify differences in leg kinematics between dominant and non-dominant legs SPM (statistical parametric mapping) was used to identify pirouette phases with statistically different behaviour.

The SPM plot below shows a statistical comparison of the inclination angle for right and left leg spins using an alpha threshold of 0.05 with only one moment of significance occuring that is too slight for any meaningful conclusions

The following plot shows a comparison of model angular momentum for left and right leg spins. Similar to the inclination angle, only one slight moment of significance can be observed. Additionally, the instances occurring at different points further display the lack of significance.

References

[1]C.-W. Lin, F.-C. Su, and C.-F. Lin, “Kinematic Analysis of Postural Stability During Ballet Turns (pirouettes) in Experienced and Novice Dancers,” Frontiers in Bioengineering and Biotechnology, vol. 7, Oct. 2019, doi: 10.3389/fbioe.2019.00290.

house_mocap.txt · Last modified: by wikisysop