Table of Contents
List of Tutorials
Welcome to HAS-Motion’s Visual3D motion analysis software. The Visual3D software provides kinematics and kinetics (inverse dynamics) calculations for biomechanical analysis of 3D motion capture data.
Prior to beginning the tutorials, if you haven't done so already, we recommend that you look over the documentation on the Visual3D Philosophy. There is some beneficial information particularly for first time users in this section.
If you are a new user of Visual3D, here is a guide to suggest in which order the tutorials should be done for learning Visual3D.
Visual3Ds native CMZ file format contains the entire Visual3D workspace, so the files can get quite big. If you need to send a file to support@has-motion.ca please reduce the size of the cmz file before sending it.
Tutorial Overview
To begin, an overview of the Visual3D workspace and the interface in the Visual3D Workspace page and the Getting Started page is recommended. Additionally, an overview of the Signals and Events interface will describe how data from a c3d file is stored in the Data Tree and plotted through 2D Interactive Graphs, and how motion files may be animated through the 3D Animation Viewer. In the original set of tutorials, each tutorial followed from the previous tutorial. Over time additional tutorials were added that don't follow on from previous tutorials; these can be attempted as standalone efforts.
All files for the tutorials can be found here.
This page begins with a list of tutorials intended for a beginner user, once those are completed the other tutorials can be followed as needed. The rest of the tutorials follow a typical order in which Visual3D is used, with more tutorials targeting specific and advanced commands.
Beginner Tutorials
Laboratory Checklist
There are many crucial steps in collecting “routine” motion capture data, and especially as a beginner, checklists are important to process oriented tasks (see, for example: The Checklist Manifesto).
The following Testing Setup Checklist is a partial list and starting point for every Motion Capture Laboratory.
We encourage users to contribute to this list by sending additional tasks to support@has-motion.ca
Typical Processing Session
These tutorials are meant to be followed for a first time user or a beginner. It will provide guidance for building a model, opening movement trials, assigning a model to motion trials, basic signal processing, model based items and reporting. The typical processing session tutorial provides an overview of the tutorials, but it is recommended to follow these tutorials listed in chronological order. Once these tutorials are finished you will be able to save a complete CMZ file.
- Tutorial: Building a 6 DOF Model: This tutorial will teach you the basics of building a model, defining various segments in a lower body gait model.
- Tutorial: Visualizing Data: This tutorial will teach you how to assign a model to motion files, and how to work with .c3d files.
- Tutorial: Command Pipeline: This tutorial will teach you how to use the command processing pipeline and how to work with Visual3D's pipeline commands.
- Tutorial: Signal Processing: This tutorial will teach you an overview of signal processing in Visual3D.
- Tutorial: Force Platforms: This tutorial will teach you the basics of processing force platform data into Visual3D.
- Tutorial: Event Processing: This tutorial will teach you how to create and edit events.
- Tutorial: Model-based Computations: This tutorial will teach you the basics of computing and understanding joint angles and moments.
- Tutorial: Creating a Report: This tutorial will teach you how to create and edit a report.
- Tutorial: IOR Gait Full-Body Model: This tutorial illustrates doing gait analysis using the IOR protocols.
Pipeline for Creating Basic CMZ File
Once you feel like you understand the basics of how Visual3D works and processes your .c3d files, it is possible to complete all steps using pipeline commands. The Generic Pipeline to Create CMZ tutorial walks through the pipeline commands typically used to create a CMZ file. A full pipeline script for a typical processing session following these steps can be found here.
Support Email Format
We encourage you to reach out to support@has-motion.ca for any questions or suggestions.
The following Support Format provides guidance on how to send scripts and data.
Building Models
It is important to fully understand how to build a model as it is typically one of the first things that is completed and needed for a proper analysis. The following tutorials go in depth on how to build a model, and common models.
Modeling Concepts
Tutorial: Building a 6 DOF Model: This tutorial will teach you the basics of building a model, defining various segments in a lower body gait model. This tutorial is the same model building tutorial in the beginner section.
Tutorial: Creating Landmarks: This tutorial shows the many different ways to create landmarks (virtual markers) in Visual3D.
Tutorial: Building an IK Model:This tutorial demonstrates how to define Inverse Kinematic chain for use with a model in V3D. It also provides a video tutorial.
Tutorial: Modeling the Thorax: This tutorial goes over how to model the thorax and abdominal segment.
Gait Models
Tutorial: Building a Conventional Gait Model:This tutorial describes a lower body conventional gait model.
Tutorial: IOR Gait Full-Body Model: This tutorial describes the Istituto Ortopedico Rizzoli's (IOR) full-body gait model.
Tutorial: Plug-In Gait Lower-Limb: This tutorial describes the implementation of Vicon's Plug-In gait using Visual3D. This tutorial only covers the lower-Extremities Plug-In gait model.
Upper-Body Models
Tutorial: Plug-In Gait Upper-Body: This tutorial describes the implementation of Vicon's Plug-In gait using Visual3D. This tutorial upper-body Plug-In gait model.
Tutorial: Rab Upper Extremity Model:This tutorial describes the model based on the upper extremity model developed by Dr. George Rab, Kyria Petuskey, and Anita Bagley from Shriners Hospital for Children, Northern California. Refer to their paper “A Method for Determination of Upper Extremity Kinematics” Gait & Posture 15 (2002) 113-119 for the exact model specifics.
Foot Models
Visual3D is a general tool capable of modeling all of the different foot models. The following tutorials list variations of foot models for your choosing.
Tutorial: Oxford Foot Model:This tutorial focuses on the Oxford Foot Model version implemented as a Plug-in option in Vicon's Nexus software. The Oxford Foot Model is a good choice for analyzing data from Children with Cerebral Palsy. If this is not your patient population, other options and other multi-segment foot models may be more appropriate. The following References for Oxford Foot Model provides an in-depth explanation of the Oxford Foot Model.
Tutorial: IOR Foot Model 2014: This tutorial focuses on the updated 2014 Istituto Ortopedico Rizzoli's multi-segment foot model. The IOR foot analysis uses joint angles and planar angles to describe the motion of the foot. The following References for IOR Foot model provides an in-depth explanation of the IOR Foot Model.
Tutorial: IOR Foot Model 2007: This tutorial focuses on the ORIGINAL 2007 Istituto Ortopedico Rizzoli's multi-segment foot model. The following References for IOR Foot model provides an in-depth explanation of the IOR Foot Model.
Tutorial: Foot and Ankle Angles: This tutorial focuses on various ways of representing the foot segment, so that the foot angle (foot relative to the laboratory) and the ankle angle (foot relative to the shank) are defined in ways that are consistent with the common colloquial uses of the angles.
Tutorial: Bicycle Pedal and Crank: This tutorial creates a crank and pedal segment, given a c3d file with one marker on each pedal of a stationary bicycle.
Other Models
Tutorial: Jaw Movement: This tutorial provides a straightforward model of the skull and mandible.
Tutorial: Virtual Laboratory: This tutorial goes over the necessary information in creating a Virtual Laboratory.
A Virtual Laboratory is not a physical segment in Visual3D but is equivalent to a physical segment to the effect that it has a Segment Coordinate System that can be used to represent the laboratory (or other objects) and has an associated surface model that can be animated as part of the scene.
A Virtual Laboratory is often used as the reference for segment angles (e.g. a segment relative to the laboratory) because it can accommodate the subject walking in a direction different from the laboratory coordinate system.
Tutorial: Digitizing Pointer: This tutorial goes over using a digitizing pointer in Visual3D to identify anatomical landmarks without having to place motion capture markers at the location.
Movement Data
Tutorial: Visualizing Data: This tutorial will teach you how to assign a model to motion files, and how to work with .c3d files. It is the same tutorial as the one in the beginner section.
Tutorial: Correcting Mislabeled Markers: This tutorial goes over how correct and relabel markers that have been mislabeled.
Tutorial: Force Platforms: This tutorial will teach you the basics of processing force platform data into Visual3D. It is the same tutorial as the one in the beginner section.
Tutorial: Instrumented Treadmills: This tutorial contains basic processing steps that apply to instrumented treadmills, including AMTI treadmills Bertec treadmills and Trendmetrix treadmills.
Command Pipeline
The Command Processing Pipeline provides access to the core of Visual3D’s functionality by providing a command line interface into all of Visual3D's functions. The Pipeline is typically used to automate processing steps, which is useful for multiple, repeated tasks. The Pipeline is a set of Visual3D commands that are processed in sequence. The Pipeline has the ability to manage files, define events, execute signal processing computations, create and edit models, and, create and modify reports.
Tutorial: Command Pipeline: This tutorial will teach you how to use the command processing pipeline and how to work with Visual3D's pipeline commands. It is the same as the tutorial in the beginner section.
Tutorial: Create a CMZ via the Command Pipeline: This tutorial walks through the pipeline commands typically used to create a CMZ file. The resulting pipeline can be used as a starting point for your own analysis.
Tutorial: Process a Session via the Command Pipeline: Example providing a full pipeline script for a typical processing session following the steps laid out in our Beginner tutorials section.
Tutorial: Advanced Command Pipeline: This tutorial is for advanced pipeline commands and proper pipeline development. A set of standards is also laid out for scripts and meta commands. Several commands are discussed with options that may be helpful with your script development. It is not meant to be a comprehensive discussion of each pipeline command. For a more detailed discussion go to the command wiki page. This tutorial is meant as a “sampler” to show the variety of ways the commands can be implemented.
Tutorial: Gait Profile Score and Movement Analysis Profile Pipeline: This tutorial describes how to create a pipeline to compute the Gait Profile Score and Movement Analysis Profile. The Gait Profile Score (GPS) is a clinical index that can be used to describe overall gait pathology. The GPS is the mean value of a number of discreet values obtained from kinematic variables measured during gait. “[…] the RMS difference between the patient's data and the average from the reference dataset taken over all relevant kinematic variables, for the entire gait cycle.[…]” (Baker et al., 2009). This tutorial describes how to create a pipeline to compute the Gait Profile Score and Movement Analysis Profile.
Tutorial: Pipeline Favorites: This tutorial goes through how to list your pipeline scripts as a Table of Contents. Your list of pipeline scripts can be viewed or run from the Pipeline Favorites list box.
Tutorial: Meta-Command Creation: This tutorial provides an example of creating a meta-command in visual3D. Meta-Commands are a convenient way to bundle scripts into a singles command, or to pass parameters between commands.
Signals
At its heart, Visual3D allows users to analyse time-varying, biomechanical waveforms called signals.
Signal Processing
Tutorial: Signal Processing: This tutorial goes through the basics of signal processing. It is the same tutorial as the one in the beginner section. Most signal processing functionality is available through the Command Pipeline, so it is advisable that you are familiar with the material in the previous Tutorial: Command Pipeline.
Events
Movement data is often collected for more time that is required for the analysis. This is often done to minimize the effects of filtering at the endpoints. Sometimes it is because more than one cycle can be collected at a time or to ensure that the entire cycle is collected. Sometimes it is because there are long periods of meaningless activity between epochs. Regardless of the reasons for collecting extra data, it should not be necessary to analyze all of the data. The interval of interest must be extracted from the trial. The user must be able to define a time frame of interest. Most often the region of interest is defined by specific events, such as heel strike or toe off. This can be accomplished by editing the data file or by entering the start and end frame. This process is extremely tedious and in many circumstances can be automated.
An Event is simply an occurrence of interest that correlates to a motion capture frame, i.e. to a particular time point within a movement. The key events for gait studies (e.g., heel strike, toe-off) are now so well standardized that Visual3D can detect and mark them automatically . For other applications, you can define your own events, either manually (using the mouse to double-click on significant points on any graph) or computationally.
Tutorial: Event Processing: This tutorial will teach you how to create and edit events.
Automatic Gait Events: This tutorial examines how bad gait events happen due to bad force assignments, and how to prevent it.
Tutorial: Gait Events: This tutorial goes through identifying gait events (e.g. heel strike and toe off) with and without force platform data.
Tutorial: Manually Creating Events: This tutorial explains how to create an event manually.
Model Based Signals
All Kinematic and Kinetic calculations in Visual3D are described as either KINETIC_KINEMATIC Items or Link_Model_Based Items. Kinematic calculations are based on segment coordinate systems with no reference to inertial properties. Kinetic (Inverse Dynamic) calculations are performed using the assumption of linked rigid segments, “connected” by joints with 1 to 6 degree of freedom joints.
Tutorial: Model Based Computations: This tutorial will provide an overview of the basics of computing and understanding joint angles and moments, that only make sense relative to rigid segments or local coordinate systems. This tutorial is the same as the one in the beginner section.
Metrics
Metrics are discrete quantitative values of signals such as maximum value, median value, value at a specified frame. In other words, metrics do not have a time-base like the other signals.
Metrics also refer to combinations of other metric values. For example, the metric describing the range of motion of a joint angle during a movement would be the difference between the metric defining the maximum value of the joint angle and the minimum value of the joint angle. The metric describing the time for a step cycle would be the time from Right Heel Strike to Right Heel Strike.
Tutorial: Metrics Processing: This tutorial provides an overview of metric processing in Visual3D. It provides an example of computing the mean of a force plate signal.
EMG
Electromyography (EMG) signals are electrical signals generated by the activity of skeletal muscles when they respond to inputs from the central nervous system. Processing EMG signals typically follows some variation of the following steps:
- High Pass Filter
- Low Pass Filter
- Rectify Data
- Filter Noise
- Normalize and Scale Data
Tutorial EMG: This tutorial walks you through a pipeline for basic EMG signal processing.
Stability
In this tutorial, we will review the current literature definition of Margin of Stability (MoS) and provide an example of calculating this measure in Visual3D.
We will also explore a new way to present the MoS that we think is more intuitive and overcomes some of the limitations of MoS during walking. We will provide an example of measuring a new MoS in Visual3D, and visualizing this measure using Inspect3D.
Tutorial: Assessing Stability During Gait: This tutorial walks you through how to find the Margin of Stability.
Reporting
Visual3D creates a Workspace into which all data is stored, models are integrated, and reports are produced. The entire workspace can be saved and shared as a digital report in which all the underlying analysis, data, and models can be accessed.
Every Visual3D workspace includes exactly one report, which is initially blank, and to which you may add any number of distinct pages. In a sense, the entire workspace is itself a kind of extended electronic report, which contains not only the contents of the Reporting page but also all of the original data and records of all data-processing steps.
Tutorial: Creating a Report: This tutorial provides an overview of reporting in Visual3D. It is the same as the tutorial in the beginner section.
Tutorial: Comparing Data Sets: This tutorial is demonstrates how two data sets can be compared in the Reports. The basis of the comparison is by grouping trials.
Tutorial: Plotting Normal Data: This tutorial demonstrates how normal data can be added to a report and graphed.
More Report Tutorials: More report tutorials can be found here, including specific tasks such as adding an image to a report.
CalTester
The CalTester module provides proper calibration and is an essential tool for laboratories that:
- Have instrumented treadmills
- Have instrumented stairs
- Move cameras and/or move force platforms regularly
- Have amplifier switches that can be easily bumped, or are regularly changed
- Have settings that are regularly changed
- Have students or unsupervised visitors in the laboratory
- Are required to have regulatory oversight of their laboratory
Tutorial_CalTester_Report: This tutorial provides step-by-step instructions on how to use the CalTester Tab.
Tutorial_CalTester_Force_Platform_Locator:This tutorial goes through the process of creating a report details the force platform's location in your lab.
Tutorial_CalTester_Force_Platform_Jig: This tutorial provides the procedure to defining a Jig, and locating the force plate with a Jig.
Real Time Streaming
Visual3D Professional can be used to provide real-time biofeedback. BEFORE using the real time stream plug in, use the C3D file plug in to simulate the real-time stream using data that has already been collected. For HAS-Motion to help trouble shoot, we must see sample C3D files, so this is the best place to start.
Tutorial_RT_Biofeedback - C3D: This tutorial will walk you through connecting a real time stream using Visual3D Server OR the old unsupported built in plugins.
Tutorial_RT_Biofeedback - Qualisys QTM: This tutorial describes using the built in real time plugins for Qualisys QTM.
Tutorial_RT_Biofeedback - Vicon Nexus: This tutorial shows is step-by-step guide to stream real-time data from a Nexus (Vicon) to Visual3D to take advantage of the real-time data processing and biofeedback* capabilities.
Tutorial_RT_Biofeedback - MAC Cortex: This tutorial describes using the built in real time plugins for MAC Cortex.
Tutorial_RT_Digitizing: This tutorial uses the Visual3D Server for streaming data to Visual3D from a C3D file to see a real time model.
Theia3D Tutorials
Tutorial_Theia3D_Merge:This tutorial demonstrates the merging of Theia3D output c3d files and other c3d files. The typical scenario is Theia3D output and analog signals with force platform parameters.
Tutorial_Marker_Markerless_Comparison: This tutorial demonstrates the merging of Theia3D output c3d files and synchronized c3d files with marker based data.
Video Tutorials
YouTube Tutorials: More tutorials can be found on HAS-Motion's YouTube account: https://www.youtube.com/user/CMotionV3D. Some of these YouTube tutorials have associated wiki tutorials.
Video Tutorials by Dr. Abderrahman Ouattas: Thanks from us to Dr. Abderrahman Ouattas for providing a series of Visual3D tutorials at https://www.youtube.com/playlist?list=PLg8n9IH7BYaD2-F2I0umGHoK8fdfbmgCs