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 Types | Protected Member Functions | Protected Attributes
vtkPlusDAQVideoSource Class Reference

Class for interfacing an Infrared capture device and recording frames into a Plus buffer. More...

#include <src/PlusDataCollection/DAQVideoSource/vtkPlusDAQVideoSource.h>

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

Public Types

typedef vtkPlusDevice Superclass
 
- Public Types inherited from vtkPlusDevice
typedef vtkImageAlgorithm Superclass
 

Public Member Functions

virtual const char * GetClassName ()
 
PlusStatus InternalUpdate ()
 
virtual int IsA (const char *type)
 
bool IsTracker () const
 
virtual PlusStatus NotifyConfigured ()
 
virtual void PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE
 
PlusStatus ReadConfiguration (vtkXMLDataElement *config)
 
PlusStatus WriteConfiguration (vtkXMLDataElement *config)
 
- Public Member Functions inherited from vtkPlusDevice
PlusStatus AddFieldDataSource (vtkPlusDataSource *aSource)
 
PlusStatus AddInputChannel (vtkPlusChannel *aChannel)
 
PlusStatus AddOutputChannel (vtkPlusChannel *aChannel)
 
PlusStatus AddTool (vtkPlusDataSource *tool, bool requireUniquePortName=true)
 
PlusStatus AddVideoSource (vtkPlusDataSource *anImage)
 
void ClearAllBuffers ()
 
virtual PlusStatus Connect ()
 
virtual PlusStatus CreateDefaultOutputChannel (const char *channelId=NULL, bool addSource=true)
 
void DeepCopy (const vtkPlusDevice &device)
 
virtual PlusStatus Disconnect ()
 
virtual PlusStatus ForceUpdate ()
 
virtual double GetAcquisitionRate () const
 
virtual PlusStatus GetBufferSize (vtkPlusChannel &aChannel, int &outVal, const std::string &aSourceId=std::string(""))
 
virtual int GetConnected () const
 
virtual bool GetCorrectlyConfigured () const
 
PlusStatus GetDataSource (const char *aSourceId, vtkPlusDataSource *&aSource)
 
PlusStatus GetDataSource (const std::string &aSourceId, vtkPlusDataSource *&aSource)
 
virtual double GetDesiredTimestamp ()
 
virtual std::string GetDeviceId () const
 
PlusStatus GetFieldDataSource (const char *aSourceId, vtkPlusDataSource *&aSource) const
 
PlusStatus GetFieldDataSource (const std::string &aSourceId, vtkPlusDataSource *&aSource) const
 
DataSourceContainerConstIterator GetFieldDataSourcessIteratorBegin () const
 
DataSourceContainerConstIterator GetFieldDataSourcessIteratorEnd () const
 
PlusStatus GetFirstActiveOutputVideoSource (vtkPlusDataSource *&aVideoSource)
 
PlusStatus GetFirstActiveTool (vtkPlusDataSource *&aTool) const
 
PlusStatus GetFirstOutputChannel (vtkPlusChannel *&aChannel)
 
PlusStatus GetFirstVideoSource (vtkPlusDataSource *&anImage)
 
virtual unsigned long GetFrameNumber () const
 
virtual double GetFrameTimeStamp () const
 
virtual PlusStatus GetImage (const std::string &requestedImageId, std::string &assignedImageId, const std::string &imageReferencFrameName, vtkImageData *imageData, vtkMatrix4x4 *ijkToReferenceTransform)
 
virtual PlusStatus GetImageMetaData (igsioCommon::ImageMetaDataList &imageMetaDataItems)
 
virtual US_IMAGE_TYPE GetImageType (vtkPlusChannel &aChannel)
 
PlusStatus GetInputDevices (std::vector< vtkPlusDevice * > &outDeviceList) const
 
PlusStatus GetInputDevicesRecursive (std::vector< vtkPlusDevice * > &outDeviceList) const
 
virtual PlusStatus GetInputFrameSize (vtkPlusChannel &aChannel, unsigned int &x, unsigned int &y, unsigned int &z) const
 
virtual PlusStatus GetInputFrameSize (vtkPlusChannel &aChannel, FrameSizeType &dim) const
 
double GetInternalUpdateRate () const
 
virtual double GetLocalTimeOffsetSec () const
 
double GetMissingInputGracePeriodSec () const
 
virtual int GetNumberOfFieldDataSources () const
 
virtual int GetNumberOfTools () const
 
virtual int GetNumberOfVideoSources () const
 
PlusStatus GetOutputChannelByName (vtkPlusChannel *&aChannel, const char *aChannelId)
 
PlusStatus GetOutputChannelByName (vtkPlusChannel *&aChannel, const std::string &aChannelId)
 
ChannelContainerConstIterator GetOutputChannelsEnd () const
 
ChannelContainerIterator GetOutputChannelsEnd ()
 
ChannelContainerConstIterator GetOutputChannelsStart () const
 
ChannelContainerIterator GetOutputChannelsStart ()
 
virtual PlusStatus GetOutputFrameSize (vtkPlusChannel &aChannel, unsigned int &x, unsigned int &y, unsigned int &z) const
 
virtual PlusStatus GetOutputFrameSize (vtkPlusChannel &aChannel, FrameSizeType &dim) const
 
virtual std::string GetParameter (const std::string &key) const
 
virtual PlusStatus GetParameter (const std::string &key, std::string &outValue) const
 
virtual igsioCommon::VTKScalarPixelType GetPixelType (vtkPlusChannel &aChannel)
 
virtual std::string GetSdkVersion ()
 
virtual double GetStartTime ()
 
virtual double GetTimestampClosestToDesired ()
 
PlusStatus GetTool (const char *aToolSourceId, vtkPlusDataSource *&aTool) const
 
PlusStatus GetTool (const std::string &aToolSourceId, vtkPlusDataSource *&aTool) const
 
PlusStatus GetToolByPortName (const char *aPortName, vtkPlusDataSource *&aSource)
 
PlusStatus GetToolByPortName (const std::string &aPortName, vtkPlusDataSource *&aSource)
 
DataSourceContainerConstIterator GetToolIteratorBegin () const
 
DataSourceContainerConstIterator GetToolIteratorEnd () const
 
std::string GetToolReferenceFrameName () const
 
virtual int GetUpdateWithDesiredTimestamp ()
 
PlusStatus GetVideoSource (const char *aSourceId, vtkPlusDataSource *&aVideoSource)
 
PlusStatus GetVideoSourceByIndex (const unsigned int index, vtkPlusDataSource *&aVideoSource)
 
DataSourceContainerConstIterator GetVideoSourceIteratorBegin () const
 
DataSourceContainerConstIterator GetVideoSourceIteratorEnd () const
 
std::vector< vtkPlusDataSource * > GetVideoSources () const
 
PlusStatus GetVideoSourcesByPortName (const char *aPortName, std::vector< vtkPlusDataSource * > &sources)
 
PlusStatus GetVideoSourcesByPortName (const std::string &aPortName, std::vector< vtkPlusDataSource * > &sources)
 
virtual bool IsConnected () const
 
virtual bool IsRecording () const
 
virtual bool IsResettable ()
 
virtual bool IsVirtual () const
 
virtual int OutputChannelCount () const
 
virtual PlusStatus Probe ()
 
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual PlusStatus Reset ()
 
virtual PlusStatus SendText (const std::string &textToSend, std::string *textReceived=NULL)
 
PlusStatus SetAcquisitionRate (double aRate)
 
virtual PlusStatus SetBufferSize (vtkPlusChannel &aChannel, int FrameBufferSize, const std::string &aSourceId=std::string(""))
 
virtual void SetDataCollector (vtkPlusDataCollector *_arg)
 
virtual void SetDesiredTimestamp (double)
 
void SetDeviceId (const std::string &id)
 
void SetFieldDataSourcesBufferSize (int aBufferSize)
 
virtual PlusStatus SetImageType (vtkPlusChannel &aChannel, US_IMAGE_TYPE imageType)
 
virtual PlusStatus SetInputFrameSize (vtkPlusDataSource &aSource, unsigned int x, unsigned int y, unsigned int z)
 
virtual void SetLocalTimeOffsetSec (double aTimeOffsetSec)
 
virtual void SetMissingInputGracePeriodSec (double)
 
virtual PlusStatus SetParameter (const std::string &key, const std::string &value)
 
virtual PlusStatus SetPixelType (vtkPlusChannel &aChannel, igsioCommon::VTKScalarPixelType pixelType)
 
virtual void SetStartTime (double startTime)
 
void SetToolReferenceFrameName (const std::string &frameName)
 
void SetToolsBufferSize (int aBufferSize)
 
virtual void SetUpdateWithDesiredTimestamp (int)
 
virtual PlusStatus StartRecording ()
 
virtual PlusStatus StopRecording ()
 
virtual void UpdateWithDesiredTimestampOff ()
 
virtual void UpdateWithDesiredTimestampOn ()
 
virtual PlusStatus WriteToolsToSequenceFile (const std::string &filename, bool useCompression=false)
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkPlusDAQVideoSourceNew ()
 
static vtkPlusDAQVideoSourceSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkPlusDevice
static PlusStatus GetToolReferenceFrameFromTrackedFrame (igsioTrackedFrame &aFrame, std::string &aToolReferenceFrameName)
 
static int IsTypeOf (const char *type)
 
static vtkPlusDeviceNew ()
 
static vtkPlusDeviceSafeDownCast (vtkObject *o)
 

Protected Types

typedef unsigned short CAMERADATATYPE_t
 
enum  CAMERAMODE_E { CAMERAMODE_SCAN, CAMERAMODE_LINE }
 
enum  COLORDEPTH_E { COLORDEPTH_8 = 8, COLORDEPTH_16 = 16, COLORDEPTH_32 = 32, COLORDEPTH_64 = 64 }
 
enum  DATAMODE_E { DATAMODE_8 = 0, DATAMODE_16 = 1, DATAMODE_32 = 2, DATAMODE_64 = 3 }
 

Protected Member Functions

virtual PlusStatus InternalConnect () VTK_OVERRIDE
 
virtual PlusStatus InternalDisconnect () VTK_OVERRIDE
 
 vtkPlusDAQVideoSource ()
 
 ~vtkPlusDAQVideoSource ()
 
- Protected Member Functions inherited from vtkPlusDevice
virtual PlusStatus AddVideoItemToVideoSources (const std::vector< vtkPlusDataSource * > &videoSources, const igsioVideoFrame &frame, long frameNumber, double unfilteredTimestamp=UNDEFINED_TIMESTAMP, double filteredTimestamp=UNDEFINED_TIMESTAMP, const igsioFieldMapType *customFields=NULL)
 
virtual PlusStatus AddVideoItemToVideoSources (const std::vector< vtkPlusDataSource * > &videoSources, void *imageDataPtr, US_IMAGE_ORIENTATION usImageOrientation, const FrameSizeType &frameSizeInPx, igsioCommon::VTKScalarPixelType pixelType, unsigned int numberOfScalarComponents, US_IMAGE_TYPE imageType, int numberOfBytesToSkip, long frameNumber, double unfilteredTimestamp=UNDEFINED_TIMESTAMP, double filteredTimestamp=UNDEFINED_TIMESTAMP, const igsioFieldMapType *customFields=NULL)
 
PlusStatus EnsureUniqueDataSourceId (const std::string &aSourceId)
 
vtkXMLDataElement * FindInputChannelElement (vtkXMLDataElement *rootXMLElement, const char *aChannelId)
 
vtkXMLDataElement * FindOutputChannelElement (vtkXMLDataElement *rootXMLElement, const char *aChannelId)
 
vtkXMLDataElement * FindThisDeviceElement (vtkXMLDataElement *rootXMLElement)
 
virtual vtkPlusDataCollectorGetDataCollector ()
 
double GetRecordingStartTime () const
 
bool GetStartThreadForInternalUpdates () const
 
bool HasGracePeriodExpired ()
 
virtual PlusStatus InternalStartRecording ()
 
virtual PlusStatus InternalStopRecording ()
 
virtual void InternalWriteInputChannels (vtkXMLDataElement *rootXMLElement)
 
virtual void InternalWriteOutputChannels (vtkXMLDataElement *rootXMLElement)
 
virtual void SetCorrectlyConfigured (bool)
 
virtual void SetRecordingStartTime (double)
 
virtual void SetStartThreadForInternalUpdates (bool)
 
virtual PlusStatus ToolTimeStampedUpdate (const std::string &aToolSourceId, vtkMatrix4x4 *matrix, ToolStatus status, unsigned long frameNumber, double unfilteredtimestamp, const igsioFieldMapType *customFields=NULL)
 
virtual PlusStatus ToolTimeStampedUpdateWithoutFiltering (const std::string &aToolSourceId, vtkMatrix4x4 *matrix, ToolStatus status, double unfilteredtimestamp, double filteredtimestamp, const igsioFieldMapType *customFields=NULL)
 
 vtkPlusDevice ()
 
virtual ~vtkPlusDevice ()
 

Protected Attributes

enum vtkPlusDAQVideoSource::CAMERAMODE_E cameraMode
 
enum vtkPlusDAQVideoSource::COLORDEPTH_E colorDepth
 
bool deviceRunning
 
double m_currentTime = UNDEFINED_TIMESTAMP
 
enum vtkPlusDAQVideoSource::DATAMODE_E m_dataMode
 
DWORD m_dwCharCount
 
DWORD m_height
 
DWORD m_maxBuffSize
 
int m_nbytesMode
 
DWORD m_nheight
 
DWORD m_nwidth
 
DWORD m_width
 
CAMERADATATYPE_tpImgBuf
 
unsigned char * pImgBufAux
 
- Protected Attributes inherited from vtkPlusDevice
double AcquisitionRate
 
int Connected
 
bool CorrectlyConfigured
 
StreamBufferItemCurrentStreamBufferItem
 
vtkPlusDataCollectorDataCollector
 
double DesiredTimestamp
 
std::string DeviceId
 
DataSourceContainer Fields
 
unsigned long FrameNumber
 
double FrameTimeStamp
 
ChannelContainer InputChannels
 
double LocalTimeOffsetSec
 
double MissingInputGracePeriodSec
 
ChannelContainer OutputChannels
 
int OutputNeedsInitialization
 
std::map< std::string, std::string > Parameters
 
int Recording
 
double RecordingStartTime
 
std::set< std::string > ReportedUnknownTools
 
bool RequireImageOrientationInConfiguration
 
bool RequirePortNameInDeviceSetConfiguration
 
bool StartThreadForInternalUpdates
 
bool ThreadAlive
 
vtkMultiThreader * Threader
 
int ThreadId
 
double TimestampClosestToDesired
 
std::string ToolReferenceFrameName
 
DataSourceContainer Tools
 
int UpdateWithDesiredTimestamp
 
DataSourceContainer VideoSources
 

Additional Inherited Members

- Public Attributes inherited from vtkPlusDevice
double InternalUpdateRate
 
vtkIGSIORecursiveCriticalSection * UpdateMutex
 
vtkTimeStamp UpdateTime
 
- Static Public Attributes inherited from vtkPlusDevice
static const std::string BMODE_PORT_NAME = "B"
 
static const std::string PARAMETER_XML_ELEMENT_TAG = "Parameter"
 
static const std::string PARAMETERS_XML_ELEMENT_TAG = "Parameters"
 
static const std::string RFMODE_PORT_NAME = "Rf"
 
- Static Protected Member Functions inherited from vtkPlusDevice
static void * vtkDataCaptureThread (vtkMultiThreader::ThreadInfo *data)
 
- Static Protected Attributes inherited from vtkPlusDevice
static const int VIRTUAL_DEVICE_FRAME_RATE = 50
 

Detailed Description

Class for interfacing an Infrared capture device and recording frames into a Plus buffer.

Definition at line 22 of file vtkPlusDAQVideoSource.h.

Member Typedef Documentation

◆ CAMERADATATYPE_t

typedef unsigned short vtkPlusDAQVideoSource::CAMERADATATYPE_t
protected

Definition at line 51 of file vtkPlusDAQVideoSource.h.

◆ Superclass

Definition at line 26 of file vtkPlusDAQVideoSource.h.

Member Enumeration Documentation

◆ CAMERAMODE_E

Enumerator
CAMERAMODE_SCAN 
CAMERAMODE_LINE 

Definition at line 54 of file vtkPlusDAQVideoSource.h.

◆ COLORDEPTH_E

Enumerator
COLORDEPTH_8 
COLORDEPTH_16 
COLORDEPTH_32 
COLORDEPTH_64 

Definition at line 52 of file vtkPlusDAQVideoSource.h.

◆ DATAMODE_E

Enumerator
DATAMODE_8 
DATAMODE_16 
DATAMODE_32 
DATAMODE_64 

Definition at line 53 of file vtkPlusDAQVideoSource.h.

Constructor & Destructor Documentation

◆ vtkPlusDAQVideoSource()

vtkPlusDAQVideoSource::vtkPlusDAQVideoSource ( )
protected

Definition at line 27 of file vtkPlusDAQVideoSource.cxx.

◆ ~vtkPlusDAQVideoSource()

vtkPlusDAQVideoSource::~vtkPlusDAQVideoSource ( )
protected

Definition at line 34 of file vtkPlusDAQVideoSource.cxx.

Member Function Documentation

◆ GetClassName()

virtual const char* vtkPlusDAQVideoSource::GetClassName ( )
virtual

Reimplemented from vtkPlusDevice.

◆ InternalConnect()

PlusStatus vtkPlusDAQVideoSource::InternalConnect ( )
protectedvirtual

Should be overridden to connect to the hardware

Reimplemented from vtkPlusDevice.

Definition at line 78 of file vtkPlusDAQVideoSource.cxx.

◆ InternalDisconnect()

PlusStatus vtkPlusDAQVideoSource::InternalDisconnect ( )
protectedvirtual

Release the video driver. Should be overridden to disconnect from the hardware.

Reimplemented from vtkPlusDevice.

Definition at line 124 of file vtkPlusDAQVideoSource.cxx.

◆ InternalUpdate()

PlusStatus vtkPlusDAQVideoSource::InternalUpdate ( )
virtual

Get an update from the tracking system and push the new transforms to the tools. This function is called by the tracker thread.

Reimplemented from vtkPlusDevice.

Definition at line 133 of file vtkPlusDAQVideoSource.cxx.

◆ IsA()

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

Reimplemented from vtkPlusDevice.

◆ IsTracker()

bool vtkPlusDAQVideoSource::IsTracker ( ) const
inlinevirtual

Is this device a tracker

Reimplemented from vtkPlusDevice.

Definition at line 35 of file vtkPlusDAQVideoSource.h.

◆ IsTypeOf()

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

◆ New()

static vtkPlusDAQVideoSource* vtkPlusDAQVideoSource::New ( )
static

◆ NotifyConfigured()

PlusStatus vtkPlusDAQVideoSource::NotifyConfigured ( )
virtual

Verify the device is correctly configured

Reimplemented from vtkPlusDevice.

Definition at line 184 of file vtkPlusDAQVideoSource.cxx.

◆ PrintSelf()

void vtkPlusDAQVideoSource::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual

Reimplemented from vtkPlusDevice.

Definition at line 39 of file vtkPlusDAQVideoSource.cxx.

◆ ReadConfiguration()

PlusStatus vtkPlusDAQVideoSource::ReadConfiguration ( vtkXMLDataElement *  config)
virtual

Read configuration from xml data

Reimplemented from vtkPlusDevice.

Definition at line 46 of file vtkPlusDAQVideoSource.cxx.

◆ SafeDownCast()

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

◆ WriteConfiguration()

PlusStatus vtkPlusDAQVideoSource::WriteConfiguration ( vtkXMLDataElement *  config)
virtual

Write configuration to xml data

Reimplemented from vtkPlusDevice.

Definition at line 71 of file vtkPlusDAQVideoSource.cxx.

Member Data Documentation

◆ cameraMode

enum vtkPlusDAQVideoSource::CAMERAMODE_E vtkPlusDAQVideoSource::cameraMode
protected

◆ colorDepth

enum vtkPlusDAQVideoSource::COLORDEPTH_E vtkPlusDAQVideoSource::colorDepth
protected

◆ deviceRunning

bool vtkPlusDAQVideoSource::deviceRunning
protected

Definition at line 55 of file vtkPlusDAQVideoSource.h.

◆ m_currentTime

double vtkPlusDAQVideoSource::m_currentTime = UNDEFINED_TIMESTAMP
protected

Definition at line 65 of file vtkPlusDAQVideoSource.h.

◆ m_dataMode

enum vtkPlusDAQVideoSource::DATAMODE_E vtkPlusDAQVideoSource::m_dataMode
protected

◆ m_dwCharCount

DWORD vtkPlusDAQVideoSource::m_dwCharCount
protected

Definition at line 63 of file vtkPlusDAQVideoSource.h.

◆ m_height

DWORD vtkPlusDAQVideoSource::m_height
protected

Definition at line 59 of file vtkPlusDAQVideoSource.h.

◆ m_maxBuffSize

DWORD vtkPlusDAQVideoSource::m_maxBuffSize
protected

Definition at line 62 of file vtkPlusDAQVideoSource.h.

◆ m_nbytesMode

int vtkPlusDAQVideoSource::m_nbytesMode
protected

Definition at line 64 of file vtkPlusDAQVideoSource.h.

◆ m_nheight

DWORD vtkPlusDAQVideoSource::m_nheight
protected

Definition at line 61 of file vtkPlusDAQVideoSource.h.

◆ m_nwidth

DWORD vtkPlusDAQVideoSource::m_nwidth
protected

Definition at line 60 of file vtkPlusDAQVideoSource.h.

◆ m_width

DWORD vtkPlusDAQVideoSource::m_width
protected

Definition at line 58 of file vtkPlusDAQVideoSource.h.

◆ pImgBuf

CAMERADATATYPE_t* vtkPlusDAQVideoSource::pImgBuf
protected

Definition at line 56 of file vtkPlusDAQVideoSource.h.

◆ pImgBufAux

unsigned char* vtkPlusDAQVideoSource::pImgBufAux
protected

Definition at line 57 of file vtkPlusDAQVideoSource.h.


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