CustusX  2023.01.05-dev+develop.0da12
An IGT application
cx::VideoService Class Referenceabstract

Provides access to all video sources in the system, and connection stuff for the sources. More...

#include <cxVideoService.h>

Inheritance diagram for cx::VideoService:
cx::VideoImplService cx::VideoServiceNull cx::VideoServiceProxy

Signals

void connected (bool on)
 
void connectionMethodChanged ()
 
void activeVideoSourceChanged ()
 
void fps (int)
 
void StreamerServiceAdded (StreamerService *service)
 
void StreamerServiceRemoved (StreamerService *service)
 

Public Member Functions

virtual void setActiveVideoSource (QString uid)=0
 
virtual VideoSourcePtr getActiveVideoSource ()=0
 
virtual std::vector< VideoSourcePtrgetVideoSources ()=0
 
virtual void setConnectionMethod (QString connectionMethod)=0
 
virtual QString getConnectionMethod ()=0
 
virtual void openConnection ()=0
 
virtual void closeConnection ()=0
 
virtual bool isConnected () const =0
 
virtual void setPlaybackMode (PlaybackTimePtr controller)=0
 
virtual std::vector< TimelineEventgetPlaybackEvents ()=0
 
virtual StreamerServicePtr getStreamerService (QString uid)=0
 
virtual QList< StreamerServicePtrgetStreamerServices ()=0
 
virtual bool isNull ()=0
 

Static Public Member Functions

static VideoServicePtr getNullObject ()
 

Detailed Description

Provides access to all video sources in the system, and connection stuff for the sources.

videoservice_simple.png
VideoService Overview

VideoService provides a simple image stream class to its users, hiding details. VideoService receives images over OpenIGTLink from an external server.

Time synchronization using Network Time Protocol (NTP) and temporal calibration.

cxArchitecture_rtstream.png
VideoService and Video Pipeline

The diagram displays all major classes concerned with realtime streaming. VideoSource is the core interface that provides connection to a realtime streaming source.

VideoSource has to main users: Rendering to screen and recording to disk. VideoGraphics contains the visualization functionality that the Reps uses when rendering in the Views. VideoGraphics needs a Probe to provide position information. Probe also wraps the VideoSource with its own ProbeAdapterVideoSource (using the adapter pattern) in order to add special information not known to the VideoSource, such as pixel spacing. The recording functionality is not shown. VideoSourceRecorder handles this on the basic level.

VideoConnectionManager manages the connection to the streaming source. The implementation class OpenIGTLinkVideoSource uses the OpenIGTLink protocol to receive data over TCP/IP. The actual data retrieval is done in the internal thread class IGTLinkClient.

The OpenIGTLinkRTSource is dependent on an external IGTLink server. Optionally, the VideoConnectionManager can create this server on the local machine.

Date
2011-05-31
2014-09-19
Author
Christian Askeland, SINTEF
Ole Vegard Solberg, SINTEF

Definition at line 75 of file cxVideoService.h.

Member Function Documentation

void cx::VideoService::activeVideoSourceChanged ( )
signal

Emitted when a video source is set to active, OR when the available set of sources are changed.

virtual void cx::VideoService::closeConnection ( )
pure virtual
void cx::VideoService::connected ( bool  on)
signal
void cx::VideoService::connectionMethodChanged ( )
signal
void cx::VideoService::fps ( int  )
signal
virtual VideoSourcePtr cx::VideoService::getActiveVideoSource ( )
pure virtual
virtual QString cx::VideoService::getConnectionMethod ( )
pure virtual
VideoServicePtr cx::VideoService::getNullObject ( )
static

Definition at line 19 of file cxVideoService.cpp.

virtual std::vector<TimelineEvent> cx::VideoService::getPlaybackEvents ( )
pure virtual
virtual StreamerServicePtr cx::VideoService::getStreamerService ( QString  uid)
pure virtual
virtual QList<StreamerServicePtr> cx::VideoService::getStreamerServices ( )
pure virtual
virtual std::vector<VideoSourcePtr> cx::VideoService::getVideoSources ( )
pure virtual
virtual bool cx::VideoService::isConnected ( ) const
pure virtual
virtual bool cx::VideoService::isNull ( )
pure virtual
virtual void cx::VideoService::openConnection ( )
pure virtual
virtual void cx::VideoService::setActiveVideoSource ( QString  uid)
pure virtual
virtual void cx::VideoService::setConnectionMethod ( QString  connectionMethod)
pure virtual
virtual void cx::VideoService::setPlaybackMode ( PlaybackTimePtr  controller)
pure virtual
void cx::VideoService::StreamerServiceAdded ( StreamerService service)
signal
void cx::VideoService::StreamerServiceRemoved ( StreamerService service)
signal

The documentation for this class was generated from the following files: