PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkPlusChannel Class Reference

Contains an optional timestamped circular buffer containing the video images and a number of timestamped circular buffer of StreamBufferItems for the transforms. StreamBufferItems are essentially a class that contains both a single video frame and/or a 4x4 matrix. More...

#include <src/PlusDataCollection/vtkPlusChannel.h>

Inheritance diagram for vtkPlusChannel:
Inheritance graph
[legend]
Collaboration diagram for vtkPlusChannel:
Collaboration graph
[legend]

Public Types

typedef std::map< std::string, std::string > CustomAttributeMap
 
typedef CustomAttributeMap::const_iterator CustomAttributeMapConstIterator
 
typedef CustomAttributeMap::iterator CustomAttributeMapIterator
 
typedef vtkObject Superclass
 

Public Member Functions

PlusStatus AddFieldDataSource (vtkPlusDataSource *aSource)
 
PlusStatus AddTool (vtkPlusDataSource *aTool)
 
virtual PlusStatus Clear ()
 
int FieldCount () const
 
virtual PlusStatus GenerateDataAcquisitionReport (vtkPlusHTMLGenerator *htmlReport)
 
PlusStatus GetBrightnessFrameSize (FrameSizeType &aDim)
 
vtkImageData * GetBrightnessOutput ()
 
virtual char * GetChannelId ()
 
virtual const char * GetClassName ()
 
virtual double GetClosestTrackedFrameTimestampByTime (double time)
 
PlusStatus GetCustomAttribute (const std::string &attributeId, std::string &output) const
 
PlusStatus GetCustomAttributeMap (CustomAttributeMap &output) const
 
bool GetFieldDataAvailable ()
 
bool GetFieldDataEnabled () const
 
PlusStatus GetFieldDataSource (vtkPlusDataSource *&aSource, const std::string &sourceId)
 
DataSourceContainerConstIterator GetFieldDataSourcesEndConstIterator () const
 
DataSourceContainerIterator GetFieldDataSourcesEndIterator ()
 
DataSourceContainerConstIterator GetFieldDataSourcesStartConstIterator () const
 
DataSourceContainerIterator GetFieldDataSourcesStartIterator ()
 
virtual PlusStatus GetLatestTimestamp (double &aTimestamp) const
 
virtual PlusStatus GetMostRecentTimestamp (double &ts)
 
virtual PlusStatus GetOldestTimestamp (double &ts)
 
vtkPlusDeviceGetOwnerDevice () const
 
virtual vtkPlusRfProcessorGetRfProcessor ()
 
PlusStatus GetTimestampMasterTool (vtkPlusDataSource *&aTool)
 
PlusStatus GetTool (vtkPlusDataSource *&aTool, const std::string &toolSourceId)
 
PlusStatus GetToolByPortName (vtkPlusDataSource *&aTool, const std::string &portName)
 
DataSourceContainerConstIterator GetToolsEndConstIterator () const
 
DataSourceContainerIterator GetToolsEndIterator ()
 
DataSourceContainerConstIterator GetToolsStartConstIterator () const
 
DataSourceContainerIterator GetToolsStartIterator ()
 
virtual PlusStatus GetTrackedFrame (double timestamp, igsioTrackedFrame &trackedFrame, bool enableImageData=true)
 
virtual PlusStatus GetTrackedFrame (igsioTrackedFrame &trackedFrame)
 
PlusStatus GetTrackedFrameList (double &aTimestampOfLastFrameAlreadyGot, vtkIGSIOTrackedFrameList *aTrackedFrameList, int aMaxNumberOfFramesToAdd)
 
virtual PlusStatus GetTrackedFrameListSampled (double &aTimestampOfLastFrameAlreadyGot, double &aTimestampOfNextFrameToBeAdded, vtkIGSIOTrackedFrameList *aTrackedFrameList, double aSamplingPeriodSec, double maxTimeLimitSec=-1)
 
bool GetTrackingDataAvailable ()
 
bool GetTrackingEnabled () const
 
bool GetVideoDataAvailable ()
 
bool GetVideoEnabled () const
 
PlusStatus GetVideoSource (vtkPlusDataSource *&aVideoSource) const
 
bool HasVideoSource () const
 
virtual int IsA (const char *type)
 
bool IsVideoSource3D () const
 
virtual PlusStatus ReadConfiguration (vtkXMLDataElement *aChannelElement, bool RequireImageOrientationInChannelConfiguration)
 
PlusStatus RemoveFieldDataSource (const std::string &sourceId)
 
PlusStatus RemoveFieldDataSources ()
 
PlusStatus RemoveTool (const std::string &toolSourceId)
 
PlusStatus RemoveTools ()
 
virtual void SetChannelId (const char *)
 
PlusStatus SetCustomAttribute (const std::string &attributeId, const std::string &value)
 
void SetOwnerDevice (vtkPlusDevice *_arg)
 
virtual void SetRfProcessor (vtkPlusRfProcessor *)
 
virtual void SetSaveRfProcessingParameters (bool)
 
void SetVideoSource (vtkPlusDataSource *aSource)
 
virtual void ShallowCopy (vtkDataObject *)
 
virtual void ShallowCopy (const vtkPlusChannel &aChannel)
 
int ToolCount () const
 
virtual PlusStatus WriteConfiguration (vtkXMLDataElement *aChannelElement)
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkPlusChannelNew ()
 
static vtkPlusChannelSafeDownCast (vtkObject *o)
 

Protected Member Functions

virtual int GetNumberOfFramesBetweenTimestamps (double aTimestampFrom, double aTimestampTo)
 
 vtkPlusChannel (void)
 
virtual ~vtkPlusChannel (void)
 

Protected Attributes

vtkImageData * BlankImage
 
FrameSizeType BrightnessFrameSize
 
StreamBufferItem BrightnessOutputTrackedFrame
 
char * ChannelId
 
CustomAttributeMap CustomAttributes
 
DataSourceContainer FieldDataSources
 
vtkPlusDeviceOwnerDevice
 
vtkPlusRfProcessorRfProcessor
 
bool SaveRfProcessingParameters
 
vtkPlusDataSourceTimestampMasterTool
 
DataSourceContainer Tools
 
vtkPlusDataSourceVideoSource
 

Detailed Description

Contains an optional timestamped circular buffer containing the video images and a number of timestamped circular buffer of StreamBufferItems for the transforms. StreamBufferItems are essentially a class that contains both a single video frame and/or a 4x4 matrix.

Definition at line 34 of file vtkPlusChannel.h.

Member Typedef Documentation

◆ CustomAttributeMap

typedef std::map< std::string, std::string > vtkPlusChannel::CustomAttributeMap

Definition at line 37 of file vtkPlusChannel.h.

◆ CustomAttributeMapConstIterator

typedef CustomAttributeMap::const_iterator vtkPlusChannel::CustomAttributeMapConstIterator

Definition at line 39 of file vtkPlusChannel.h.

◆ CustomAttributeMapIterator

typedef CustomAttributeMap::iterator vtkPlusChannel::CustomAttributeMapIterator

Definition at line 38 of file vtkPlusChannel.h.

◆ Superclass

typedef vtkObject vtkPlusChannel::Superclass

Definition at line 43 of file vtkPlusChannel.h.

Constructor & Destructor Documentation

◆ vtkPlusChannel()

vtkPlusChannel::vtkPlusChannel ( void  )
protected

Definition at line 35 of file vtkPlusChannel.cxx.

◆ ~vtkPlusChannel()

vtkPlusChannel::~vtkPlusChannel ( void  )
protectedvirtual

Definition at line 59 of file vtkPlusChannel.cxx.

Member Function Documentation

◆ AddFieldDataSource()

PlusStatus vtkPlusChannel::AddFieldDataSource ( vtkPlusDataSource aSource)

Definition at line 345 of file vtkPlusChannel.cxx.

◆ AddTool()

PlusStatus vtkPlusChannel::AddTool ( vtkPlusDataSource aTool)

Definition at line 280 of file vtkPlusChannel.cxx.

◆ Clear()

PlusStatus vtkPlusChannel::Clear ( )
virtual

Definition at line 419 of file vtkPlusChannel.cxx.

◆ FieldCount()

int vtkPlusChannel::FieldCount ( ) const
inline

Definition at line 75 of file vtkPlusChannel.h.

◆ GenerateDataAcquisitionReport()

PlusStatus vtkPlusChannel::GenerateDataAcquisitionReport ( vtkPlusHTMLGenerator htmlReport)
virtual

Add generated html report from data acquisition to the existing html report. htmlReport and plotter arguments has to be defined by the caller function

Definition at line 1808 of file vtkPlusChannel.cxx.

◆ GetBrightnessFrameSize()

PlusStatus vtkPlusChannel::GetBrightnessFrameSize ( FrameSizeType &  aDim)

Return the dimensions of the brightness frame size

Definition at line 1719 of file vtkPlusChannel.cxx.

◆ GetBrightnessOutput()

vtkImageData * vtkPlusChannel::GetBrightnessOutput ( )

Make a request for the latest image frame

Definition at line 1727 of file vtkPlusChannel.cxx.

◆ GetChannelId()

virtual char* vtkPlusChannel::GetChannelId ( )
virtual

◆ GetClassName()

virtual const char* vtkPlusChannel::GetClassName ( )
virtual

◆ GetClosestTrackedFrameTimestampByTime()

double vtkPlusChannel::GetClosestTrackedFrameTimestampByTime ( double  time)
virtual

Get the closest tracked frame timestamp to the specified time

Definition at line 1660 of file vtkPlusChannel.cxx.

◆ GetCustomAttribute()

PlusStatus vtkPlusChannel::GetCustomAttribute ( const std::string &  attributeId,
std::string &  output 
) const

Definition at line 1772 of file vtkPlusChannel.cxx.

◆ GetCustomAttributeMap()

PlusStatus vtkPlusChannel::GetCustomAttributeMap ( CustomAttributeMap output) const

Definition at line 1784 of file vtkPlusChannel.cxx.

◆ GetFieldDataAvailable()

bool vtkPlusChannel::GetFieldDataAvailable ( )

Definition at line 1527 of file vtkPlusChannel.cxx.

◆ GetFieldDataEnabled()

bool vtkPlusChannel::GetFieldDataEnabled ( ) const

Definition at line 1564 of file vtkPlusChannel.cxx.

◆ GetFieldDataSource()

PlusStatus vtkPlusChannel::GetFieldDataSource ( vtkPlusDataSource *&  aSource,
const std::string &  sourceId 
)

Definition at line 390 of file vtkPlusChannel.cxx.

◆ GetFieldDataSourcesEndConstIterator()

DataSourceContainerConstIterator vtkPlusChannel::GetFieldDataSourcesEndConstIterator ( ) const
inline

Definition at line 83 of file vtkPlusChannel.h.

◆ GetFieldDataSourcesEndIterator()

DataSourceContainerIterator vtkPlusChannel::GetFieldDataSourcesEndIterator ( )
inline

Definition at line 81 of file vtkPlusChannel.h.

◆ GetFieldDataSourcesStartConstIterator()

DataSourceContainerConstIterator vtkPlusChannel::GetFieldDataSourcesStartConstIterator ( ) const
inline

Definition at line 82 of file vtkPlusChannel.h.

◆ GetFieldDataSourcesStartIterator()

DataSourceContainerIterator vtkPlusChannel::GetFieldDataSourcesStartIterator ( )
inline

Definition at line 80 of file vtkPlusChannel.h.

◆ GetLatestTimestamp()

PlusStatus vtkPlusChannel::GetLatestTimestamp ( double &  aTimestamp) const
virtual

Definition at line 438 of file vtkPlusChannel.cxx.

◆ GetMostRecentTimestamp()

PlusStatus vtkPlusChannel::GetMostRecentTimestamp ( double &  ts)
virtual

Return the most recent synchronized timestamp in the buffers

Definition at line 1265 of file vtkPlusChannel.cxx.

◆ GetNumberOfFramesBetweenTimestamps()

int vtkPlusChannel::GetNumberOfFramesBetweenTimestamps ( double  aTimestampFrom,
double  aTimestampTo 
)
protectedvirtual

Get number of tracked frames between two given timestamps (inclusive)

Definition at line 1594 of file vtkPlusChannel.cxx.

◆ GetOldestTimestamp()

PlusStatus vtkPlusChannel::GetOldestTimestamp ( double &  ts)
virtual

Return the oldest synchronized timestamp in the buffers

Definition at line 1130 of file vtkPlusChannel.cxx.

◆ GetOwnerDevice()

vtkPlusDevice* vtkPlusChannel::GetOwnerDevice ( ) const
inline

Definition at line 153 of file vtkPlusChannel.h.

◆ GetRfProcessor()

virtual vtkPlusRfProcessor* vtkPlusChannel::GetRfProcessor ( )
virtual

◆ GetTimestampMasterTool()

PlusStatus vtkPlusChannel::GetTimestampMasterTool ( vtkPlusDataSource *&  aTool)

Get the timestamp master tool. The timestamp master tool determines the sampling times for all the other tools in the output channel if no video data is available. Currently the tool that is first added to the channel is used as master tool.

Definition at line 1570 of file vtkPlusChannel.cxx.

◆ GetTool()

PlusStatus vtkPlusChannel::GetTool ( vtkPlusDataSource *&  aTool,
const std::string &  toolSourceId 
)

Definition at line 238 of file vtkPlusChannel.cxx.

◆ GetToolByPortName()

PlusStatus vtkPlusChannel::GetToolByPortName ( vtkPlusDataSource *&  aTool,
const std::string &  portName 
)

Definition at line 259 of file vtkPlusChannel.cxx.

◆ GetToolsEndConstIterator()

DataSourceContainerConstIterator vtkPlusChannel::GetToolsEndConstIterator ( ) const
inline

Definition at line 73 of file vtkPlusChannel.h.

◆ GetToolsEndIterator()

DataSourceContainerIterator vtkPlusChannel::GetToolsEndIterator ( )
inline

Definition at line 71 of file vtkPlusChannel.h.

◆ GetToolsStartConstIterator()

DataSourceContainerConstIterator vtkPlusChannel::GetToolsStartConstIterator ( ) const
inline

Definition at line 72 of file vtkPlusChannel.h.

◆ GetToolsStartIterator()

DataSourceContainerIterator vtkPlusChannel::GetToolsStartIterator ( )
inline

Definition at line 70 of file vtkPlusChannel.h.

◆ GetTrackedFrame() [1/2]

PlusStatus vtkPlusChannel::GetTrackedFrame ( double  timestamp,
igsioTrackedFrame &  trackedFrame,
bool  enableImageData = true 
)
virtual

Get tracked frame containing the transform(s) or the image(s) acquired from the device at a specific timestamp

Parameters
timestampTimestamp of the requested tracked frame
trackedFrameTarget tracked frame
enableImageDataEnable returning of image data. Tracking data will be interpolated at the timestamp of the image data.

Definition at line 532 of file vtkPlusChannel.cxx.

◆ GetTrackedFrame() [2/2]

PlusStatus vtkPlusChannel::GetTrackedFrame ( igsioTrackedFrame &  trackedFrame)
virtual

Definition at line 707 of file vtkPlusChannel.cxx.

◆ GetTrackedFrameList()

PlusStatus vtkPlusChannel::GetTrackedFrameList ( double &  aTimestampOfLastFrameAlreadyGot,
vtkIGSIOTrackedFrameList *  aTrackedFrameList,
int  aMaxNumberOfFramesToAdd 
)

Get all the tracked frame list from devices since time specified

Parameters
aTimestampOfLastFrameAlreadyGotUsed for preventing returning the same frame multiple times. In: the timestamp of the timestamp that has been already returned in previous GetTrackedFrameList calls. If no frames have got yet then set it to UNDEFINED_TIMESTAMP, the frames will be retrieved from the latest timestamp. Out: the timestamp of the most recent frame that is returned.
aTrackedFrameListTracked frame list used to get the newly acquired frames into. The new frames are appended to the tracked frame.
aMaxNumberOfFramesToAddMaximum this number of frames will be added (can be used for limiting the time spent in this method)

Definition at line 717 of file vtkPlusChannel.cxx.

◆ GetTrackedFrameListSampled()

PlusStatus vtkPlusChannel::GetTrackedFrameListSampled ( double &  aTimestampOfLastFrameAlreadyGot,
double &  aTimestampOfNextFrameToBeAdded,
vtkIGSIOTrackedFrameList *  aTrackedFrameList,
double  aSamplingPeriodSec,
double  maxTimeLimitSec = -1 
)
virtual

Get the tracked frame list from devices since time specified

Parameters
aTimestampOfLastFrameAlreadyGotUsed for preventing returning the same frame multiple times. In: the timestamp of the timestamp that has been already returned in previous GetTrackedFrameListSampled calls. If no frames have got yet then set it to UNDEFINED_TIMESTAMP. Out: the timestamp of the most recent frame that is returned.
aTimestampOfNextFrameToBeAddedTimestamp of the next frame that should be added. This value is increased by the multiple of aSamplingPeriodSec.
aTrackedFrameListTracked frame list used to get the newly acquired frames into. The new frames are appended to the tracked frame.
aSamplingPeriodSecSampling period time for getting the frames in seconds (timestamps are in seconds too)
maxTimeLimitSecMaximum time spent in the function (in sec)

Definition at line 1052 of file vtkPlusChannel.cxx.

◆ GetTrackingDataAvailable()

bool vtkPlusChannel::GetTrackingDataAvailable ( )

Definition at line 1491 of file vtkPlusChannel.cxx.

◆ GetTrackingEnabled()

bool vtkPlusChannel::GetTrackingEnabled ( ) const

Definition at line 1552 of file vtkPlusChannel.cxx.

◆ GetVideoDataAvailable()

bool vtkPlusChannel::GetVideoDataAvailable ( )

Definition at line 1516 of file vtkPlusChannel.cxx.

◆ GetVideoEnabled()

bool vtkPlusChannel::GetVideoEnabled ( ) const

Definition at line 1558 of file vtkPlusChannel.cxx.

◆ GetVideoSource()

PlusStatus vtkPlusChannel::GetVideoSource ( vtkPlusDataSource *&  aVideoSource) const
inline

Definition at line 54 of file vtkPlusChannel.h.

◆ HasVideoSource()

bool vtkPlusChannel::HasVideoSource ( ) const
inline

Definition at line 61 of file vtkPlusChannel.h.

◆ IsA()

virtual int vtkPlusChannel::IsA ( const char *  type)
virtual

◆ IsTypeOf()

static int vtkPlusChannel::IsTypeOf ( const char *  type)
static

◆ IsVideoSource3D()

bool vtkPlusChannel::IsVideoSource3D ( ) const

Definition at line 1898 of file vtkPlusChannel.cxx.

◆ New()

static vtkPlusChannel* vtkPlusChannel::New ( )
static

◆ ReadConfiguration()

PlusStatus vtkPlusChannel::ReadConfiguration ( vtkXMLDataElement *  aChannelElement,
bool  RequireImageOrientationInChannelConfiguration 
)
virtual

Parse the XML, read the details about the stream

Definition at line 75 of file vtkPlusChannel.cxx.

◆ RemoveFieldDataSource()

PlusStatus vtkPlusChannel::RemoveFieldDataSource ( const std::string &  sourceId)

Definition at line 369 of file vtkPlusChannel.cxx.

◆ RemoveFieldDataSources()

PlusStatus vtkPlusChannel::RemoveFieldDataSources ( )

Definition at line 411 of file vtkPlusChannel.cxx.

◆ RemoveTool()

PlusStatus vtkPlusChannel::RemoveTool ( const std::string &  toolSourceId)

Definition at line 311 of file vtkPlusChannel.cxx.

◆ RemoveTools()

PlusStatus vtkPlusChannel::RemoveTools ( )

Definition at line 337 of file vtkPlusChannel.cxx.

◆ SafeDownCast()

static vtkPlusChannel* vtkPlusChannel::SafeDownCast ( vtkObject *  o)
static

◆ SetChannelId()

virtual void vtkPlusChannel::SetChannelId ( const char *  )
virtual

◆ SetCustomAttribute()

PlusStatus vtkPlusChannel::SetCustomAttribute ( const std::string &  attributeId,
const std::string &  value 
)

Definition at line 1795 of file vtkPlusChannel.cxx.

◆ SetOwnerDevice()

void vtkPlusChannel::SetOwnerDevice ( vtkPlusDevice _arg)
inline

Definition at line 152 of file vtkPlusChannel.h.

◆ SetRfProcessor()

virtual void vtkPlusChannel::SetRfProcessor ( vtkPlusRfProcessor )
virtual

◆ SetSaveRfProcessingParameters()

virtual void vtkPlusChannel::SetSaveRfProcessingParameters ( bool  )
virtual

◆ SetVideoSource()

void vtkPlusChannel::SetVideoSource ( vtkPlusDataSource aSource)

Definition at line 526 of file vtkPlusChannel.cxx.

◆ ShallowCopy() [1/2]

void vtkPlusChannel::ShallowCopy ( vtkDataObject *  otherObject)
virtual

Definition at line 481 of file vtkPlusChannel.cxx.

◆ ShallowCopy() [2/2]

void vtkPlusChannel::ShallowCopy ( const vtkPlusChannel aChannel)
virtual

Definition at line 498 of file vtkPlusChannel.cxx.

◆ ToolCount()

int vtkPlusChannel::ToolCount ( ) const
inline

Definition at line 64 of file vtkPlusChannel.h.

◆ WriteConfiguration()

PlusStatus vtkPlusChannel::WriteConfiguration ( vtkXMLDataElement *  aChannelElement)
virtual

Write the details about the stream to XML

Definition at line 187 of file vtkPlusChannel.cxx.

Member Data Documentation

◆ BlankImage

vtkImageData* vtkPlusChannel::BlankImage
protected

Definition at line 186 of file vtkPlusChannel.h.

◆ BrightnessFrameSize

FrameSizeType vtkPlusChannel::BrightnessFrameSize
protected

Definition at line 188 of file vtkPlusChannel.h.

◆ BrightnessOutputTrackedFrame

StreamBufferItem vtkPlusChannel::BrightnessOutputTrackedFrame
protected

Definition at line 187 of file vtkPlusChannel.h.

◆ ChannelId

char* vtkPlusChannel::ChannelId
protected

Definition at line 182 of file vtkPlusChannel.h.

◆ CustomAttributes

CustomAttributeMap vtkPlusChannel::CustomAttributes
protected

Definition at line 200 of file vtkPlusChannel.h.

◆ FieldDataSources

DataSourceContainer vtkPlusChannel::FieldDataSources
protected

Definition at line 178 of file vtkPlusChannel.h.

◆ OwnerDevice

vtkPlusDevice* vtkPlusChannel::OwnerDevice
protected

Definition at line 181 of file vtkPlusChannel.h.

◆ RfProcessor

vtkPlusRfProcessor* vtkPlusChannel::RfProcessor
protected

RF to brightness conversion

Definition at line 185 of file vtkPlusChannel.h.

◆ SaveRfProcessingParameters

bool vtkPlusChannel::SaveRfProcessingParameters
protected

If true then RF processing parameters will be saved into the config file

Definition at line 191 of file vtkPlusChannel.h.

◆ TimestampMasterTool

vtkPlusDataSource* vtkPlusChannel::TimestampMasterTool
protected

This tool will be used to provide timestamps if no video data is present All the other tools will use the same timestamps and the transforms will be interpolated if needed.

Definition at line 198 of file vtkPlusChannel.h.

◆ Tools

DataSourceContainer vtkPlusChannel::Tools
protected

Definition at line 179 of file vtkPlusChannel.h.

◆ VideoSource

vtkPlusDataSource* vtkPlusChannel::VideoSource
protected

Definition at line 180 of file vtkPlusChannel.h.


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