Swimming Analysis System

Ben-Gurion University of the Negev
Official Website App

How to Use This System

  1. Open the interactive report to relate video frames with biomechanical data (plots).
  2. Download the Excel file of all data by clicking (bottom left).

Data Outputs

1. What is the Interactive Report?

An HTML report that synchronizes the annotated video with plots of temporal biomechanical parameters(for example joint angle in time). By choosing a parameter in the report legend, you can change what parameters are presented in the plot.

Sagittal (side view) joint angle definitions
Sagittal view: Projected joint angle - Right and left shoulders.
  • Press the on the left to obtain the Excel Output.
  • At each data facet, you can choose specific trajectories type to visualize
    • Full explanations on the different data types are available at next section
  • If the Parameters table is painted at red (top right corner) - The video was classified as a non-valid sample

2. Excel Output

A multi-sheet Excel file containing:

  • Temporal Data: Frame-by-frame biomechanical features. Each numeric value has an associated confidence value.
    • Joint Positions (Skeleton): x, y image coordinates of detected joints.
    • Standardized Joint Positions (Skeleton): Joint coordinates after view-specific centering and scaling to enable comparison across frames and athletes.
      • Transverse view: Centered at the midpoint of the shoulders; scaled (divided) by shoulder width (distance between left and right shoulders).
      • Sagittal view: Centered at the hip; scaled by the average torso length (hip to shoulder).
    • Joint Angles (Pose): Computed per frame for key joints.
    • Segment Orientation (Orientation): Body segment angles relative to the image frame.
  • Event Log: Binary markers (0 = non-event, 1 = event):
    • start / end event: Frames delimiting analyzed portion.
    • first / last detection: First/last frame the detection model found the swimmer.
    • first / last keypoint: First/last frame any pose keypoint was detected.
  • Static Parameters: Whole-video metrics (e.g., stroke rate).

3. Annotated Video

A processed version of the input swimming video with joint positions and key joint/segment angles overlaid. Use it for quick visual inspection of technique,and the accuracy of the system key point annotations.

4. Angle & Orientation Definitions

The following three figures define how joint angles and segment orientations are computed for two camera views. These visual guides correspond to the variables reported in the Excel and interactive reports.


Swipe / use arrows to view all definitions.

Parameter Explanations

📊 General Video Parameters
  • fps: Frames per second of the video.
  • Image width / height [px]: Frame dimensions in pixels.
  • Number of frames: Total analyzed frames.
  • Anatomical plane: Camera viewpoint (sagittal or transverse).
  • Visible side: Side most visible to the camera.
🚩 Suspicious Sample (Quality Flag) Binary flag (1 = potentially unreliable sample)
🏊 Stroke Rate (SR) [SPM]

SR = (1 / AvgCycleTime) * 60.

  • Sagittal: Consecutive hand entry events.
  • Transverse: Uses push events; arm with more pushes.
💪 Push Percentage [%]

Timing of push relative to cycle start (hand entry = 0%).
(Entry→Push / CycleTime) * 100.

Same computation in both planes.

🙌 Recovery Percentage [%]

Timing of recovery (hand exit) within cycle.

  • Sagittal: Computed from entry-based cycle.
  • Transverse: Not computed as recovery event now fully visible in the transverse plane.
🤝 Pseudo Index of Coordination (pIdC) [%]

Temporal relation between left & right push phases.
pIdC = 100 * ((TimeLag - 0.5*CycleTime)/CycleTime).

  • Negative: catch-up
  • ~0: opposition
  • Positive: superposition

Same method in both planes.

🦵 Kick Rate (KR) [KPM] & Kicks Per Cycle (KPC)
  • KR: Ankle minima frequency → kicks/min (sagittal only).
  • KPC: round(KR / SR).
  • Transverse: Not computed.
👇 Wrist Push Depth
  • Sagittal: Standardized by torso length.
  • Transverse: Standardized by shoulder width.
🔄 Entry Inter Arm Phase

Upper-arm angle at each hand entry.

  • Sagittal: Sampled from pre-computed time series at entry frames.
  • Transverse: Not computed.
🦾 Elbow Push Angle [deg]
  • Sagittal: Not computed.
  • Transverse: Elbow angle at push (high-confidence only).

Note: Timings derive from frame indices & fps; percentages normalized per arm cycle unless noted.

Table Report

Click any table to download the full multi-sheet Excel file.