Difference between revisions of "Documentation/Nightly/Extensions/TrackerStabilizer"

From Slicer Wiki
Jump to: navigation, search
Line 23: Line 23:
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Module Description}}
 
{{documentation/{{documentation/version}}/module-section|Module Description}}
{{documentation/modulename}} module allows to output a filtered transform node based on an tracker input (transform node). Tracking sensors are really usefull to track surgical tools, robots, patient motion, etc... . However, the data imported in 3D Slicer from these devices are often noisy. In order to reduce this noise and being able to smoothly control some object, such as 3D Slicer camera, the {{documentation/modulename}} module will apply a low-pass filter on input data. The cut-off frequency (i.e. the smoothing parameter) is adjustable by the user.  
+
{{documentation/modulename}} module allows to output a filtered transform node based on an tracker input (transform node). Tracking sensors are particularly usefull to track surgical tools, robots, patient motion, etc... . However, data imported in 3D Slicer from these devices are often noisy. To reduce the noise and smoothly control objects, such as 3D Slicer camera, the {{documentation/modulename}} module will apply a low-pass filter on input data. The cut-off frequency (i.e. the smoothing parameter) is adjustable by the user.  
 
It is important to notice that filters induce delay, and the smoother the motion is, the bigger the delay between the raw data and the filtered position will be.
 
It is important to notice that filters induce delay, and the smoother the motion is, the bigger the delay between the raw data and the filtered position will be.
 
<!--
 
<!--
Line 36: Line 36:
 
{{documentation/{{documentation/version}}/module-section|Use Cases}}
 
{{documentation/{{documentation/version}}/module-section|Use Cases}}
 
The {{documentation/modulename}} module could be used in any situation requiring stable tracking data and not requiring a "real-time" information. Indeed, applying a filter on raw data will induce a delay (depending on choosen parameters) on the filtered position/orientation.
 
The {{documentation/modulename}} module could be used in any situation requiring stable tracking data and not requiring a "real-time" information. Indeed, applying a filter on raw data will induce a delay (depending on choosen parameters) on the filtered position/orientation.
An example could be to drive Slicer's virtual camera. Having some noise on the transformation driving the camera will cause the camera to "shake" which could be really distracting and make it difficult to see what is happening in the scene. By filtering this raw data, we could smooth the camera motion.
+
An example could be to drive Slicer's virtual camera. Having some noise on the transformation driving the camera will cause the camera to "shake" which could be really distracting and uncomfortable to look at. By filtering this raw data, camera motion is smoothed.
  
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
Line 49: Line 49:
 
* Output Transform. This is the filtered transform represented also by a vtkMRMLLinearTransformNode. This node can be created directly from the list
 
* Output Transform. This is the filtered transform represented also by a vtkMRMLLinearTransformNode. This node can be created directly from the list
 
* Filter checkbox. This checkbox turn on/off the filtering
 
* Filter checkbox. This checkbox turn on/off the filtering
* Smoothing slider. This slider control the smoothing parameter. In the left, really smooth, with quiet important delay. In the right, faster (almost no delay), but noisier.
+
* Smoothing slider. This slider control the smoothing parameter. In the left, smoother, with relatively important delay. In the right, faster (almost no delay), but noisier.
 
|}
 
|}
 
{|
 
{|

Revision as of 05:54, 9 February 2013

Home < Documentation < Nightly < Extensions < TrackerStabilizer

Introduction and Acknowledgements

This work is supported by NA-MIC, NCIGT, and the Slicer Community.
Author: Laurent Chauvin, Jayender Jagadeesan, Nobuhiko Hata
Contact: Laurent Chauvin <email> lchauvin@bwh.harvard.edu</email>

NA-MIC  
NCIGT  
SPL  

This project is supported by National Institute of Health (5P01CA067165, 5R01CA124377, 5R01CA138586, 2R44DE019322, 7R01CA124377, 5R42CA137886, 8P41EB015898).

Module Description

TrackerStabilizer module allows to output a filtered transform node based on an tracker input (transform node). Tracking sensors are particularly usefull to track surgical tools, robots, patient motion, etc... . However, data imported in 3D Slicer from these devices are often noisy. To reduce the noise and smoothly control objects, such as 3D Slicer camera, the TrackerStabilizer module will apply a low-pass filter on input data. The cut-off frequency (i.e. the smoothing parameter) is adjustable by the user. It is important to notice that filters induce delay, and the smoother the motion is, the bigger the delay between the raw data and the filtered position will be.

Use Cases

The TrackerStabilizer module could be used in any situation requiring stable tracking data and not requiring a "real-time" information. Indeed, applying a filter on raw data will induce a delay (depending on choosen parameters) on the filtered position/orientation. An example could be to drive Slicer's virtual camera. Having some noise on the transformation driving the camera will cause the camera to "shake" which could be really distracting and uncomfortable to look at. By filtering this raw data, camera motion is smoothed.

Tutorials

N/A

Panels and their use

The GUI of the TrackerStabilizer module contains 4 elements:
  • Input Transform. This is the raw data, usually raw tracker data, represented by a vtkMRMLLinearTransformNode
  • Output Transform. This is the filtered transform represented also by a vtkMRMLLinearTransformNode. This node can be created directly from the list
  • Filter checkbox. This checkbox turn on/off the filtering
  • Smoothing slider. This slider control the smoothing parameter. In the left, smoother, with relatively important delay. In the right, faster (almost no delay), but noisier.
TrackerStabilizer GUI


Similar Modules

N/A

References

N/A

Information for Developers


This module is for now only a low-pass filter, but in the futur, several filters would be implemented to let the choice to the user.