
Imagine you have a question about human movement, like how the center of mass moves. In this course you will use Google Colab and a few lines of Python to spot patterns such as sine waves, make clear plots, and share them quickly. Try simple interactive graphs to see how forces travel through the body. No biomechanics or coding background needed.
Answer movement questions fast in Colab with simple Python. Load data, see patterns, plot and share, try interactive views. No experience required.
Introduction to Motion Capture & C3D File Analysis in Google Colab
In this introductory lecture, we explore how motion capture (MoCap) technology works and how biomechanical data is captured using sensors and stored in C3D files.
You'll learn:
The components of a motion capture system
What a C3D file includes (markers, analog signals, metadata)
Tools to visualize motion data (PoseIQ, Mokka) and free tools
How to analyze this data using Google Colab + Python (just intro more in coming lectures)
We also demonstrate how to use AI tools like Gemini to assist with Python code for analysis.
Additional Resources:
https://c3d.org
https://colab.research.google.com
In this lesson, we go beyond theory and dive into practical analysis of C3D motion capture files using Python in Google Colab.
You’ll learn:
- How to load and unzip C3D datasets
- How to use libraries like `ezc3d`, `numpy`, and `matplotlib`
- How to extract and plot ground reaction force (GRF) data from a force plate
- Tips for working with real biomechanical data
We also cover useful coding concepts like:
- Working with NumPy arrays
- Calculating GRF magnitudes (vector norms)
- Visualizing force data over time
This is a hands-on tutorial perfect for learners at any level, especially those working in biomechanics, kinesiology, or movement sciences.
Welcome to this session on visualizing and analyzing C3D motion capture files using Google Colab (not in this video directly but others in this series) and open-source tools! In this video, I’ll walk you through: How to visualize C3D files directly Using tools like PoseIQC3D and Mokka c3d dot org and find applications
Where to find free C3D/motion capture datasets (e.g. C3D dot org) in Google Database (search: “free C3D datasets”)
How to extract useful data like force plates, analog markers, and XYZ coordinates Understanding events, models, and metadata from C3D files
Whether you are a researcher, student, coach, or developer, this video shows you how to work with biomechanical data without expensive software.
Resources mentioned: PoseIQC3D: poseiq dot com
Our Goal and Core Framework in this course!
Biomechanics Made Simple: Analyze Movement Using Python and Google Colab (No Software Needed!)
Learn how to analyze real biomechanical data without installing any software.
This video introduces key concepts from the book and and this companion course.
Tools Used: Google Colab Python Open-source motion capture data (C3D) AI-assisted analysis
We explore how to use AI tools like Gemini and ChatGPT to understand Python basics — including printing, formatting, working with lists, expressions, and more.
Whether you're a beginner or brushing up, this session helps you learn faster by practicing directly in tools like Google Colab and using cheat sheets.
Covered in this video:
How to learn Python using AI tools
Using cheat sheets and notebooks
Basic printing and string formatting
Working with lists in Python
Using AI for code explanation and debugging
Tips for practicing Python efficiently
Resources mentioned:
Google Colab
Python.org
Gemini / ChatGPT for learning support
Tip: Practice alongside the video using your own notebook or Colab!
Learn motion capture data analysis with Python in Colab, covering data collection, parsing, analysis, visualization, and exporting using AI-assisted automation within a reusable biomechanics framework.
Motion Data Input Using Pandas – Basics
In this lesson, we focus on importing various motion data formats (C3D, TRC, CSV, JSON) using Pandas in Python. You'll learn how to install necessary packages, preview data in DataFrames, and extract key information. This session is part of a larger course on motion data analysis.
Learn to work with C3D motion capture files in Google Colab by downloading, unzipping, and loading data with Python and pandas. Then extract and inspect metadata via a simple loop.
Learn to read and work with motion capture data in Python by loading TRC and CSV files, handling markers, frames, and labels, and plotting results in Colab with pandas.
This session walks through how to use Gemini inside Google Colab to work with biomechanics data files such as CSV, C3D, and TRC.
You’ll see what happens when a model says it “can’t read” a file, and how a bit of domain knowledge helps you find the right libraries and workarounds.
We’ll also discuss how understanding biomechanics formats makes AI tools much more useful for motion analysis and research.
Learn how to explore the structure of a C3D file and access its data using Python and the ezc3d library. This tutorial covers navigating headers, parameters, and data sections, and shows how to read force plate types, point labels, and analog data. A simple function to extract parameters is also included for easy use.
You have learnt how to read a C3D file — that’s the first step. Now we move to parsing, which means cleaning and organizing your data. Raw motion capture and force plate files are often messy. They might have unclear names, different units, missing data, or noise. Parsing fixes that. It turns raw data into clean, consistent signals so you can analyze and compare them with confidence. For example, instead of manually renaming confusing labels, we’ll automate the process. We’ll also make sure all files use the same units and channel names, like “Fy” for vertical force. By the end of this chapter, you’ll know how to transform raw data into a tidy, ready-to-analyze format.
This short section introduces the input parsing part of the course. We discuss how each chapter connects, how to use the provided Python file to access all the C3D files, and how to prepare for the upcoming parsing sessions.
Topics covered:
Structure of the chapters
Using the provided Python file
Accessing and loading C3D files
Preparing for deeper parsing in next sessions
Run the provided Python file, explore the data, and get ready for the next section.
Understanding Dictionaries in Python for Biomechanics Data Parsing In this session, we explore how Python dictionaries work and how they help us parse and understand biomechanics motion-capture data (C3D files). By the end of this tutorial, you’ll know how to: Access data from C3D files using `ezc3d` Understand Python dictionary keys and values
Explore the structure of C3D parameters Inspect analog and marker data
Use your Chapter1Input Python file to access reusable code later
In this session, we continue exploring how to read and parse C3D motion capture files using Python. We review what we learned in the previous session about dictionaries and parameters, and then focus on creating a time vector from C3D data. Topics covered: Reviewing C3D parameters and frame data Extracting point rate and number of frames Converting point rate to float and frame count to integer Creating a time vector using NumPy Accessing marker labels and positions (XYZ) Building a pandas DataFrame for marker data Debugging and sanity checks during parsing This tutorial is part of a series on motion capture data processing and analysis using Python. By the end, you will understand how to handle point and marker data for further visualization or analysis. Code examples use: Python NumPy pandas
In this video, we go deeper into parsing C3D files using Python. You’ll learn how to extract and process marker and force plate data, organize them in data frames, normalize forces by body weight, and smooth noisy data with filtering. We also cover how to match data lengths from different sources for combined analysis. By the end, you’ll understand how to handle both marker and analog data for motion analysis.
In this session, we wrap up the parsing section of the Biomechanics with Python series.
You’ll learn how to read C3D files in Google Colab using ezc3d, explore headers, parameters, and data arrays, and export results into a clean DataFrame or CSV format.
We also covered how to as review:
Inspect markers, analog signals, and force plates
Normalize and filter data
Build a tidy dataset for later analysis
Use quick Python snippets to explore metadata and event details
By the end, you’ll be able to fully understand and manipulate C3D files with confidence and There is a quiz section that you can practice to learn more about C3D manipulation in Biomechanics using Py and AI
Moving from parsing to analysis.
In this video we move from input, and parsing to analysis. I give a quick recap, outline the plan, and show how to rerun Chapters 1 and 2 in Google Colab in a single cell. We use gait as a simple starting point to talk about gait events, common metrics, stance phase curves, and the effect of filtering. I also point to the two Python files from Chapter 1 and Chapter 2 so you can import and reuse code.
What you will learn in this chapter
• How to think about “analysis” after parsing
• Gait event basics across a gait cycle
• Where metrics and stance phase curves fit
• Why filtering matters and what to compare
• How to set up Colab with dependencies and your two module files
In this session, we go deeper into data analysis for biomechanics. We use Python libraries like NumPy, Pandas, SciPy, and Matplotlib to load, clean, and analyze motion and force data. The main goal is to: Match analog (high-frequency) and digital (low-frequency) data by adjusting or interpolating their time points. Process and plot forces and moments from force plates to study gait (walking) events. Detect key moments, such as when a foot touches the ground, using thresholds (e.g., when force over 20 N). Visualize the results—showing forces (Fx, Fy, Fz) and moments over time. Understand basic operations like flattening data, flipping force directions, averaging subframes, and resampling signals. In short: This lesson teaches how to prepare, synchronize, and visualize biomechanical data so you can study how people move and how forces act during walking or running.
In this video, we’ll go from raw force plate data all the way to detecting heel-strike and toe-off events. You’ll see how we extract the ground reaction forces from a C3D file, identify the vertical axis, apply calibration if needed, and then use simple thresholds to automatically mark when the foot first contacts and leaves the ground. By the end, you’ll understand how to visualize and verify these key gait events directly from your GRF signals.
Step 2 – Key Gait Metrics from Force Plate Data (Peak GRF, Cadence & Symmetry)
In this step, we extract key gait metrics from vertical ground reaction force data — including peak GRF, stride time, cadence, stance phase details, and inter-plate symmetry. These calculations help summarize walking performance and balance during gait analysis.
In this step, we detect heel strikes (HS) and toe-offs (TO) on each force plate, build per-plate stance summaries, and create across-plate step cycles (HS→HS). Quick tables summarize timing, duration, and counts. The final plot visualizes vertical GRF with HS markers for easy interpretation of walking patterns.
In this step, we smooth noisy gait signals using a zero-phase Butterworth low-pass filter for both vertical GRF and optional heel marker trajectories. The video compares raw vs filtered data and explains how filtering removes noise without phase shift, improving clarity for gait analysis and event detection.
In summary we shared that we build a concise function (working in progress yet) that loads a C3D file, reconstructs forces and moments per plate, calculates COP, and extracts marker XYZ into tidy tables. This prepares your data for step detection, gait phase segmentation, and visualization in later chapters.
Learn how to turn cleaned marker and force-plate data into meaningful plots. We’ll look at trajectories, GRFs, time-series curves, cycle-normalized plots, and quick comparison tools to check data quality, identify gait events, and communicate results clearly.
Step through a full Python demo of visualizing C3D motion capture and ground reaction force data in Google Colab. We explore markers, analog signals, stance detection, cycle normalization, and plotting GRF curves — all in one easy session and compare with Mokka.
In this summary, we explore how visualization turns biomechanical data into insight. It’s not just about making plots—it’s how we see movement quality, detect errors, and communicate patterns that numbers alone can’t reveal. From 3D trajectories to force curves, gait cycles, and symmetry plots, visualization connects raw signals to real-world meaning. Even a simple bar chart can tell a powerful story when you know what to look for. Keep experimenting, refining, and learning—the art of visualization is how biomechanics becomes alive.
In this section, we cover the basics of exporting and reporting results, emphasizing the importance of starting with a clear research question or hypothesis—not just raw data. Using our full process—Input -Parse - Analyze - Visualize - Export/Report—we demonstrate how to carry a project from concept to final report. We also rebuild the Chapter 4 dataset within a new notebook, Chapter_5_Bridge, to bridge analysis and reporting
Learn how to use the Biomech Research: Report & Share Colab template — a lightweight, beginner-friendly workflow for biomechanics and data science projects. This hands-on demo walks you through every step: 1-Set up your project info 2- Import or simulate data 3- Clean and analyze it 4- Visualize your results 5- Auto-generate Markdown, HTML, PNG, and PDF reports No complex setup needed — just open in Google Colab, run top to bottom, and start sharing clean, reproducible reports. Perfect for biomechanics, sports science, and research communication.
This lecture provides a overview of our biomechanics project and the final report. We demonstrated how raw data—such as C3D motion capture markers, EMG, and GRF—can be used to perform meaningful analyses. Additionally, we explored how synthetic or generated data can serve as a starting point when real data are unavailable. This approach helps develop analytical skills, refine research processes, and guide future data collection or the use of publicly available datasets.
We use basic model of knee joint to learn how we define muscle and joint moments that lead to joint motion or kinematics. It might be first confusing if you are new to these concepts but stay with us you will get more as we learn more and make progress.
In this lecture, you’ll learn how to apply basic biomechanics concepts to generate and analyze data, exploring the full process from data analysis to muscle function and force generation in an interactive workflow.
Machine learning is still a scientific process—it starts with a clear research question or hypothesis (e.g., distinguishing injured vs. healthy gait). Next, data is collected and prepared (from sources like C3D, EMG, or force plates), then models are trained (e.g., decision trees, SVMs, neural networks). Results are evaluated for accuracy and generalization, and the process iterates—refining features, hypotheses, and models to improve understanding and performance.
We conducted a mini demo using a C3D file to illustrate the process of predicting ground reaction force (GRF) data from heel height—showcasing the hypothesis-driven, learning, and iterative nature of research. Hope you all enjoyed the session and the whole course and continue exploring biomechanics. Stay tuned for more!
This hands-on course bridges biomechanics and coding, built on the concepts from A Hands-On Guide to Biomechanics Data Analysis with Python and AI. You’ll learn how to process, analyze, and visualize human movement data using Python, Google Colab, and AI tools—no prior programming required. Step by step, we move from raw motion capture, force, and EMG signals to clear insights about posture, performance, and efficiency.
Through guided notebooks and real datasets, you’ll explore:
Data cleaning, filtering, and event detection in biomechanics
Force-plate and motion data analysis with NumPy and Pandas
2D/3D visualization and report generation in Colab
Basic machine learning for movement classification and prediction
You’ll also gain practical skills for parsing C3D files, aligning markers and forces, normalizing units, detecting gait events, and computing key metrics such as stride time, GRF peaks, and symmetry indices. Each module follows the same reproducible pipeline used by biomechanics labs worldwide—
Input → Parse → Analyze → Visualize → Report.
By the end, you’ll be able to transform complex biomechanical data into meaningful, shareable results—ready for research, clinical work, sports analysis, or AI modeling. Includes Colab notebooks, sample datasets, code templates, and report builders so you can apply everything immediately to your own projects.
Who is it for? Students, clinicians, coaches, and researchers seeking a practical, modern toolkit. You’ll complete bite-size projects (e.g., compare shoes or techniques) and a capstone that imports C3D/CSV, computes key features, visualizes cycles, and exports an HTML/CSV mini-report. Clear checklists, guardrails, and starter code keep you moving—from first plot to publishable, reproducible results.