ImFusion C++ SDK 4.4.0
Stream Plugin

Plugin for real-time streaming of image and tracking data. More...

Collaboration diagram for Stream Plugin:

Detailed Description

Plugin for real-time streaming of image and tracking data.

Overview

The ImFusion Stream API allows for streaming image and/or tracking data into the ImFusion framework in real time. It extends the general software architecture of the ImFusion SDK with the following building blocks:

  • The Stream class, which inherits from Data and can thus be part of the data model. It serves as both interface to configure and visualize (when part of the data model) a live stream input.
  • The StreamData interface, which carries the payload for each sample and is passed to listeners via the Stream::signalStreamData signal. If needed, custom streams can attach DataComponent API in order to encode custom information.
Overview class diagram of the ImFusion streaming architecture.

Display of Image Streams

Even though an ImageStream inherits from Data, it can not be visualized directly in the Visualization framework. This is due to the fact that a stream's image data is not directly attached to the Stream but only accessible through the Stream::signalStreamData signal.

In order to show the contents of an ImageStream in a view, use ImageStreamCache to create a proxy StreamSharedImageSet that will be updated with the images received from the stream. This proxy StreamSharedImageSet is automatically added to the views via the ImageStreamDisplayHandler.

It is possible to directly access the ImageStreamCache singleton, for instance to check if main window events like onVisibleDataChanged() refer to a Stream.

Topics

 Network Communication
 Network communication functionality.
 Recording
 Generic Recording and Playback of Streams.
 Stream Groups
 Bundling Multiple Streams Together.
 Instantiating Streams in ImFusion Suite
 Utilities to make Streams available in the ImFusion Suite.
 Streams and StreamData
 Fundamental classes for streaming data.

Classes

class  ImFusion::FakeImageStream
 Small tool class to create an image stream. More...
class  ImFusion::ImageStreamCache
 A singleton class for caching the output of an ImageStream in a SharedImageSet. More...
class  ImFusion::StreamSharedImageSet
 Wrapper around a streamed SharedImageSet. More...
class  ImFusion::InstrumentCalibrationDataComponent
 DataComponent storing calibration information for TrackingInstruments. More...
class  ImFusion::PlaybackStreamBase< T >
 Base class for various playback streams. More...
class  ImFusion::StreamAlgorithmExecutor
 Generic algorithm that allows the execution of arbitrary algorithms on each image coming in through an image stream. More...
class  ImFusion::AlgorithmExecutorStream
 Image stream helper class used as output of the StreamAlgorithmExecutor class. More...
class  ImFusion::TrackingInstrumentComboBox
 QComboBox widget for selecting TrackingInstruments from a TrackingStream. More...
class  ImFusion::TrackingInstrumentTable
 Table widget for displaying and managing TrackingInstruments from a TrackingStream. More...
class  ImFusion::TrackingStreamProperties
 Properties dialog for configuring calibration and registration of a TrackingStream. More...
class  ImFusion::TrackingStreamPropertiesAlgorithm
 Utility algorithm to launch the TrackingStreamProperties dialog for a TrackingStream to allow interactive editing of calibration matrices, registration, and main instrument selection. More...
class  ImFusion::TrackingStreamVisualizationAlgorithm
 Algorithm for real-time visualization of tracking data from a TrackingStream (deprecated). More...
class  ImFusion::VideoFileStream
 Stream images from a video file. More...
Search Tab / S to search, Esc to close