User Tools

Site Tools


visual3d:tutorials:knowledge_discovery:signal_processing

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
visual3d:tutorials:knowledge_discovery:signal_processing [2024/07/30 13:46] – [Interpolate and Filter the TARGET signals using the Command Pipeline] wikisysopvisual3d:tutorials:knowledge_discovery:signal_processing [2025/01/15 19:33] (current) – [Signal Processing] wikisysop
Line 3: Line 3:
 The objective of this tutorial is **to provide an overview of signal processing in Visual3D.** The objective of this tutorial is **to provide an overview of signal processing in Visual3D.**
  
-Most signal processing functionality is available through the **Command Pipeline**, so it is advisable that you are familiar with the material in the previous [[Visual3D:Tutorials:Pipeline:Command_Pipeline_|Tutorial: Command Pipeline]]. The file [[https://www.has-motion.com/download/examples/Tutorial2.cmo|Tutorial2.cmo]], which was generated in the [[Visual3D:Tutorials:Reports:Visualizing_Data_|Tutorial: Visualizing Data]], can be used as the starting material here.+Most signal processing functionality is available through the **Command Pipeline**, so it is advisable that you are familiar with the material in the previous [[Visual3D:Tutorials:Pipeline:Command_Pipeline_|tutorial]] on the topic 
 + 
 +The ZIP file [[https://has-motion.com/download/YouTubeTutorial/Visual3D Tutorial 4 Signal Processing.zip|Visual3D Tutorial 4 Sample Data]] can be downloaded for the material required to begin this tutorial. this contains: 
 +  * **Tutorial4_Start**: Provides a starting point for this tutorialthis .cmz was generated in the [[Visual3D:Tutorials:Reports:Visualizing_Data_|Visualizing Data Tutorial.]] 
 +  * **Tutorial4_InterpolateFilterApplied_End.cmz**: End result file from this tutorial to view for correct Signal Processing. 
 + 
 +If you prefera video tutorial is available outlining the same processIt is available at this link: [[https://youtu.be/kepFHITYf0k?feature=shared|Visual3D Tutorial Video 4: Signal Processing]]
  
 ===== Preparation ===== ===== Preparation =====
  
-  - Open [[https://www.has-motion.com/download/examples/Tutorial2.cmo|Tutorial2.cmo]] that you have just downloaded. +  - Open Tutorial4_Start.cmz, which can also be the same starting file for the previous tutorial, [[visual3d:tutorials:pipeline:command_pipeline|Command Pipeline.]] Or, that you downloaded from the introduction of this tutorial
-  - Click on Signal and Event Processing to visualize the animation of the model based on the movement data and the model that was applied to it. If the animation doesn’t appear in the 3D Animation viewer, check the active file combo box on the toolbar. It should read ’Walking Trial 1.c3d’ rather than ALL-FILES+  - Click on Signal and Event Processing to visualize the animation of the model based on the movement data and the model that was applied to it. If the animation doesn’t appear in the 3D Animation viewer, check the active file combo box on the toolbar. It should read ’Walking Trial 1.c3d’ rather than ALL_FILES
   - If the animation is not playing, click on the PLAY button of the VCR controls at the bottom of the screen.   - If the animation is not playing, click on the PLAY button of the VCR controls at the bottom of the screen.
   - There are many viewing options for the Animation viewer available under the View Menu item or by clicking with the Right Mouse Button in the Animation Viewer itself. You should play around with these options to see the effects they have; most of the effects are intuitively obvious.   - There are many viewing options for the Animation viewer available under the View Menu item or by clicking with the Right Mouse Button in the Animation Viewer itself. You should play around with these options to see the effects they have; most of the effects are intuitively obvious.
Line 14: Line 20:
 ===== Visual3D Philosophy ===== ===== Visual3D Philosophy =====
  
-When a c3d file is loaded the data is copied into the Visual3D workspace. Visual3D follows a philosophy that **your original data is sacrosanct**. You should definitely check out the [[Visual3D:Getting_Started:Visual3D_Philosophy|Visual3D Philosophy]] page, but we will review some key points here.+When a [[visual3d:documentation:c3d_signal_types:c3d_format|C3D file]] is loaded the data is copied into the Visual3D workspace. Visual3D follows a philosophy that **your original data is sacrosanct**. You should definitely check out the [[Visual3D:Getting_Started:Visual3D_Philosophy|Visual3D Philosophy]] page, but we will review some key points here.
  
-The sacrosanct status of your original data means that the original data itself should never be changed or modified. Therefore, all processing performed on signals creates a new signal, whose **Processing History** is stored as a property of the new signal. This protects the researcher from "losing track" of the processing that was done and allows analysis results to be reproduced at any time. The original signals are stored in a folder labeled ORIGINAL. If a signal is processed with a command that acts only on that signal (e.g. a digital filter), the result is placed into a folder labeled PROCESSED. If the ORIGINAL signal is processed again, the existing PROCESSED signal is replaced with the newer version. If the user wants to retain this PROCESSED folder with the intention of having several versions of a signal persisting (e.g. Position, Velocity, and Acceleration), the PROCESSED folder can be renamed; this renamed folder will persist (e.g. it won't be overwritten automatically).+Visual3D ensures that your original data is never be changed or modified. All processing performed on signals creates a new signal, whose **Processing History** is stored as a property of the new signal. This protects the researcher from "losing track" of the processing that was done and allows analysis results to be reproduced at any time. The original signals are stored in a folder labeled ORIGINAL. If a signal is processed with a command that acts only on that signal (e.g. a digital filter), the result is placed into a folder labeled PROCESSED. If the ORIGINAL signal is processed again, the existing PROCESSED signal is replaced with the newer version. If the user wants to retain this PROCESSED folder with the intention of having several versions of a signal persisting (e.g. Position, Velocity, and Acceleration), the PROCESSED folder can be renamed; this renamed folder will persist (e.g. it won't be overwritten automatically).
  
-You need to be aware of any pre-processing done by your camera or analog equipment manufacturer. Some vendors interpolate and/or filter data **prior** to creating an output file, perhaps in order to make their output look better, for commercial reasons. At HAS-Motion, we believe that this practice has potentially damaging effects on outcomes. Physical disabilities can be completely hidden or minimized in this manner. Researchers using these systems will not be able to create reproducible results without fully documenting the preprocessing assumptions, algorithms, and results prior to any analysis. Feel free to contact HAS-Motion if you are unsure about how you system generates and provides its data. In many cases, pre-processing activity can be turned off.+You need to be aware of any pre-processing done by your camera or analog equipment manufacturer. Some vendors interpolate and/or filter data **prior** to creating an output file, perhaps in order to make their output "look better", for commercial reasons. At HAS-Motion, we believe that this practice has potentially damaging effects on outcomes. Physical disabilities can be completely hidden or minimized in this manner. Researchers using these systems will not be able to create reproducible results without fully documenting the preprocessing assumptions, algorithms, and results prior to any analysis. Feel free to contact HAS-Motion if you are unsure about how you system generates and provides its data. In many cases, pre-processing activity can be turned off.
  
-Being wary of unwarranted assumptions is also why we advocate capturing data in as raw” a form as possible. For example, if all we have is pre-computed ground reaction data from a force plate as input, we have to make the (possibly unwarranted) assumption that all the force plate properties, calibrations, and processing were perfect, since there is no way to validate the data. In designing Visual3D, and in our attempts to improve it incrementally over time, we have tried to make working with raw” input data as painless as possiblein order to encourage you to do so.+Being wary of unwarranted assumptions is also why we advocate capturing data in as "rawa form as possible. For example, if all we have is pre-computed ground reaction data from a force plate as input, we have to make the (possibly unwarranted) assumption that all the force plate properties, calibrations, and processing were correct since there is no way to validate the data. In building Visual3D, and in our attempts to improve it incrementally over time, we have tried to make working with raw input data as painless as possible in order to encourage you to do so.
  
-We have been challenged on this notion of the "RAW" data because Visual3D doesn't actually work with the video images, but rather with the processed 3D trajectories from another program. We accept this limitation but point out that most manufacturers place the calibration and tracking parameters into the C3D File.+We have been challenged on this notion of the raw data because Visual3D doesn't actually work with the video images, but rather with the processed 3D trajectories from another program. We accept this limitation but point out that most manufacturers place the calibration and tracking parameters into the C3D File.
  
-===== Basic Signal Processing =====+===== Interpolate and Filter TARGET signals using the Graphical Interface =====
  
 Several basic signal processing functions are available interactively by selecting a second tier FOLDER (e.g. TARGET:ORIGINAL, ANALOG:PROCESSED, etc) in the data tree with the **Right Mouse Button.** The available functions are: Several basic signal processing functions are available interactively by selecting a second tier FOLDER (e.g. TARGET:ORIGINAL, ANALOG:PROCESSED, etc) in the data tree with the **Right Mouse Button.** The available functions are:
Line 35: Line 41:
   - Rectify   - Rectify
  
-===== Interpolate and Filter the TARGET signals ===== +Interpolating and Filtering TARGET data is a two-step process. The available functions in the graphical user interface can be used to complete this process.
- +
-Interpolating and Filtering the TARGET data is a two step process.+
  
   - Expand the data tree in **Signal and Event Processing** mode.   - Expand the data tree in **Signal and Event Processing** mode.
Line 52: Line 56:
 ===== Interpolate and Filter the TARGET signals using the Command Pipeline ===== ===== Interpolate and Filter the TARGET signals using the Command Pipeline =====
  
-The preceding signal processing (e.g. interpolate then filter) can be accomplished using the Command Pipeline.+Interpolating and Filtering TARGET data can also be accomplished using the Command Pipeline.
  
-**NOTE: Steps 4 and should not both be done. If you choose to use step 4 and process the signals manually, you should not then use Step 5.**+**NOTE: This section and the previous section should not BOTH be done. If you have already manually interpolated and filtered the datathen you should not also do so with the command pipeline.**
   - Launch the Command Pipeline Dialog by clicking the pipeline button {{:pipelineButton.jpg}} on the toolbar, or by pressing F11. \\ {{:tutorial5_4.jpg}}   - Launch the Command Pipeline Dialog by clicking the pipeline button {{:pipelineButton.jpg}} on the toolbar, or by pressing F11. \\ {{:tutorial5_4.jpg}}
   - Expand the TARGET folder in the data tree (in Signal and Event Processing Mode) and select the check box beside the ORIGINAL folder.   - Expand the TARGET folder in the data tree (in Signal and Event Processing Mode) and select the check box beside the ORIGINAL folder.
   - Expand the **Signal Process** folder in the list of Pipeline Commands   - Expand the **Signal Process** folder in the list of Pipeline Commands
   - Double click on the **Interpolate** to load the command into the pipeline   - Double click on the **Interpolate** to load the command into the pipeline
-  - Click on **Import Checked Signals from Tree** button, which will add the checked signals to the pipeline command. \\ {{:tutorial5_5.jpg}}+  - Click on **Import Checked Signals (With Prefix)** button, which will add the checked signals to the pipeline command. \\ {{:tutorial5_5.jpg}}
   - Select the **Execute Pipeline** button to execute the interpolate command.   - Select the **Execute Pipeline** button to execute the interpolate command.
   - When you execute the pipeline, Visual3D executes in order all commands in the pipeline. A dialog will appear with the results of the processing. It lists the output of each command and highlights any errors. Pipelines are useful for ordering a set of tasks so that they always occur in the same order. But pipelines must be set up precisely in order to work.   - When you execute the pipeline, Visual3D executes in order all commands in the pipeline. A dialog will appear with the results of the processing. It lists the output of each command and highlights any errors. Pipelines are useful for ordering a set of tasks so that they always occur in the same order. But pipelines must be set up precisely in order to work.
Line 89: Line 93:
 ; ;
 </code> </code>
- 
  
  
visual3d/tutorials/knowledge_discovery/signal_processing.1722347204.txt.gz · Last modified: 2024/07/30 13:46 by wikisysop