Inspect3D Overview: Difference between revisions

From Software Product Documentation
Jump to navigation Jump to search
No edit summary
m (Added link to knowledge discovery.)
 
(20 intermediate revisions by 2 users not shown)
Line 12: Line 12:
<span style="color:darkblue">Analytics and Data Exploration for Biomechanics.
<span style="color:darkblue">Analytics and Data Exploration for Biomechanics.
</span></span></span>
</span></span></span>
[[Image:I3DAboutButton.png|200px|right]]
<b>Inspect3D</b> is the software tool for biomechanics researchers with large motion capture data sets.


<b>Visual3D</b> is an incredibly accurate, flexible, and useful tool to process motion capture data.
Inspect3D allows users to: load multiple [[C3D_Format|C3D]] files, detect and remove outliers, group signals based on custom conditions, analyse data, and produce visualizations every step of the way.


However, it is primarily session based and users often assume the responsibility of grouping data and calculating metrics. This is where <b><span style="font-family:Garamond;color:darkred;font-size:120%">Inspect3D</span></b> comes in - it allows users to easily group and plot data, exclude "bad" cycles of data, and export metrics.
Inspect3D is designed to integrate seamlessly with [[Visual3D_Overview|Visual3D]]. Where Visual3D is primarily a session-based tool for processing motion capture data, Inspect3D lets researchers take their Visual3D results and process them at study-level.


[[File:Example.mp4|1000px|start=2|end=6]]
At its heart, Inspect3D is all about helping researchers through the [[Knowledge_Discovery_in_Inspect3D|knowledge discovery process]]: <b>collecting</b>, <b>cleaning</b>, <b>shaping</b>, and <b>analysing</b> their data before <b>communicating</b> their results.


The video above describes how to load an existing CMO library, normalize all signals in the Link Model Based folder (ex. Joint Angles, Moments, etc.), average left and right sides together, then calculate, plot and export the mean data, all done in under five minutes.
:<b>Collecting data</b>: Inspect3D lets you load [[CMO_Format|CMO]] files containing all of the [[C3D_Format|C3D]] files associated with your study.


=Loading Data: CMO Library=
:<b>Cleaning data</b>: Your data can be visualized easily as individual traces, workspace means, or group means. You can click on specific cycles and choose to exclude them from analysis. Early data visualization and formal outlier detection techniques help you ensure that only valid data is used for your analysis.


[[File:Inspect3DIntroduction.mp4|1000px|start=00:00|end=00:52]]
:<b>Shaping data</b>: A single study can contain multiple questions, each looking at the underlying data in different ways. Inspect3D can automatically group signals for you or you can define your own custom queries based on tags, events, or expressions. Common signal groups include Left and Right signals, Affected and Unaffected sides, and Pitching vs. Non-pitching sides.


=Manually Grouping Data=
:<b>Performing analysis</b>: Inspect3D implements common data analysis techniques such as [[Metrics|summary statistics]] calculation, [[Principal Component Analysis|principal component analysis]], and [[K-means clustering|clustering]] algorithms.


[[File:Inspect3DIntroduction.mp4|1000px|start=00:52|end=02:32]]
:<b>Communicating results</b>: Analysis results can be exported to a number of different text formats including [[Visual3D_ASCII_Format|Visual3D ASCII]], [[P2D_Format|P2D]], and SPSS. Each of the different visualization tools also give you complete control over colours used, line styles, and axis labels to allow you to produce the figures that you want.


=Plotting and Inspecting Data=
Ready to see how you can used Inspect3D in your research? [[Inspect3D_Getting_Started|Get Started]]!


[[File:Inspect3DIntroduction.mp4|1000px|start=02:32|end=04:49]]
[[Category:Inspect3D]]
 
=Exporting Data=
 
[[File:Inspect3DIntroduction.mp4|1000px|start=04:49|end=05:51]]
 
 
 
 
=Autogenerating Groups=
 
[[File:Inspect3DIntroduction.mp4|1000px|start=05:51|end=06:53]]
 
=Working with Metrics=
 
[[File:Inspect3DIntroduction.mp4|1000px|start=06:53|end=09:10]]
 
 
 
=Inspect3D and the Visual3D CMO Library=
 
 
The Inspect3D program accesses [[CMO_Library|Visual3D's CMO library]] directly, and is thus ideal for exploring large amounts of data from the library. Visual3D tends to be a "session based" analysis tool, and is used to process data from one (or a few) data collection sessions, rather than a project based tool. Inspect3D was created to bridge the gap between the biomechanical analysis of the Motion Capture data collected from a single subject to the scientific enterprise of trying to make sense of data from a group or population.
 
{| class="mw-collapsible mw-collapsed wikitable" width="100%"
!The CMO Library (more...)
|-
|
 
 
{| style= width="95%"
| style="width: 65%" align="left" style="vertical-align:top"|
 
 
Inspect3D is tightly coupled with Visual3D's CMO Library and is able to perform Structured Queries of the lab and retrieve the data for display, or as a collection to be exported for statistical processing in third party applications.
 
 
The Visual3D library is defined by a root directory. All .cmx files within the root directory and sub directories are part of the CMO library.
 
 
| style= "width: 35%" align="right" style="vertical-align:top"|
[[Image:I3DQuerySectionSimple.png|275px|caption]]
|}
 
 
|}
 
 
<!--<span style="font-size:150%">
<span style="font-family:Garamond;">
<span style="color:darkblue">Structured Queries of the Visual3D CMO Library.</span>
</span>
</span>-->
 
==Grouping Data==
 
 
Permits the user to query the library by group (Visual3D Tag), signal (Joint Angle), temporal range (Heel Strike to Heel Strike), plus a variety of metric values (age, height). The flexibility to mix and match or to sequentially refine a query allows deep exploration of the data.
 
Data can also be grouped together based on tags/events:
* Right & Left signals (ex. control data base)
** Right Ankle Angle + Left Ankle Angle
* Affected/Unaffected
** Affected Right Ankle Angle + Affected Left Ankle Angle vs Unaffected Right Ankle Angle + Unaffected Left Ankle Angle
* Pitching
** Pitching Side vs Non pitching side
 
{| class="mw-collapsible mw-collapsed wikitable" width="100%"
!Grouping Data (more....)
|-
|
{| style= width="95%"
| style="width: 65%" align="left" style="vertical-align:top"|
 
 
There are three categories for defining groups; signals, events, and refinement.
 
:Signals: Allows the user to perform signal selection
:Events: Allows the user to specify the desired event sequence (e.g Heel Strike to Heel Strike)
:Refinement: Allows the user to refine their selected signals
 
[[Inspect3D_Tutorial_1#Creating_groups|Tutorial_1]]
 
 
| style= "width: 35%" align="right" style="vertical-align:top"|
[[File:Pic4 EventDefinition.png|275px|caption]]
|}
 
 
|}
 
<!--
<span style="font-size:150%">
<span style="font-family:Garamond;">
<span style="color:darkblue">Exporting Data from the Visual3D CMO Library.</span>
</span>
</span> -->
 
=Exporting Data=
 
Inspect3D lets you export average normalized signals, metrics (max/min), or PCA values to the default Visual3D text file format, or to several other text file formats.
 
{| class="mw-collapsible mw-collapsed wikitable" width="100%"
!Exporting Data (more...)
|-
|
{| style= width="95%"
| style="width: 65%" align="left" style="vertical-align:top"|
 
 
Visual3D has a default ASCII file format that is flexible and comprehensive, but often needs to be transformed before it can be easily imported into other applications. Inspect3D provides the capability to elaborate the possible formats for this data. Rather than the Visual3D ASCII file format, the user will be able to create the exported data in the format they want.
[[Inspect3D_Tutorial_2||Inspect3D Tutorial 2]]
 
 
| style= "width: 35%" align="right" style="vertical-align:top"|
[[Image:I3DQuerySectionSimple.png|275px|caption]]
|}
 
 
|}
 
 
<!-- <span style="font-size:150%">
<span style="font-family:Garamond;">
<span style="color:darkblue">Inspect3D as a Quality Assurance Tool.</span>
</span>
</span> -->
 
=Quality Assurance=
 
During the development of Inspect3D we discovered that it was incredibly useful for exploring data quickly, and its role in "Quality Assurance" dominated our early use of the tool. Many research studies involve data collected by multiple investigators from multiple labs - differences that are liable to lead to artifact. The Quality Assurance function of Inspect3D is particularly helpful for lab managers (or supervisors of students) who may not be familiar with the raw data, or for collaborators that were not involved in the data collection process. For instance, Inspect3D allows the user to check the force assignments of all their files at once, and then easily correct any artifacts that are found.
 
 
[[Image:XKCD_artifacts.png]] Thanks to [[http://xkcd.com/1781/ XKCD.com]]
 
 
Most, if not all, Motion Capture data contains artifact of some sort, and it is a nuisance, at best, and a catastrophe, at worst, if these affect the statistical analysis, and consequent interpretation of data. Inspect3D's ability to provide a straightforward way to examine all data used in any statistical analysis has generated considerable interest with academic and industrial researchers, during many discussions we have held at various conferences and lab visits, all over the world, this year.
 
 
<table>
<tr>
<td>
[[Image:I3DDataWithArtifacts2.png|300px]]
</td>
<td>
[[Image:I3DCleanData2.png|300px]]
</td>
</tr>
</table>
 
 
These two figures contain data from the same cmo library. Several of the signals in the left figure were artifacts that were removed from the analysis by Inspect3D. Each signal can be traced back to its source data file to verify that there was something wrong, or that the problem was correctable (e.g. Motion Capture markers may have been mislabeled). Clearly stats performed on the left graph will be different that the same stats on the right graph.
 
 
Inspect3D takes a necessary chore that may take hours using other software into a streamlined process that takes minutes to perform.
 
 
{| class="mw-collapsible mw-collapsed wikitable" width="100%"
!Data Quality Assurance (more....)
|-
|
If an errant signal is found in these other packages, it can be both difficult and time consuming to trace the issue back to a cmo file and individual trial. Inspect3D is tightly coupled with the cmo library.
 
 
For a step-by-step example of how to use Inspect3D as a Quality Assurance tool see our [[Inspect3D_Tutorial_1| Quality Assurance Tutorial]].
 
 
{| style= width="95%"
| style="width: 65%" align="left" style="vertical-align:top"|
 
 
Simply selecting a trace on a graph allows that signal to be tracked back to the corresponding frames of data in the original c3d file. This means that if the artifact is correctable (e.g. an event was labeled incorrectly, or markers names were swapped during labeling), Visual3D can be launched and the issue resolved. Likewise if the issue is unresolvable (e.g. a double foot contact on a force platform during an inverse dynamic analysis), the c3d file can be removed. Once done, simply saving the cmo file after the 'fix', updates the cmo library automatically.
 
 
| style= "width: 35%" align="right" style="vertical-align:top"|
[[File:Pic11 DataSelection.png|275px|caption]]
|}
 
 
{| style= width="95%"
| style="width: 65%" align="left" style="vertical-align:top"|
 
 
This clean data set has more veracity than the "messy" data set.
 
 
| style= "width: 35%" align="right" style="vertical-align:top"|
[[File:I3DCleanData2.png|275px|caption]]
|}
 
 
{| style= width="95%"
| style="width: 65%" align="left" style="vertical-align:top"|
 
 
This figure displays the mean and standard deviation for the "messy" data set shown above. 
 
 
| style= "width: 35%" align="right" style="vertical-align:top"|
[[Image:I3DDataWithArtifactsMeanStDev.png|275px|caption]]
|}
 
 
{| style= width="95%"
| style="width: 65%" align="left" style="vertical-align:top"|
 
 
Removing artifact is important to the correct interpretation of any differences (or lack of difference) between the two experimental conditions.  Note that the data on the mean and standard deviation in the messy data set could easily be used to produce results should there not be a convenient way to identify artifact.
 
 
| style= "width: 35%" align="right" style="vertical-align:top"|
[[Image:I3DCleanDataMeanStDev.png|275px|caption]]
|}
 
 
|}
 
 
<span style="font-size:150%">
<span style="font-family:Garamond;">
<span style="color:darkblue">Biomechanical Waveform Data.</span>
</span>
</span>
 
 
Many biomechanical signals (eg. joint angles or joint moments) are represented by a time series of data and should be compared statistically as time series.
 
 
{| class="mw-collapsible mw-collapsed wikitable" width="100%"
!Zero dimensional analyses of one dimensional signals (more....)
|-
|
 
 
:Pataky TC, Vanrenterghem J, Robinson MA (2016) [[http://www.jbiomech.com/article/S0021-9290%2816%2930351-7/abstract The probability of false positives in zero-dimensional analyses of one-dimensional kinematic, force and EMG trajectories]] J. Biomech, in press
 
 
 
:'''Abstract'''
:A false positive is the mistake of inferring an effect when none exists, and although α controls the false positive (Type I error) rate in classical hypothesis testing, a given α value is accurate only if the underlying model of randomness appropriately reflects experimentally observed variance. Hypotheses pertaining to one-dimensional (1D) (e.g. time-varying) biomechanical trajectories are most often tested using a traditional zero-dimensional (0D) Gaussian model of randomness, but variance in these datasets variance is clearly 1D. The purpose of this study was to determine the likelihood that analyzing smooth 1D data with a 0D model of variance will produce false positives. We first used random field theory (RFT) to predict the probability of false positives in 0D analyses. We then validated RFT predictions via numerical simulations of smooth Gaussian 1D trajectories. Results showed that, across a range of public kinematic, force and EMG datasets, the median false positive rate was 0.382 and not the assumed α=0.05, even for a simple two-sample t test involving N=10 trajectories per group. The median false positive rates for experiments involving three-component vector trajectories was p=0.764. This rate increased to p=0.945 for two three-component vector trajectories, and to p=0.999 for six three-component vectors. This implies that experiments involving vector trajectories have a high probability of yielding 0D statistical significance when there is, in fact, no 1D effect. Either (a) explicit a priori identification of 0D metrics or (b) adoption of 1D methods can more tightly control α.
|}
 
 
Each of the signals in the figure is time normalized to 101 points (common in most gait studies), resulting in more than 10,000 data points in this figure. In the figure there is data from two groups of subjects. Identifying differences between groups (typically an important statistical goal) is challenging because of the substantial variability within each group. The challenge is to identify the most salient features of the data that discriminate the two groups without removing important information.
 
 
<span style="font-size:150%">
<span style="font-family:Garamond;">
<span style="color:darkblue">Principal Component Analysis.</span>
</span>
</span>
 
 
The original intention of Inspect3D was actually to perform waveform based Principal Component Analysis (PCA). PCA was developed in Collaboration with Dr. Kevin Deluzio at Queen's University, and follows the explanation of the analysis described in [http://www.c-motion.com/textbook Research methods in Biomechanics].
 
 
{| class="mw-collapsible mw-collapsed wikitable" width="100%"
!Principal Component Analysis (more....)
|-
|
For a step-by-step example of how to use Inspect3D PCA see our [[Inspect3D_Tutorial_3| Principal Components Analysis Tutorial]].
 
 
{| style= width="95%"
| style="width: 65%" align="left" style="vertical-align:top"|
 
 
From each signal we could identify many isolated metrics (e.g. maximum and minimum values) and compare the signals based on a comparison of these metrics. Given that there is a common underlying shape to all of these signals, it might be better to use a multivariate statistical technique that can capture this basic shape and compare the shape of each signal to this underlying shape.
 
 
| style= "width: 35%" align="right" style="vertical-align:top"|
[[File:I3DCleanData2.png|275px|caption]]
|}
 
 
Principal component analysis (PCA) is a multi-variate statistical analysis that reduces the high-dimensional matrix of correlated, time varying signals into a low-dimensional and statistically uncorrelated set of principal components (PC). The PC scores represent the most important features of the data, e.g. the overall magnitude or the shape of the time series at a particular point in the stride cycle. The value of each particular subject’s score represents how strongly that feature was present in the data. Each of the principal components explains variance in the original signals
 
 
Our implementation of Principal Component Analysis is based on the following article:
 
 
:Deluzio KJ and Astephen JL (2007) Biomechanical features of gait waveform data associated with knee osteoarthritis. An application of principal component anslysis. Gait & Posture 23. 86-93 ([http://m.me.queensu.ca/People/Deluzio/files/PublishedArticle.pdf pdf])
 
 
:'''Abstract'''
:This study compared the gait of 50 patients with end-stage knee osteoarthritis to a group of 63 age-matched asymptomatic control subjects. The analysis focused on three gait waveform measures that were selected based on previous literature, demonstrating their relevance to knee osteoarthritis (OA): the knee flexion angle, flexion moment, and adduction moment. The objective was to determine the biomechanical features of these gait measures, related to knee osteoarthritis. Principal component analysis was used as a data reduction tool, as well as a preliminary step for further analyses to determine gait pattern differences between the OA and the control groups. These further analyses included statistical hypothesis testing to detect group differences, and discriminant analysis to quantify overall group separation and to establish a hierarchy of discriminatory ability among the gait waveform features at the knee. The two groups were separated with a misclassification rate (estimated by cross-validation) of 8%. The discriminatory features of the gait waveforms were, in order of their discriminatory ability: the amplitude of the flexion moment, the range of motion of the flexion angle, the magnitude of the flexion moment during early stance, and the magnitude of the adduction moment during stance.
|}

Latest revision as of 20:25, 11 April 2023

Language:  English  • français • italiano • português • español 

Inspect3D. Analytics and Data Exploration for Biomechanics.

Inspect3D is the software tool for biomechanics researchers with large motion capture data sets.

Inspect3D allows users to: load multiple C3D files, detect and remove outliers, group signals based on custom conditions, analyse data, and produce visualizations every step of the way.

Inspect3D is designed to integrate seamlessly with Visual3D. Where Visual3D is primarily a session-based tool for processing motion capture data, Inspect3D lets researchers take their Visual3D results and process them at study-level.

At its heart, Inspect3D is all about helping researchers through the knowledge discovery process: collecting, cleaning, shaping, and analysing their data before communicating their results.

Collecting data: Inspect3D lets you load CMO files containing all of the C3D files associated with your study.
Cleaning data: Your data can be visualized easily as individual traces, workspace means, or group means. You can click on specific cycles and choose to exclude them from analysis. Early data visualization and formal outlier detection techniques help you ensure that only valid data is used for your analysis.
Shaping data: A single study can contain multiple questions, each looking at the underlying data in different ways. Inspect3D can automatically group signals for you or you can define your own custom queries based on tags, events, or expressions. Common signal groups include Left and Right signals, Affected and Unaffected sides, and Pitching vs. Non-pitching sides.
Performing analysis: Inspect3D implements common data analysis techniques such as summary statistics calculation, principal component analysis, and clustering algorithms.
Communicating results: Analysis results can be exported to a number of different text formats including Visual3D ASCII, P2D, and SPSS. Each of the different visualization tools also give you complete control over colours used, line styles, and axis labels to allow you to produce the figures that you want.

Ready to see how you can used Inspect3D in your research? Get Started!

Retrieved from ""