Inspect3D Tutorial: Clean your Data: Difference between revisions

From Software Product Documentation
Jump to navigation Jump to search
(Moved tutorial page to complete title.)
 
m (Text replacement - "www.c-motion.com/download" to "www.has-motion.com/download")
 
(14 intermediate revisions by 2 users not shown)
Line 8: Line 8:


==Data==
==Data==
This tutorial uses overground walking data from four subjects. The subjects walked at three different speeds; slow, normal and fast. The data was analyzed using a pipeline which included an automatic gait event detection command. [[Model_Based_Items|Link model based items]] (including right and left ground reaction forces) were created using a pipeline. This data is reflective of a typical outcome from batch data analysis in [[Visual3D_Overview|Visual3D]]. These data files can be downloaded using this link: [https://www.c-motion.com/download/examples/inspect3d_samples.zip Inspect3D Samples]
This tutorial uses overground walking data from four subjects. The subjects walked at three different speeds; slow, normal and fast. The data was analyzed using a pipeline which included an automatic gait event detection command. [[Model_Based_Items|Link model based items]] (including right and left ground reaction forces) were created using a pipeline. This data is reflective of a typical outcome from batch data analysis in [[Visual3D_Overview|Visual3D]].


==Set the library path to the data directory==
These data files can be downloaded using this link: [https://www.has-motion.com/download/examples/FourSubjectsWalkingData.zip Four Subjects Walking Data Set].
 
==Loading the library==
<div style="overflow: hidden">
<div style="overflow: hidden">
[[Image:LibraryNotLoadedDialogue2.png|upright=0.75|right|alt="The Load Library dialog before a library has been loaded."]]
[[Image:Inspect3D_Four_Subjects_Loaded.png|400px|right|alt="The Load Library dialog after the Four Subjects Walking Data Set has been loaded."]]


1. Click [[Image:I3DLoadLibrary.png]] <b>Load Library</b> in the [[Inspect3D_Documentation_ToolBar|toolbar]] to open the Load Library dialog.
1. Click [[Image:I3DLoadLibrary.png|20px]] <b>Load Library</b> in the [[Inspect3D_Documentation_ToolBar|toolbar]] to open the Load Library dialog.


2. Click <b>Browse</b> and select the folder where the data is stored. (Choose .cmo file types when browsing to see the sample data files.)
2. Click <b>Browse</b> and select the folder where the CMZ files are stored.


3. Click <b>Load</b> button to import the data.
3. Click <b>Load</b> button to import the data.


This step selects the path to the data you are using. If you intend to modify the data, e.g., by correcting invalid assignments, then your data must be saved in a directory where you have read and write access. This tutorial uses a folder located on the desktop. The data folder must contain .cmo and .cmx files for every subject, since without both file types Inspect3D will be unable to load the files. Each .cmo file has multiple .c3d files with the different walking speeds identified using Tags.  
This step selects the path to the data you are using. If you intend to modify the data, e.g., by correcting invalid assignments, then your data must be saved in a directory where you have read and write access. This tutorial uses a folder located on the desktop. The data folder must contain the .cmx file associated with every [[CMZ_Format|.cmz]] file, since without both file types Inspect3D will be unable to load the files. Each .cmz file has multiple .c3d files with the different walking speeds identified using Tags.  


NOTE: After the CMO library path is set, files from the selected folder and sub-folders will be loaded and parsed. Inspect3D will show a summary of the loaded files and what they contain in the Load Library dialog. Examine this summary to make sure that the correct files have loaded.  
NOTE: After the library path is set, files from the selected folder and sub-folders will be loaded and parsed. Inspect3D will show a summary of the loaded files and what they contain in the Load Library dialog. Examine this summary to make sure that the correct files have loaded.  
</div>
</div>


==Define queries and group signals==
==Defining queries and calculating groups==
<div style="overflow: hidden">
<div style="overflow: hidden">
1. Open the Query dialogue to start defining your data groups.
1. Click on the [[Image:I3DGroups.png|20px]] <b>Query Definitions</b> icon on the [[Inspect3D_Documentation_ToolBar|toolbar]] and then click on [[Image:I3DGroups.png|20px]] <b>Query Definitions</b> to open the Query Builder dialog.
 
2. To create a new query definition, click the [[Image:ActionAdd48x48.png|20px]] green addition button in the empty <b>Queries</b> list.
 
2.1. Type GRF in the <b>Query Name</b> text box in top-right and click <b>Save</b>.
 
[[Image:Inspect3D_Creating_Query_(Four_Subjects_Walking).png|500px]]
 
3. While the GRF query is selected, click the [[Image:ActionAdd48x48.png|20px]] green addition button in the empty <b>Conditions</b> list.
 
3.1. Type R_GRF in the <b>Condition Name</b> text box in the top-right.
 
3.2. There are now three tabs that need to be completed in order to define the sub-group.
 
3.2.1. <b>Signals</b>: This tab allows the user to select specific signals according to their names in the [[Data_Tree_Summary|Visual3D Data Tree]]. For this tutorial, select the signal: TYPE - LINK_MODEL_BASED, FOLDER - ORIGINAL, NAME - R_GRF, and COMPONENT - Z.
 
[[Image:Inspect3D_Signal_Tab_(Four_Subjects_Walking).png|500px]]
 
3.2.2. <b>Events</b>: This tab allows the user to specify the desired event sequence to extract data from. For instance, the right gait cycle could be extracted using the event sequences RON, ROFF or RHS, RHS. For this tutorial select the RON and ROFF events and leave the default normalization values of 101 for the number of points and cubic for the spline type.
 
[[Image:Inspect3D_Events_Tab_(Four_Subjects_Walking).png|500px]]


1.1 In order to create a new query click the Add Query button and in the text box at the top left type in GRF, then click Modify Name.  
3.2.3. <b>Refinements</b>: This tab allows the user to refine their selected signal using two separate and distinct methods: according to the signals contained within the [[CMO Format|CMO files]], or according to Tags. For this tutorial, Refine using tags by leaving the <b>Use AND Logic</b> checkbox unchecked and selecting the SLOW, NORMAL, and FAST tags.


1.2 At the bottom left click on the Add button. This will create a condition. On the right side of the screen at the top enter the condition name (R_GRF) into the text box.  
[[Image:Inspect3D_Refinement_Tab_(Four_Subjects_Walking).png|500px]]


[[Image:R_GRFCondition2.png]]
3.3. Click <b>Save</b> to create the condition.  


1.3 There are three sub-categories that should be filled out; events, signals, and refinement. [[Image:L_GRF_EventsTab2.png|right]]
4. For this tutorial, define a second condition within the same group to account for the left side. This can be done by modifying the existing sub-group:


Events: This tab allows the user to specify the desired event sequence to extract data from. For instance, the right gait cycle could be extracted using the event sequences RON, ROFF or RHS, RHS. For this tutorial use RON and ROFF.
4.1. While the GRF group is selected, click the [[Image:ActionAdd48x48.png|20px]] green addition button in the <b>Sub-Groups</b> list and type L_GRF in the <b>Sub-Group Name</b> text box.


Signals: This tab allows the user to perform signal selection. This is done by identifying a Type, Folder, Component, and Name. When completing this signal selection, the user should consider the events selected in the previous category. For instance, if the events refer to the left side, then the selected signal should also refer to the left side. For this tutorial use the following: TYPE - LINK_MODEL_BASED, FOLDER - ORIGINAL, NAME - R_GRF, and COMPONENT - Z.  
4.1.1. In the Signals tab, change the NAME to L_GRF and leave the other parameters as they are.


Refinement: This category allows the user to refine their selected signal using two separate and distinct methods. The first method uses signals contained within the .cmo files, where only signals that meet the refinement will be extracted. For example the settings could be as follows: Type - Metric, Folder - Processed, Name - Height, Component - 0, Value Must Be - Less Than 1.8. It would result in participants with a height of less than 1.8m being included in the query. The second type of refinement uses Tags. Here the user can select which tags they wish to include in the query. By selecting multiple tags, all files with any of the tags assigned will be used. This effectively acts as an 'OR' operator. If the Use AND Logic checkbox is selected only files with all the selected tags. For this tutorial use the Refine using tag, leave the Use AND Logic checkbox blank and select SLOW, NORMAL, and FAST.  
4.1.2. In the Events tab, select the event sequence LON and LOFF.
</div>
 
<div style="overflow: hidden">
4.1.3. Leave the Refinements tab as it was.
2. For this tutorial, complete a second condition in the same query except for the left side. Open the Events tab and double click on "LON" in the All Events list to move it to the Event Sequence list. Events can also be moved with the arrow buttons found between the lists. Double click on "LOFF" to move the second event to the Event Sequence list.  
 
4.2. Click <b>Save</b> to create this second condition.
 
[[Image:Inspect3D_Two_Conditions_(Four_Subjects_Walking).png|500px]]


2.1 [[Image:L_GRF_SignalsTab2.png|right]] Because the purpose of this tutorial is to demonstrate how to validate force assignments, the groups defined here are relevant to force assignments. In this case, the signals selected are the right and left ground reaction forces. Users should bear in mind that the signal selection step requires that the user has some understanding of a “normal” signal shape, thus allowing them to identify abnormalities. If the desired signal does not appear in the combo boxes, then it does not exist in the .cmo files.  In order for signals to appear, they must be created in Visual3D or our FileConverter (for other users).
You should now see one query (GRF) in the <b>Queries</b> list and two conditions (R_GRF and L_GRF) in the <b>Conditions</b> list. At this point in the tutorial these definitions have been created but they have not been applied to the signals in the loaded library. To do this, click on <b>Calculate All Queries</b> (or <b>Calculate Selected Queries</b>, since there is only one group in this tutorial).
</div>
<div style="overflow: hidden">
3. [[Image:L_GRF_RefinementTab2.png|right]] Open the Signals tab. Set the TYPE as LINK_MODEL_BASED, set FOLDER as ORIGINAL, select L_GRF from the All Signals table, and set COMPONENT to Z.
</div>
<div style="overflow: hidden">
4. Open the Refinement tab. Select the Refine Using Tag checkbox. Select SLOW, NORMAL, and FAST, leaving STATIC unselected. Make sure that L_GRF is in the Condition Name text field at the top of the section and click Save.
4.1 In this example, no metric refinements are desired, however to assess the veracity of the force assignments, all dynamic walking conditions need to be selected. Prior to performing the query, a meaningful name must be assigned to the query and conditions. Because the aim of this tutorial is to validate force assignments, it is important to differentiate between right and left in the condition name, this is done here by simply including R and L in the names.  


After defining a set of queries and calculating the associated groups, it is important to always examine the results visually by plotting them.
Once the group is calculated you can close the Query Builder dialog, it is now time to examine the results visually by plotting them.
</div>
</div>


==Visualizing and exploring your data==
==Visualizing and exploring your data==
<div style="overflow: hidden">
<div style="overflow: hidden">
1. With the signals defined, the data contained within the .cmo files can be explored. The query names defined previously are shown in the query groups section (see 1). When the groups are clicked, the subjects contained within those groups are shown (see 2). The check mark beside subjects indicates that no data has been excluded for the subject. The line color beside the group names refers to the color of that group on the data plot.
1. With the groups calculated, the specific traces that have been extracted from the loaded library's .c3d files can be explored. The group name defined in the previous step is shown in the <b>Groups</b> section (see 1). When the groups are clicked, the workspaces associated with the selected group(s) are shown (see 2). The icon beside a workspace indicates its colour in the <b>Queried Data</b> plots. A check mark indicates that the workspace has had none of its traces excluded; an X indicates that at least one trace has been excluded.
[[Image:ExploringSignalsRawData_2.png]]
 
[[Image:Inspect3D_Visualizing_Four_Subjects_Walking.png|500px]]
 
</div>
</div>
<div style="overflow: hidden">
<div style="overflow: hidden">
2. Select all of the subjects either by using the Select All Subjects check box or by selecting them all in the Group Subjects list. Then select the Plot Subject Raw check box and click on the Refresh Plot button.  
2. Select all of the workspaces either by using the <b>Select All Workspaces</b> check box or by selecting them all in the <b>Workspaces</b> list. Then ensure that the <b>Plot All Sequences</b> check box is checked and click <b>Refresh Plot</b>.  
</div>


2.1 The initial exploration of the data starts by plotting the raw data for the subjects. This is achieved by clicking the check boxes 'Plot Subj Raw', followed by clicking 'Refresh Plot'. Check the appropriate boxes in order to plot the selected groups and workspaces only.
</div>
<div style="overflow: hidden">
<div style="overflow: hidden">
3. When there is [[Inspect3D_Troubleshooting#Data_Missing_Graph|missing data]] in your queries the y-axis will go to -999 999.0 and the data will be compressed to lines. This missing data can be removed.  
3. When Inspect3D tries to plot [[Inspect3D_Troubleshooting#Data_Missing_Graph|missing data]], your y-axis will go to -999 999.0 and the axis scale will cause the data to be compressed into lines. To avoid this, open the [[Image:I3DShowOptions.png|20px]] <b>[[Inspect3D_Documentation_Options_Dialogue#Plotting_options|Options]]</b> dialog and deselect the <b>Show data not found</b> checkbox in the <b>Plotting options</b> section.  
 
3.1 Open the [[Inspect3D_Documentation_Options_Dialogue#Plotting_options|Options Dialogue]] and deselect the Show data not found checkbox.
 
3.2 When the graph is updated using the Refresh Plot button it should resemble the graph below.  


[[Image:GRFGraph_Fitted.png]]
3.1. Update your plot by clicking <b>Refresh Plot</b>; it should now resemble the graph below.  


3.3 More information on graphs with data missing can be found on the [[Inspect3D_Troubleshooting#Data_Missing_Graph|Troubleshooting page]].
[[Image:Inspect3D_Queried_Data_(Four_Subjects_Walking).png|500px]]
</div>
</div>
<div style="overflow: hidden">
<div style="overflow: hidden">
4. Use your cursor to select only lines on the graph that you wish to inspect.  
4. Use your cursor to select only lines on the graph that you wish to inspect. Click on single traces in order to examine individual curves without the other curves 'polluting' the graph. When a trace is clicked, a tooltip will appear to describe the source of the trace in terms of both Inspect3D's groups and workspaces and the underlying .c3d files.


4.1 With the data plotted, the user can click on single signal traces in order to examine individual curves without the other curves 'polluting' the graph. When a signal is clicked, text will appear describing the signal trace.
[[Image:Inspect3D_Select_Trace_(Four_Subjects_Walking).png|500px]]
 
[[Image:ExploringSignalsRawData2.png]]
</div>
</div>


==Verifying raw data and excluding traces==
==Verifying raw data and excluding traces==
Once the queried traces have been plotted, it is now possible to begin cleaning the data. In this example, in particular, it is evident that some incorrect forces assignments exist.
<div style="overflow: hidden">
<div style="overflow: hidden">
1. [[Image:GRF_DataSelection.png|right]] Select any lines that may be a result of a 'bad' event.  
1. In order to exclude these incorrect assignments, select any lines that may be a result of a 'bad' event. For the obvious 'bad' events, it is possible to click and drag over multiple traces on the plot to select them simultaneously.  


1.1 In this example, with the data plotted, it is evident that some incorrect forces assignments exist. In order to exclude these assignments, they must be selected. For the obvious 'bad' events, the user can click and drag to selected multiple signals.
2. Right-click and navigate to Exclude, at the very bottom, and click Exclude Trace (raw data).
</div>
<div style="overflow: hidden">
2. [[Image:GRF_ExcludeTraceRawData.png|right]] Right-click and navigate to Exclude, at the very bottom, and click Exclude Trace (raw data).
</div>
</div>
<div style="overflow: hidden">
<div style="overflow: hidden">
3. Verify that your desired traces have been properly excluded.
3. Verify that your desired traces have been properly excluded.


3.1 When traces are excluded, two notable differences should appear in the 'Query Data' tab. Firstly, the previously selected, but now excluded data should not be visible on the graph (see 1). Secondly, an X should replace the original green check mark beside each subject where signal traces have been excluded (see 2). In this case, all subjects' data contained poor quality events. If unintentional exclusion occurred for a subject, you can right click on the subject and select 'Re-Include Data'.
3.1 When traces are excluded, two notable differences should appear in the Queried Data subwindow. First, the previously selected, but now excluded data should not be visible on the graph. Second, the <b>Workspaces</b> widget will indicate when traces have been excluded. Specifically, an X should replace the original check mark beside each workspace where signal traces have been excluded, two horizontal bars should replace the check mark beside each .c3d file with excluded traces, and a red X should replace the checkmark beside each excluded trace. Additionally, the fraction of traces excluded for each workspace is displayed on the right-hand side of the <b>Workspaces</b> widget: in this case all of the workspaces contained poor quality events. If unintentional exclusion occurred for a subject, you can right click on the subject and select 'Re-Include Data'.
 
[[Image:Inspect3D_Excluded_Traces_(Four_Subjects_Walking).png|800px]]
 
4. If you want to visualize the data you have excluded alongside the remaining data, go to the [[Inspect3D_Documentation_Options_Dialogue|Show Options]] dialog and select the "Show excluded data" option. You can choose to use a specific line style for excluded data and specify this style in the [[Inspect3D_Documentation_Options_Dialogue#Line_Style|Line Styles]] tab.
 
[[Image:Inspect3D_Excluded_Traces_Shown_(Four_Subjects_Walking).png|800px]]


[[Image:GRF_CleanAnnotated2.png]]
</div>
</div>
<div style="overflow: hidden">
<div style="overflow: hidden">
4.[[Image:GRF_ShowAnimation.png|right]] If there are events that need to be examined more closely before deciding to include or exclude them ues the following steps:
5.[[Image:Inspect3D_Animate_Trace_(Four_Subjects_Walking).png|right|300px]] Traces can also be examined more closely before deciding to include or exclude them.


4.1 Select the events by clicking and dragging.  
5.1 Select the traces of interest by clicking and dragging on the plot.  


4.2 Click the [[Image:I3DShowAnimation.png]] Show Animation button.   
5.2 Click the [[Image:I3DShowAnimation.png|20px]] <b>Show Animation</b> button.   


4.3 This action opens an animation view of the selected event sequences. An animation of the traces only appears if there is enough data in the .cmo file to recreate the animation. All of the selected sequences are in a drop down box near the top of the animation frame. Using this view, the user can determine what (if any) issue exists in the data to merit an exclusion. As traces are excluded, they are removed the both the background graph as well as the drop-down box within the animation frame.
5.3 The Show Animation dialog can display animations for those selected traces with enough data in the .cmz file to permit a recreation. Each of the selected traces can be selected from the drop-down box near the top of the dialog. This view can be used to determine what (if any) issue exists in the data and whether this merits exclusions. Excluded traces are removed from the drop-down box within the dialog as well as the Queried Data subwindow.
 
6. Once all of the desired exclusions have been made, the original data is ready to be updated.
</div>
</div>
5. Once all of the desired exclusions have been made, the original data is ready to be updated.


==Updating the original data==
==Updating the original data==
<div style="overflow: hidden">
<div style="overflow: hidden">
1. [[Image:GRF_UpdateCMOs3.png|right|300px]] Once the bad force assignments have been identified the user can update the original cmo data by clicking the circular blue arrow in the top toolbar.  
1. [[Image:Inspect3D_Update_CMZ_(Four_Subjects_Walking).png|300px|right]] Now that the incorrect force assignments have been identified in our data set, it is possible to update the original [[CMO Library|CMZ]] data by clicking the [[Image:I3DUpdateCMOsWithBadEvents.png|20px]] <b>UpdateCMZs</b> item in the application's tool bar. This opens a dialog that provides different options for processing excluded data.
 
2. The <b>Excluded Traces</b> options allow the user to add a BAD event to the excluded traces. This option is helpful if the intention is to [[Tag|tag]] the bad data, re-open the original data, and make manual corrections one trace at a time.


1.1 When this button is clicked, a dialog will appear providing some exclusion options. The first options specifies whether a BAD event should be added to the excluded events sequences. This option should be selected if the intention is to Tag the bad data, re-open the original data, and make manual corrections one trace at a time. The second option actually removes the force assignment in the original data. This option should be selected if the user does not intend to revisit the original data after the modifications have been made (Note: by selecting the second option, re-performing the same queries as described here will produce different results).
3. Alternatively, the <b>Update Force Assignments</b> option actually removes the force assignment from the original data. This option should be used if the user does not intend to revisit the original data after the modifications have been made (note: this second option changes the underlying data. Re-performing this tutorial with the newly saved data will produce different results).
</div>
 
<div style="overflow: hidden">
4. Select both <b>Add Event to Exclude Signals</b> with the default event name "BAD" and <b>Update Force Assignments using excluded Query data from:</b> with "GRF". Then click <b>Update CMOs</b>.
2. [[Image:GRF_FullyUpdatedCMOsAnnotated2.png|300px|right]] Select both the Add BAD Event option and the Remove Force Assignments option.  


2.1 This will open each cmo file in the background, remove the assignments, and add a BAD tag to the event sequence. The process can take some time depending on the .cmo size. However, you can further explore your data (or get a coffee) as it is being performed. When the update is complete, the green check marks beside the .cmo files will return and the original data will be modified. For these files (which are typical), the process took around 30 seconds.
5. This results in Inspect3D opening each .cmz file in the background, adding a BAD event for the excluded traces, and removing the force assignments. This process can take some time depending on the .cmz size, but you can further explore your data (or get a coffee) as it is occurs. When the update is complete, the check mark icons will return beside each workspace in the <b>Workspaces</b> widget and the original data will be modified.
</div>
</div>


==Recap==
==Recap==
In this tutorial you learned how to use Inspect3D as a data cleaning tool for quality assurance purposes. Here, the process of loading data, defining queries, excluding data, and updating the original data are described.
In this tutorial you learned how to use Inspect3D as a data cleaning tool for quality assurance purposes. Here, the process of loading data, defining queries, excluding data, and updating the original data are described.
==Navigate Tutorials==
<div style='text-align: left;float:left;width:33%;'>Previous: [[Inspect3D_Tutorial:_Load_and_View_Data|Tutorial 1: Load and View Data]]</div>
<div style='text-align: center;float:left;width:33%;'><b>Inspect3D Getting Started Tutorials</b></div>
<div style='text-align: right;float:left;width:33%;'>Next: [[Inspect3D_Tutorial:_Perform_Principal_Component_Analysis|Tutorial 3: Perform Principal Component Analysis]]</div>


[[Category:Inspect3D]]
[[Category:Inspect3D]]
[[Category:Tutorials]]

Latest revision as of 11:20, 22 May 2024

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

This tutorial will show you how to use Inspect3D as a data cleaning, or quality assurance, tool. You will learn how to check for and correct faulty force assignments from all files at once, thereby removing any artifacts from the data. This is particularly useful for lab managers (or supervisors) who may not be familiar with the raw data, or collaborators that were not involved in the collection process.

Data

This tutorial uses overground walking data from four subjects. The subjects walked at three different speeds; slow, normal and fast. The data was analyzed using a pipeline which included an automatic gait event detection command. Link model based items (including right and left ground reaction forces) were created using a pipeline. This data is reflective of a typical outcome from batch data analysis in Visual3D.

These data files can be downloaded using this link: Four Subjects Walking Data Set.

Loading the library

"The Load Library dialog after the Four Subjects Walking Data Set has been loaded."

1. Click Load Library in the toolbar to open the Load Library dialog.

2. Click Browse and select the folder where the CMZ files are stored.

3. Click Load button to import the data.

This step selects the path to the data you are using. If you intend to modify the data, e.g., by correcting invalid assignments, then your data must be saved in a directory where you have read and write access. This tutorial uses a folder located on the desktop. The data folder must contain the .cmx file associated with every .cmz file, since without both file types Inspect3D will be unable to load the files. Each .cmz file has multiple .c3d files with the different walking speeds identified using Tags.

NOTE: After the library path is set, files from the selected folder and sub-folders will be loaded and parsed. Inspect3D will show a summary of the loaded files and what they contain in the Load Library dialog. Examine this summary to make sure that the correct files have loaded.

Defining queries and calculating groups

1. Click on the Query Definitions icon on the toolbar and then click on Query Definitions to open the Query Builder dialog.

2. To create a new query definition, click the green addition button in the empty Queries list.

2.1. Type GRF in the Query Name text box in top-right and click Save.

3. While the GRF query is selected, click the green addition button in the empty Conditions list.

3.1. Type R_GRF in the Condition Name text box in the top-right.

3.2. There are now three tabs that need to be completed in order to define the sub-group.

3.2.1. Signals: This tab allows the user to select specific signals according to their names in the Visual3D Data Tree. For this tutorial, select the signal: TYPE - LINK_MODEL_BASED, FOLDER - ORIGINAL, NAME - R_GRF, and COMPONENT - Z.

3.2.2. Events: This tab allows the user to specify the desired event sequence to extract data from. For instance, the right gait cycle could be extracted using the event sequences RON, ROFF or RHS, RHS. For this tutorial select the RON and ROFF events and leave the default normalization values of 101 for the number of points and cubic for the spline type.

3.2.3. Refinements: This tab allows the user to refine their selected signal using two separate and distinct methods: according to the signals contained within the CMO files, or according to Tags. For this tutorial, Refine using tags by leaving the Use AND Logic checkbox unchecked and selecting the SLOW, NORMAL, and FAST tags.

3.3. Click Save to create the condition.

4. For this tutorial, define a second condition within the same group to account for the left side. This can be done by modifying the existing sub-group:

4.1. While the GRF group is selected, click the green addition button in the Sub-Groups list and type L_GRF in the Sub-Group Name text box.

4.1.1. In the Signals tab, change the NAME to L_GRF and leave the other parameters as they are.

4.1.2. In the Events tab, select the event sequence LON and LOFF.

4.1.3. Leave the Refinements tab as it was.

4.2. Click Save to create this second condition.

You should now see one query (GRF) in the Queries list and two conditions (R_GRF and L_GRF) in the Conditions list. At this point in the tutorial these definitions have been created but they have not been applied to the signals in the loaded library. To do this, click on Calculate All Queries (or Calculate Selected Queries, since there is only one group in this tutorial).

Once the group is calculated you can close the Query Builder dialog, it is now time to examine the results visually by plotting them.

Visualizing and exploring your data

1. With the groups calculated, the specific traces that have been extracted from the loaded library's .c3d files can be explored. The group name defined in the previous step is shown in the Groups section (see 1). When the groups are clicked, the workspaces associated with the selected group(s) are shown (see 2). The icon beside a workspace indicates its colour in the Queried Data plots. A check mark indicates that the workspace has had none of its traces excluded; an X indicates that at least one trace has been excluded.

2. Select all of the workspaces either by using the Select All Workspaces check box or by selecting them all in the Workspaces list. Then ensure that the Plot All Sequences check box is checked and click Refresh Plot.

3. When Inspect3D tries to plot missing data, your y-axis will go to -999 999.0 and the axis scale will cause the data to be compressed into lines. To avoid this, open the Options dialog and deselect the Show data not found checkbox in the Plotting options section.

3.1. Update your plot by clicking Refresh Plot; it should now resemble the graph below.

4. Use your cursor to select only lines on the graph that you wish to inspect. Click on single traces in order to examine individual curves without the other curves 'polluting' the graph. When a trace is clicked, a tooltip will appear to describe the source of the trace in terms of both Inspect3D's groups and workspaces and the underlying .c3d files.

Verifying raw data and excluding traces

Once the queried traces have been plotted, it is now possible to begin cleaning the data. In this example, in particular, it is evident that some incorrect forces assignments exist.

1. In order to exclude these incorrect assignments, select any lines that may be a result of a 'bad' event. For the obvious 'bad' events, it is possible to click and drag over multiple traces on the plot to select them simultaneously.

2. Right-click and navigate to Exclude, at the very bottom, and click Exclude Trace (raw data).

3. Verify that your desired traces have been properly excluded.

3.1 When traces are excluded, two notable differences should appear in the Queried Data subwindow. First, the previously selected, but now excluded data should not be visible on the graph. Second, the Workspaces widget will indicate when traces have been excluded. Specifically, an X should replace the original check mark beside each workspace where signal traces have been excluded, two horizontal bars should replace the check mark beside each .c3d file with excluded traces, and a red X should replace the checkmark beside each excluded trace. Additionally, the fraction of traces excluded for each workspace is displayed on the right-hand side of the Workspaces widget: in this case all of the workspaces contained poor quality events. If unintentional exclusion occurred for a subject, you can right click on the subject and select 'Re-Include Data'.

4. If you want to visualize the data you have excluded alongside the remaining data, go to the Show Options dialog and select the "Show excluded data" option. You can choose to use a specific line style for excluded data and specify this style in the Line Styles tab.

5.
Traces can also be examined more closely before deciding to include or exclude them.

5.1 Select the traces of interest by clicking and dragging on the plot.

5.2 Click the Show Animation button.

5.3 The Show Animation dialog can display animations for those selected traces with enough data in the .cmz file to permit a recreation. Each of the selected traces can be selected from the drop-down box near the top of the dialog. This view can be used to determine what (if any) issue exists in the data and whether this merits exclusions. Excluded traces are removed from the drop-down box within the dialog as well as the Queried Data subwindow.

6. Once all of the desired exclusions have been made, the original data is ready to be updated.

Updating the original data

1.
Now that the incorrect force assignments have been identified in our data set, it is possible to update the original CMZ data by clicking the UpdateCMZs item in the application's tool bar. This opens a dialog that provides different options for processing excluded data.

2. The Excluded Traces options allow the user to add a BAD event to the excluded traces. This option is helpful if the intention is to tag the bad data, re-open the original data, and make manual corrections one trace at a time.

3. Alternatively, the Update Force Assignments option actually removes the force assignment from the original data. This option should be used if the user does not intend to revisit the original data after the modifications have been made (note: this second option changes the underlying data. Re-performing this tutorial with the newly saved data will produce different results).

4. Select both Add Event to Exclude Signals with the default event name "BAD" and Update Force Assignments using excluded Query data from: with "GRF". Then click Update CMOs.

5. This results in Inspect3D opening each .cmz file in the background, adding a BAD event for the excluded traces, and removing the force assignments. This process can take some time depending on the .cmz size, but you can further explore your data (or get a coffee) as it is occurs. When the update is complete, the check mark icons will return beside each workspace in the Workspaces widget and the original data will be modified.

Recap

In this tutorial you learned how to use Inspect3D as a data cleaning tool for quality assurance purposes. Here, the process of loading data, defining queries, excluding data, and updating the original data are described.

Navigate Tutorials

Previous: Tutorial 1: Load and View Data
Inspect3D Getting Started Tutorials
Next: Tutorial 3: Perform Principal Component Analysis
Retrieved from ""