PlusLib
2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
|
Virtual device that performs real-time image processing on the input channel. More...
#include <src/PlusDataCollection/ImageProcessor/vtkPlusImageProcessorVideoSource.h>
Public Types | |
typedef vtkPlusDevice | Superclass |
![]() | |
typedef vtkImageAlgorithm | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual bool | GetEnableProcessing () |
virtual PlusStatus | InternalUpdate () |
virtual int | IsA (const char *type) |
virtual bool | IsTracker () const |
virtual bool | IsVirtual () const |
virtual PlusStatus | NotifyConfigured () |
virtual void | PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE |
virtual PlusStatus | ReadConfiguration (vtkXMLDataElement *) |
void | SetEnableProcessing (bool aValue) |
virtual PlusStatus | WriteConfiguration (vtkXMLDataElement *) |
![]() | |
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 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 vtkPlusImageProcessorVideoSource * | New () |
static vtkPlusImageProcessorVideoSource * | SafeDownCast (vtkObject *o) |
![]() | |
static PlusStatus | GetToolReferenceFrameFromTrackedFrame (igsioTrackedFrame &aFrame, std::string &aToolReferenceFrameName) |
static int | IsTypeOf (const char *type) |
static vtkPlusDevice * | New () |
static vtkPlusDevice * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
virtual PlusStatus | InternalConnect () |
virtual PlusStatus | InternalDisconnect () |
vtkPlusImageProcessorVideoSource () | |
virtual | ~vtkPlusImageProcessorVideoSource () |
![]() | |
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 vtkPlusDataCollector * | GetDataCollector () |
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 () |
Additional Inherited Members | |
![]() | |
double | InternalUpdateRate |
vtkIGSIORecursiveCriticalSection * | UpdateMutex |
vtkTimeStamp | UpdateTime |
![]() | |
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 void * | vtkDataCaptureThread (vtkMultiThreader::ThreadInfo *data) |
![]() | |
static const int | VIRTUAL_DEVICE_FRAME_RATE = 50 |
Virtual device that performs real-time image processing on the input channel.
Definition at line 24 of file vtkPlusImageProcessorVideoSource.h.
Definition at line 28 of file vtkPlusImageProcessorVideoSource.h.
|
protected |
Definition at line 25 of file vtkPlusImageProcessorVideoSource.cxx.
|
protectedvirtual |
Definition at line 43 of file vtkPlusImageProcessorVideoSource.cxx.
|
virtual |
Reimplemented from vtkPlusDevice.
|
virtual |
Enables processing frames. It can be used for pausing the processing.
|
protectedvirtual |
Should be overridden to connect to the hardware
Reimplemented from vtkPlusDevice.
Definition at line 167 of file vtkPlusImageProcessorVideoSource.cxx.
|
protectedvirtual |
Release the video driver. Should be overridden to disconnect from the hardware.
Reimplemented from vtkPlusDevice.
Definition at line 195 of file vtkPlusImageProcessorVideoSource.cxx.
|
virtual |
The subclass will do all the hardware-specific update stuff in this function. It should call ToolUpdate() for each tool. Note that vtkPlusDevice.cxx starts up a separate thread after InternalStartRecording() is called, and that InternalUpdate() is called repeatedly from within that thread. Therefore, any code within InternalUpdate() must be thread safe. You can temporarily pause the thread by locking this->UpdateMutex->Lock() e.g. if you need to communicate with the device from outside of InternalUpdate(). A call to this->UpdateMutex->Unlock() will resume the thread.
Reimplemented from vtkPlusDevice.
Definition at line 203 of file vtkPlusImageProcessorVideoSource.cxx.
|
virtual |
Reimplemented from vtkPlusDevice.
|
inlinevirtual |
Is this device a tracker
Reimplemented from vtkPlusDevice.
Definition at line 45 of file vtkPlusImageProcessorVideoSource.h.
|
static |
|
inlinevirtual |
Reimplemented from vtkPlusDevice.
Definition at line 46 of file vtkPlusImageProcessorVideoSource.h.
|
static |
|
virtual |
Perform any completion tasks once configured
Reimplemented from vtkPlusDevice.
Definition at line 324 of file vtkPlusImageProcessorVideoSource.cxx.
|
virtual |
Reimplemented from vtkPlusDevice.
Definition at line 58 of file vtkPlusImageProcessorVideoSource.cxx.
|
virtual |
Read main configuration from xml data
Reimplemented from vtkPlusDevice.
Definition at line 64 of file vtkPlusImageProcessorVideoSource.cxx.
|
static |
void vtkPlusImageProcessorVideoSource::SetEnableProcessing | ( | bool | aValue | ) |
Definition at line 348 of file vtkPlusImageProcessorVideoSource.cxx.
|
virtual |
write main configuration to xml data
Reimplemented from vtkPlusDevice.
Definition at line 137 of file vtkPlusImageProcessorVideoSource.cxx.
|
protected |
Definition at line 57 of file vtkPlusImageProcessorVideoSource.h.
|
protected |
Definition at line 68 of file vtkPlusImageProcessorVideoSource.h.
|
protected |
Definition at line 55 of file vtkPlusImageProcessorVideoSource.h.
|
protected |
Mutex instance simultaneous access of the processing algorithm (writer may be accessed from command processing thread and also the internal update thread)
Definition at line 66 of file vtkPlusImageProcessorVideoSource.h.
|
protected |
Definition at line 70 of file vtkPlusImageProcessorVideoSource.h.
|
protected |
This repository stores all fixed (persistent) transforms, such as calibration matrices. It is initialized once, ReadConfig and not updated if calibration transforms are changed in the application's global transform repository.
Definition at line 63 of file vtkPlusImageProcessorVideoSource.h.