.. _streammodule: Stream ====== .. toctree:: :maxdepth: 2 algorithms The Stream module contains functionality to work with real-time sources of data (so-called streams). Examples include image streams ("Image Stream") such as webcams or ultrasound devices, and sources of real-time tracking data such as optical or electromagnetic tracking systems or robots ("Tracking Stream"). This module comes with central capabilities to handle such real-time data in the ImFusion Suite and is needed as foundation in all plugins implementing interfaces to real-time data sources. In general, the Stream module adds the following functionalities to the ImFusion Suite: * Data structures for streams, most notably ImageStream and TrackingStream * ImageStreamCache: a component that allows to visualize image streams directly in 2D and 3D views * Support for loading both cameras (standard operating system video sources) as well as video files as streams * An OpenIGTLink implementation for bi-directional image and tracking stream support * A high-level algorithm to record data received from streams into offline data structures for further processing * Playback of recorded image sets and tracking sequences as streams (standard playback streams) * Fake image and tracking streams for testing purposes On the foundation of this plugin, dedicated plugins are available to be purchased for specific hardware: Imaging Plugins --------------- - RGB-D plugin supporting a wide range of RGB-D cameras - Verasonics plugin: full high- and low-level support for Verasonics Vantage NXT ultrasound devices - GE AppAPI plugin: support for receiving images from all GE ultrasound devices with the data streaming option (commercially available currently only recent Vivid scanners) - BK plugin: support for receiving images from BK Medical ultrasound scanners - Cephasonics plugin: full high- and low-level support for Cephasonics Cicada ultrasound devices - Clarius open-source plugin (not officially supported): Support for Clarius ultrasound devices is available as open-source plugin `here `__ - Epiphan plugin: support for DVI2USB frame grabbers (note: recent AV.io frame grabbers register as standard video source to the OS and do not require this plugin) Tracking Plugins ---------------- - NDI plugin: NDI Aurora (electromagnetic) and Polaris Vega/Lyra (optical) tracking systems - Atracsys plugin: fusionTrack and spryTrack tracking systems (both optical) - OptiTrack plugin: any OptiTrack optical tracking system