PlusLib
2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
|
Abstract interface for ultrasound video devices. More...
#include <src/PlusDataCollection/vtkPlusUsDevice.h>
Public Types | |
typedef vtkPlusDevice | Superclass |
Public Types inherited from vtkPlusDevice | |
typedef vtkImageAlgorithm | Superclass |
Public Member Functions | |
virtual PlusStatus | AddVideoItemToVideoSource (vtkPlusDataSource &videoSource, const igsioVideoFrame &frame, long frameNumber, double unfilteredTimestamp=UNDEFINED_TIMESTAMP, double filteredTimestamp=UNDEFINED_TIMESTAMP, const igsioFieldMapType *customFields=NULL) |
virtual PlusStatus | AddVideoItemToVideoSource (vtkPlusDataSource &videoSource, 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) |
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) override |
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) override |
virtual std::vector< double > | CalculateAngles () |
virtual std::vector< double > | CalculateBoundingBox () |
virtual std::vector< double > | CalculateDepths () |
virtual double | CalculateLinearWidth () |
virtual std::vector< double > | CalculateOrigin () |
virtual const char * | GetClassName () |
virtual vtkPlusUsImagingParameters * | GetImagingParameters () |
virtual std::string | GetParameter (const std::string &key) const |
virtual PlusStatus | GetParameter (const std::string &key, std::string &outValue) const |
virtual IGTLIO_PROBE_TYPE | GetProbeType () |
virtual int | IsA (const char *type) |
bool | IsKnownKey (const std::string &queryKey) const |
virtual void | PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE |
virtual PlusStatus | ReadConfiguration (vtkXMLDataElement *) |
virtual PlusStatus | SetNewImagingParameters (const vtkPlusUsImagingParameters &newImagingParameters) |
virtual PlusStatus | SetParameter (const std::string &key, const std::string &value) |
vtkGetStdStringMacro (ImageToTransducerTransformName) | |
vtkSetStdStringMacro (ImageToTransducerTransformName) | |
virtual PlusStatus | WriteConfiguration (vtkXMLDataElement *) |
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 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 PlusStatus | InternalUpdate () |
virtual bool | IsConnected () const |
virtual bool | IsRecording () const |
virtual bool | IsResettable () |
virtual bool | IsTracker () const |
virtual bool | IsVirtual () const |
virtual PlusStatus | NotifyConfigured () |
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 | 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 vtkPlusUsDevice * | New () |
static vtkPlusUsDevice * | SafeDownCast (vtkObject *o) |
Static Public Member Functions inherited from vtkPlusDevice | |
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 | |
void | CalculateImageToTransducer (igsioFieldMapType &customFields) |
virtual PlusStatus | InternalApplyImagingParameterChange () |
vtkPlusUsDevice () | |
virtual | ~vtkPlusUsDevice () |
Protected Member Functions inherited from vtkPlusDevice | |
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 | InternalConnect () |
virtual PlusStatus | InternalDisconnect () |
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 | |
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 |
Abstract interface for ultrasound video devices.
vtkPlusUsDevice is an abstract VTK interface to ultrasound imaging systems. Derived classes should override the SetNewImagingParametersDevice() method.
Definition at line 28 of file vtkPlusUsDevice.h.
Definition at line 32 of file vtkPlusUsDevice.h.
|
protected |
Definition at line 21 of file vtkPlusUsDevice.cxx.
|
protectedvirtual |
Definition at line 36 of file vtkPlusUsDevice.cxx.
|
virtual |
This function can be called to add a video item to a specific video data source
Definition at line 111 of file vtkPlusUsDevice.cxx.
|
virtual |
This function can be called to add a video item to a specific video data source
Definition at line 127 of file vtkPlusUsDevice.cxx.
|
overridevirtual |
This function can be called to add a video item to all video data sources
Reimplemented from vtkPlusDevice.
Definition at line 143 of file vtkPlusUsDevice.cxx.
|
overridevirtual |
This function can be called to add a video item to the specified video data sources
Reimplemented from vtkPlusDevice.
Definition at line 156 of file vtkPlusUsDevice.cxx.
|
virtual |
Probe sector angles relative to down, in radians. 2 angles for 2D, and 4 for 3D probes. For regular imaging with linear probes these will be 0
Reimplemented in vtkPlusBkProFocusOemVideoSource.
Definition at line 245 of file vtkPlusUsDevice.cxx.
|
virtual |
Boundaries to cut away areas outside the US sector, in pixels. 4 for 2D, and 6 for 3D.
Reimplemented in vtkPlusBkProFocusOemVideoSource.
Definition at line 251 of file vtkPlusUsDevice.cxx.
|
virtual |
Start, stop depth for the imaging, in mm.
Reimplemented in vtkPlusBkProFocusOemVideoSource.
Definition at line 257 of file vtkPlusUsDevice.cxx.
|
protected |
Definition at line 275 of file vtkPlusUsDevice.cxx.
|
virtual |
Width of linear probe.
Reimplemented in vtkPlusBkProFocusOemVideoSource.
Definition at line 263 of file vtkPlusUsDevice.cxx.
|
virtual |
Sector origin relative to upper left corner of image in pixels
Reimplemented in vtkPlusBkProFocusOemVideoSource.
Definition at line 239 of file vtkPlusUsDevice.cxx.
|
virtual |
Reimplemented from vtkPlusDevice.
Reimplemented in vtkPlusSonixVideoSource, vtkPlusTelemedVideoSource, vtkPlusClariusOEM, vtkPlusWinProbeVideoSource, vtkPlusBkProFocusOemVideoSource, vtkPlusCapistranoVideoSource, vtkPlusUsSimulatorVideoSource, vtkPlusClarius, and vtkPlusIntersonVideoSource.
|
virtual |
Get current imaging parameters
|
virtual |
Reimplemented from vtkPlusDevice.
Definition at line 184 of file vtkPlusUsDevice.cxx.
|
virtual |
Reimplemented from vtkPlusDevice.
Definition at line 200 of file vtkPlusUsDevice.cxx.
|
virtual |
Get probe type.
Reimplemented in vtkPlusBkProFocusOemVideoSource.
Definition at line 233 of file vtkPlusUsDevice.cxx.
|
protectedvirtual |
Set changed imaging parameter to device
Reimplemented in vtkPlusSonixVideoSource, vtkPlusCapistranoVideoSource, vtkPlusWinProbeVideoSource, vtkPlusClariusOEM, vtkPlusTelemedVideoSource, vtkPlusIntersonVideoSource, and vtkPlusUsSimulatorVideoSource.
Definition at line 269 of file vtkPlusUsDevice.cxx.
|
virtual |
Reimplemented from vtkPlusDevice.
Reimplemented in vtkPlusSonixVideoSource, vtkPlusTelemedVideoSource, vtkPlusClariusOEM, vtkPlusWinProbeVideoSource, vtkPlusBkProFocusOemVideoSource, vtkPlusCapistranoVideoSource, vtkPlusUsSimulatorVideoSource, vtkPlusClarius, and vtkPlusIntersonVideoSource.
bool vtkPlusUsDevice::IsKnownKey | ( | const std::string & | queryKey | ) | const |
Is the queried key a known us device key?
Definition at line 211 of file vtkPlusUsDevice.cxx.
|
static |
|
static |
|
virtual |
Reimplemented from vtkPlusDevice.
Reimplemented in vtkPlusSonixVideoSource, vtkPlusClarius, vtkPlusTelemedVideoSource, vtkPlusClariusOEM, vtkPlusWinProbeVideoSource, vtkPlusBkProFocusOemVideoSource, vtkPlusCapistranoVideoSource, vtkPlusUsSimulatorVideoSource, and vtkPlusIntersonVideoSource.
Definition at line 42 of file vtkPlusUsDevice.cxx.
|
virtual |
Read main configuration from xml data
Reimplemented from vtkPlusDevice.
Reimplemented in vtkPlusWinProbeVideoSource, vtkPlusSonixVideoSource, vtkPlusCapistranoVideoSource, vtkPlusClarius, vtkPlusClariusOEM, vtkPlusTelemedVideoSource, vtkPlusBkProFocusOemVideoSource, vtkPlusIntersonVideoSource, and vtkPlusUsSimulatorVideoSource.
Definition at line 51 of file vtkPlusUsDevice.cxx.
|
static |
|
virtual |
Copy the new imaging parameters into the current parameter set It is up to subclasses to take the new imaging parameter set and apply it to their respective devices /param newImagingParameters class containing the new ultrasound imaging parameters
Reimplemented in vtkPlusIntersonVideoSource.
Definition at line 93 of file vtkPlusUsDevice.cxx.
|
virtual |
Override base class parameter behaviour to intercept UsImagingParameters parameters
Reimplemented from vtkPlusDevice.
Definition at line 172 of file vtkPlusUsDevice.cxx.
vtkPlusUsDevice::vtkGetStdStringMacro | ( | ImageToTransducerTransformName | ) |
If non-NULL then ImageToTransducer transform is added as a custom field to the image data with the specified name. The Transducer coordinate system origin is in the center of the transducer crystal array, x axis direction is towards marked side, y axis direction is towards sound propagation direction, and z direction is cross product of x and y, unit is mm. Elevational pixel spacing is set as the mean of the lateral and axial pixel spacing.
vtkPlusUsDevice::vtkSetStdStringMacro | ( | ImageToTransducerTransformName | ) |
|
virtual |
Write main configuration to xml data
Reimplemented from vtkPlusDevice.
Reimplemented in vtkPlusWinProbeVideoSource, vtkPlusSonixVideoSource, vtkPlusCapistranoVideoSource, vtkPlusClarius, vtkPlusClariusOEM, vtkPlusTelemedVideoSource, vtkPlusBkProFocusOemVideoSource, and vtkPlusIntersonVideoSource.
Definition at line 83 of file vtkPlusUsDevice.cxx.
|
protected |
Values used in calculation of image to transducer matrix.
Definition at line 124 of file vtkPlusUsDevice.h.
|
protected |
Values used in calculation of image to transducer matrix.
Definition at line 126 of file vtkPlusUsDevice.h.
|
protected |
Definition at line 128 of file vtkPlusUsDevice.h.
|
protected |
Definition at line 129 of file vtkPlusUsDevice.h.
|
protected |
Store the current imaging parameters.
Definition at line 121 of file vtkPlusUsDevice.h.