Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
mitk::USDevice Class Referenceabstract

A device holds information about it's model, make and the connected probes. It is the common super class for all devices and acts as an image source for mitkUSImages. It is the base class for all US Devices, and every new device should extend it. More...

#include <mitkUSDevice.h>

Inheritance diagram for mitk::USDevice:
Collaboration diagram for mitk::USDevice:

Classes

struct  PropertyKeys
 These constants are used in conjunction with Microservices. The constants aren't defined as static member attributes to avoid the "static initialization order fiasco", which would occur when objects of this class are used in module activators (for restoring stored device, for example). More...
 
struct  USImageCropArea
 

Public Types

enum  DeviceStates { State_NoState, State_Initialized, State_Connected, State_Activated }
 
- Public Types inherited from mitk::ImageSource
typedef ImageSource Self
 
typedef BaseDataSource Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef mitk::Image OutputImageType
 Some convenient typedefs. More...
 
typedef OutputImageType OutputType
 
typedef OutputImageType::Pointer OutputImagePointer
 
typedef SlicedData::RegionType OutputImageRegionType
 
- Public Types inherited from mitk::BaseDataSource
typedef BaseDataSource Self
 
typedef itk::ProcessObject Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef BaseData OutputType
 
typedef itk::DataObject::DataObjectIdentifierType DataObjectIdentifierType
 

Public Member Functions

 mitkClassMacro (USDevice, mitk::ImageSource)
 
virtual void SetSpawnAcquireThread (bool _arg)
 
virtual bool GetSpawnAcquireThread ()
 
 mitkNewMessage2Macro (PropertyChanged, const std::string &, const std::string &)
 Event for being notified about changes of the micro service properties. This event can be used if no micro service context is available. More...
 
virtual itk::SmartPointer< USAbstractControlInterfaceGetControlInterfaceCustom ()
 Default getter for the custom control interface. Has to be implemented in a subclass if a custom control interface is available. Default implementation returns null. More...
 
virtual itk::SmartPointer< USControlInterfaceBModeGetControlInterfaceBMode ()
 Default getter for the b mode control interface. Has to be implemented in a subclass if a b mode control interface is available. Default implementation returns null. More...
 
virtual itk::SmartPointer< USControlInterfaceProbesGetControlInterfaceProbes ()
 Default getter for the probes control interface. Has to be implemented in a subclass if a probes control interface is available. Default implementation returns null. More...
 
virtual itk::SmartPointer< USControlInterfaceDopplerGetControlInterfaceDoppler ()
 Default getter for the doppler control interface. Has to be implemented in a subclass if a doppler control interface is available. Default implementation returns null. More...
 
bool Initialize ()
 Changes device state to mitk::USDevice::State_Initialized. During initialization the virtual method mitk::USDevice::OnInitialization will be called. If this method returns false the initialization process will be canceled. Otherwise the mitk::USDevice is registered in a micro service. More...
 
bool Connect ()
 Connects this device. A connected device is ready to deliver images (i.e. be Activated). A Connected Device can be active. A disconnected Device cannot be active. Internally calls onConnect and then registers the device with the service. A device usually should override the OnConnection() method, but never the Connect() method, since this will possibly exclude the device from normal service management. The exact flow of events is: 0. Check if the device is already connected. If yes, return true anyway, but don't do anything. More...
 
void ConnectAsynchron ()
 
bool Disconnect ()
 Works analogously to mitk::USDevice::Connect(). Don't override this Method, but onDisconnection instead. More...
 
bool Activate ()
 Activates this device. After the activation process, the device will start to produce images. This Method will fail, if the device is not connected. More...
 
void Deactivate ()
 Deactivates this device. After the deactivation process, the device will no longer produce images, but still be connected. More...
 
virtual void SetIsFreezed (bool freeze)
 Can toggle if ultrasound image is currently updated or freezed. More...
 
virtual bool GetIsFreezed ()
 
void PushFilter (AbstractOpenCVImageFilter::Pointer filter)
 
void PushFilterIfNotPushedBefore (AbstractOpenCVImageFilter::Pointer filter)
 
bool RemoveFilter (AbstractOpenCVImageFilter::Pointer filter)
 
void ProbeChanged (std::string probename)
 To be called when the used probe changed. Will update the service properties. More...
 
void DepthChanged (double depth)
 To be called when the scanning depth of the probe changed. Will update the service properties. More...
 
void UpdateServiceProperty (std::string key, std::string value)
 Given property is updated in the device micro service. This method is mainly for being used by the control interface superclasses. You do not need to call it by yoursefs in your concrete control interface classes. More...
 
void UpdateServiceProperty (std::string key, double value)
 
void UpdateServiceProperty (std::string key, bool value)
 
virtual std::string GetDeviceClass ()=0
 Returns the Class of the Device. This Method must be reimplemented by every Inheriting Class. More...
 
bool GetIsInitialized ()
 True, if the device object is created and initialized, false otherwise. More...
 
bool GetIsActive ()
 True, if the device is currently generating image data, false otherwise. More...
 
bool GetIsConnected ()
 True, if the device is currently ready to start transmitting image data or is already transmitting image data. A disconnected device cannot be activated. More...
 
mitk::USDevice::USImageCropArea GetCropArea ()
 
unsigned int GetSizeOfImageVector ()
 
virtual USImageSource::Pointer GetUSImageSource ()=0
 
std::string GetDeviceManufacturer ()
 Deprecated -> use GetManufacturer() instead. More...
 
std::string GetDeviceModel ()
 Deprecated -> use GetName() instead. More...
 
std::string GetDeviceComment ()
 Deprecated -> use GetCommend() instead. More...
 
virtual std::string GetManufacturer ()
 
virtual std::string GetName ()
 
virtual std::string GetComment ()
 
void SetManufacturer (std::string manufacturer)
 
void SetName (std::string name)
 
void SetComment (std::string comment)
 
virtual DeviceStates GetDeviceState ()
 
virtual us::ServiceProperties GetServiceProperties ()
 
void GrabImage ()
 
virtual std::vector< mitk::USProbe::Pointer > GetAllProbes ()=0
 Returns all probes for this device or an empty vector it no probes were set Returns a std::vector of all probes that exist for this device if there were probes set while creating or modifying this USVideoDevice. Otherwise it returns an empty vector. Therefore always check if vector is filled, before using it! More...
 
virtual void DeleteAllProbes ()
 Cleans the std::vector containing all configured probes. More...
 
virtual mitk::USProbe::Pointer GetCurrentProbe ()=0
 Return current active probe for this USDevice Returns a pointer to the probe that is currently in use. If there were probes set while creating or modifying this USDevice. Returns null otherwise. More...
 
virtual void AddNewProbe (mitk::USProbe::Pointer)
 adds a new probe to the device More...
 
virtual mitk::USProbe::Pointer GetProbeByName (std::string name)=0
 get the probe by its name Returns a pointer to the probe identified by the given name. If no probe of given name exists for this Device 0 is returned. More...
 
virtual void RemoveProbeByName (std::string)
 Removes the Probe with the given name. More...
 
virtual void SetDefaultProbeAsCurrentProbe ()
 Sets the first existing probe or the default probe of the ultrasound device as the current probe of it. More...
 
virtual void SetCurrentProbe (std::string)
 Sets the probe with the given name as current probe if the named probe exists. More...
 
virtual void SetSpacing (double xSpacing, double ySpacing)
 
- Public Member Functions inherited from mitk::ImageSource
virtual std::vector< std::string > GetClassHierarchy () const override
 
virtual const char * GetClassName () const
 
Pointer Clone () const
 
OutputTypeGetOutput ()
 Get the output data of this image source object. More...
 
const OutputTypeGetOutput () const
 
OutputTypeGetOutput (DataObjectPointerArraySizeType idx)
 
const OutputTypeGetOutput (DataObjectPointerArraySizeType idx) const
 
itk::DataObject::Pointer MakeOutput (DataObjectPointerArraySizeType idx) override
 Make a DataObject of the correct type to used as the specified output. More...
 
itk::DataObject::Pointer MakeOutput (const DataObjectIdentifierType &name) override
 
virtual vtkImageData * GetVtkImageData ()
 
virtual const vtkImageData * GetVtkImageData () const
 
- Public Member Functions inherited from mitk::BaseDataSource
OutputTypeGetOutput ()
 
const OutputTypeGetOutput () const
 
OutputTypeGetOutput (DataObjectPointerArraySizeType idx)
 
const OutputTypeGetOutput (DataObjectPointerArraySizeType idx) const
 
virtual void GraftOutput (OutputType *output)
 Graft the specified BaseData onto this BaseDataSource's output. More...
 
virtual void GraftOutput (const DataObjectIdentifierType &key, OutputType *output)
 
virtual void GraftNthOutput (unsigned int idx, OutputType *output)
 Graft the specified base data object onto this BaseDataSource's idx'th output. More...
 
bool Updating () const
 Access itk::ProcessObject::m_Updating. More...
 

Static Public Member Functions

static mitk::USDevice::PropertyKeys GetPropertyKeys ()
 
- Static Public Member Functions inherited from mitk::ImageSource
static const char * GetStaticNameOfClass ()
 
static Pointer New ()
 Method for creation through the object factory. More...
 
- Static Public Member Functions inherited from mitk::BaseDataSource
static const char * GetStaticNameOfClass ()
 

Protected Member Functions

virtual void SetImageVector (std::vector< mitk::Image::Pointer > vec)
 
void Acquire ()
 
void ConnectThread ()
 
void ProvideViaOIGTL ()
 Registers an OpenIGTLink device as a microservice so that we can send the images of this device via the network. More...
 
void DisableOIGTL ()
 Deregisters the microservices for OpenIGTLink. More...
 
us::ServiceProperties ConstructServiceProperties ()
 This Method constructs the service properties which can later be used to register the object with the Microservices Return service properties. More...
 
void UnregisterOnService ()
 Remove this device from the micro service. More...
 
virtual bool OnInitialization ()=0
 Is called during the initialization process. Override this method in a subclass to handle the actual initialization. If it returns false, the initialization process will be canceled. More...
 
virtual bool OnConnection ()=0
 Is called during the connection process. Override this method in a subclass to handle the actual connection. If it returns false, the connection process will be canceled. More...
 
virtual bool OnDisconnection ()=0
 Is called during the disconnection process. Override this method in a subclass to handle the actual disconnection. If it returns false, the disconnection process will be canceled. More...
 
virtual bool OnActivation ()=0
 Is called during the activation process. After this method is finished, the device should be generating images. If it returns false, the activation process will be canceled. More...
 
virtual bool OnDeactivation ()=0
 Is called during the deactivation process. After a call to this method the device should still be connected, but not producing images anymore. More...
 
virtual void OnFreeze (bool)
 Called when mitk::USDevice::SetIsFreezed() is called. Subclasses can overwrite this method to do additional actions. Default implementation does noting. More...
 
 USDevice (std::string manufacturer, std::string model)
 Enforces minimal Metadata to be set. More...
 
 USDevice (mitk::USImageMetadata::Pointer metadata)
 Constructs a device with the given Metadata. Make sure the Metadata contains meaningful content! More...
 
 ~USDevice () override
 
void GenerateData () override
 Grabs the next frame from the Video input. This method is called internally, whenever Update() is invoked by an Output. More...
 
std::string GetServicePropertyLabel ()
 
- Protected Member Functions inherited from mitk::ImageSource
 ImageSource ()
 
 ~ImageSource () override
 
void GenerateData () override
 A version of GenerateData() specific for image processing filters. More...
 
virtual void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId)
 If an imaging filter can be implemented as a multithreaded algorithm, the filter will provide an implementation of ThreadedGenerateData(). More...
 
void PrepareOutputs () override
 This method is intentionally left blank. More...
 
virtual void AllocateOutputs ()
 The GenerateData method normally allocates the buffers for all of the outputs of a filter. More...
 
virtual void BeforeThreadedGenerateData ()
 If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). More...
 
virtual void AfterThreadedGenerateData ()
 If an imaging filter needs to perform processing after all processing threads have completed, the filter can can provide an implementation for AfterThreadedGenerateData(). More...
 
virtual unsigned int SplitRequestedRegion (unsigned int i, unsigned int num, OutputImageRegionType &splitRegion)
 Split the output's RequestedRegion into "num" pieces, returning region "i" as "splitRegion". More...
 
- Protected Member Functions inherited from mitk::BaseDataSource
 BaseDataSource ()
 
 ~BaseDataSource () override
 

Protected Attributes

std::condition_variable m_FreezeBarrier
 
std::mutex m_FreezeMutex
 
std::mutex m_ImageMutex
 mutex for images provided by the image source More...
 
std::thread m_Thread
 
std::vector< mitk::Image::Pointerm_ImageVector
 
mitk::Vector3D m_Spacing
 
mitk::IGTLServer::Pointer m_IGTLServer
 
mitk::IGTLMessageProvider::Pointer m_IGTLMessageProvider
 
mitk::ImageToIGTLMessageFilter::Pointer m_ImageToIGTLMsgFilter
 
bool m_IsFreezed
 
DeviceStates m_DeviceState
 
USImageCropArea m_CropArea
 
unsigned int m_NumberOfOutputs
 
us::ServiceProperties m_ServiceProperties
 Properties of the device's Microservice. More...
 
us::ServiceRegistration< Selfm_ServiceRegistration
 The device's ServiceRegistration object that allows to modify it's Microservice registraton details. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from mitk::ImageSource
static itk::ITK_THREAD_RETURN_TYPE ThreaderCallback (void *arg)
 Static function used as a "callback" by the MultiThreader. More...
 
- Static Protected Member Functions inherited from mitk::BaseDataSource
static Pointer New ()
 

Detailed Description

A device holds information about it's model, make and the connected probes. It is the common super class for all devices and acts as an image source for mitkUSImages. It is the base class for all US Devices, and every new device should extend it.

US Devices support output of calibrated images, i.e. images that include a specific geometry. To achieve this, call SetCalibration, and make sure that the subclass also calls apply transformation at some point (The USDevice does not automatically apply the transformation to the image)

Note that USDevices will be removed from micro servive when their destructor is called. Registering into micro service is done when mitk::USDevice::Initialize() is called.

Definition at line 75 of file mitkUSDevice.h.

Member Enumeration Documentation

◆ DeviceStates

Enumerator
State_NoState 
State_Initialized 
State_Connected 
State_Activated 

Definition at line 78 of file mitkUSDevice.h.

Constructor & Destructor Documentation

◆ USDevice() [1/2]

mitk::USDevice::USDevice ( std::string  manufacturer,
std::string  model 
)
protected

Enforces minimal Metadata to be set.

◆ USDevice() [2/2]

mitk::USDevice::USDevice ( mitk::USImageMetadata::Pointer  metadata)
protected

Constructs a device with the given Metadata. Make sure the Metadata contains meaningful content!

Deprecated:
Use USDevice(std::string manufacturer, std::string model) instead.

◆ ~USDevice()

mitk::USDevice::~USDevice ( )
overrideprotected

Member Function Documentation

◆ Acquire()

void mitk::USDevice::Acquire ( )
protected

◆ Activate()

bool mitk::USDevice::Activate ( )

Activates this device. After the activation process, the device will start to produce images. This Method will fail, if the device is not connected.

◆ AddNewProbe()

virtual void mitk::USDevice::AddNewProbe ( mitk::USProbe::Pointer  )
inlinevirtual

adds a new probe to the device

Reimplemented in mitk::USVideoDevice, and mitk::USIGTLDevice.

Definition at line 341 of file mitkUSDevice.h.

◆ Connect()

bool mitk::USDevice::Connect ( )

Connects this device. A connected device is ready to deliver images (i.e. be Activated). A Connected Device can be active. A disconnected Device cannot be active. Internally calls onConnect and then registers the device with the service. A device usually should override the OnConnection() method, but never the Connect() method, since this will possibly exclude the device from normal service management. The exact flow of events is: 0. Check if the device is already connected. If yes, return true anyway, but don't do anything.

  1. Call OnConnection() Here, a device should establish it's connection with the hardware Afterwards, it should be ready to start transmitting images at any time.
  2. If OnConnection() returns true ("successful"), then the device is registered with the service.
  3. if not, it the method itself returns false or may throw an expection, depeneding on the device implementation.

◆ ConnectAsynchron()

void mitk::USDevice::ConnectAsynchron ( )

◆ ConnectThread()

void mitk::USDevice::ConnectThread ( )
protected

◆ ConstructServiceProperties()

us::ServiceProperties mitk::USDevice::ConstructServiceProperties ( )
protected

This Method constructs the service properties which can later be used to register the object with the Microservices Return service properties.

◆ Deactivate()

void mitk::USDevice::Deactivate ( )

Deactivates this device. After the deactivation process, the device will no longer produce images, but still be connected.

◆ DeleteAllProbes()

virtual void mitk::USDevice::DeleteAllProbes ( )
inlinevirtual

Cleans the std::vector containing all configured probes.

Reimplemented in mitk::USVideoDevice, and mitk::USIGTLDevice.

Definition at line 329 of file mitkUSDevice.h.

◆ DepthChanged()

void mitk::USDevice::DepthChanged ( double  depth)

To be called when the scanning depth of the probe changed. Will update the service properties.

Parameters
depththat is now used

◆ DisableOIGTL()

void mitk::USDevice::DisableOIGTL ( )
protected

Deregisters the microservices for OpenIGTLink.

◆ Disconnect()

bool mitk::USDevice::Disconnect ( )

Works analogously to mitk::USDevice::Connect(). Don't override this Method, but onDisconnection instead.

◆ GenerateData()

void mitk::USDevice::GenerateData ( )
overrideprotected

Grabs the next frame from the Video input. This method is called internally, whenever Update() is invoked by an Output.

◆ GetAllProbes()

virtual std::vector<mitk::USProbe::Pointer> mitk::USDevice::GetAllProbes ( )
pure virtual

Returns all probes for this device or an empty vector it no probes were set Returns a std::vector of all probes that exist for this device if there were probes set while creating or modifying this USVideoDevice. Otherwise it returns an empty vector. Therefore always check if vector is filled, before using it!

Implemented in mitk::USVideoDevice, mitk::USIGTLDevice, and mitk::USTelemedDevice.

◆ GetComment()

virtual std::string mitk::USDevice::GetComment ( )
virtual

◆ GetControlInterfaceBMode()

virtual itk::SmartPointer<USControlInterfaceBMode> mitk::USDevice::GetControlInterfaceBMode ( )
virtual

Default getter for the b mode control interface. Has to be implemented in a subclass if a b mode control interface is available. Default implementation returns null.

Returns
null pointer

Reimplemented in mitk::USTelemedDevice.

◆ GetControlInterfaceCustom()

virtual itk::SmartPointer<USAbstractControlInterface> mitk::USDevice::GetControlInterfaceCustom ( )
virtual

Default getter for the custom control interface. Has to be implemented in a subclass if a custom control interface is available. Default implementation returns null.

Returns
null pointer

Reimplemented in mitk::USVideoDevice, and mitk::USIGTLDevice.

◆ GetControlInterfaceDoppler()

virtual itk::SmartPointer<USControlInterfaceDoppler> mitk::USDevice::GetControlInterfaceDoppler ( )
virtual

Default getter for the doppler control interface. Has to be implemented in a subclass if a doppler control interface is available. Default implementation returns null.

Returns
null pointer

Reimplemented in mitk::USTelemedDevice.

◆ GetControlInterfaceProbes()

virtual itk::SmartPointer<USControlInterfaceProbes> mitk::USDevice::GetControlInterfaceProbes ( )
virtual

Default getter for the probes control interface. Has to be implemented in a subclass if a probes control interface is available. Default implementation returns null.

Returns
null pointer

Reimplemented in mitk::USTelemedDevice.

◆ GetCropArea()

mitk::USDevice::USImageCropArea mitk::USDevice::GetCropArea ( )

◆ GetCurrentProbe()

virtual mitk::USProbe::Pointer mitk::USDevice::GetCurrentProbe ( )
pure virtual

Return current active probe for this USDevice Returns a pointer to the probe that is currently in use. If there were probes set while creating or modifying this USDevice. Returns null otherwise.

Implemented in mitk::USVideoDevice, mitk::USIGTLDevice, and mitk::USTelemedDevice.

◆ GetDeviceClass()

virtual std::string mitk::USDevice::GetDeviceClass ( )
pure virtual

Returns the Class of the Device. This Method must be reimplemented by every Inheriting Class.

Implemented in mitk::USVideoDevice, mitk::USIGTLDevice, and mitk::USTelemedDevice.

◆ GetDeviceComment()

std::string mitk::USDevice::GetDeviceComment ( )

Deprecated -> use GetCommend() instead.

◆ GetDeviceManufacturer()

std::string mitk::USDevice::GetDeviceManufacturer ( )

Deprecated -> use GetManufacturer() instead.

◆ GetDeviceModel()

std::string mitk::USDevice::GetDeviceModel ( )

Deprecated -> use GetName() instead.

◆ GetDeviceState()

virtual DeviceStates mitk::USDevice::GetDeviceState ( )
virtual

◆ GetIsActive()

bool mitk::USDevice::GetIsActive ( )

True, if the device is currently generating image data, false otherwise.

◆ GetIsConnected()

bool mitk::USDevice::GetIsConnected ( )

True, if the device is currently ready to start transmitting image data or is already transmitting image data. A disconnected device cannot be activated.

◆ GetIsFreezed()

virtual bool mitk::USDevice::GetIsFreezed ( )
virtual
Returns
true if device is currently freezed (no image update is done), false otherwise

◆ GetIsInitialized()

bool mitk::USDevice::GetIsInitialized ( )

True, if the device object is created and initialized, false otherwise.

◆ GetManufacturer()

virtual std::string mitk::USDevice::GetManufacturer ( )
virtual

◆ GetName()

virtual std::string mitk::USDevice::GetName ( )
virtual

◆ GetProbeByName()

virtual mitk::USProbe::Pointer mitk::USDevice::GetProbeByName ( std::string  name)
pure virtual

get the probe by its name Returns a pointer to the probe identified by the given name. If no probe of given name exists for this Device 0 is returned.

Implemented in mitk::USVideoDevice, mitk::USIGTLDevice, and mitk::USTelemedDevice.

◆ GetPropertyKeys()

static mitk::USDevice::PropertyKeys mitk::USDevice::GetPropertyKeys ( )
static
Returns
keys for the microservice properties of ultrasound devices

◆ GetServiceProperties()

virtual us::ServiceProperties mitk::USDevice::GetServiceProperties ( )
virtual

◆ GetServicePropertyLabel()

std::string mitk::USDevice::GetServicePropertyLabel ( )
protected

◆ GetSizeOfImageVector()

unsigned int mitk::USDevice::GetSizeOfImageVector ( )

◆ GetSpawnAcquireThread()

virtual bool mitk::USDevice::GetSpawnAcquireThread ( )
virtual

◆ GetUSImageSource()

virtual USImageSource::Pointer mitk::USDevice::GetUSImageSource ( )
pure virtual
Returns
Returns the current image source of this device.

Implemented in mitk::USVideoDevice, mitk::USIGTLDevice, and mitk::USTelemedDevice.

◆ GrabImage()

void mitk::USDevice::GrabImage ( )

◆ Initialize()

bool mitk::USDevice::Initialize ( )

Changes device state to mitk::USDevice::State_Initialized. During initialization the virtual method mitk::USDevice::OnInitialization will be called. If this method returns false the initialization process will be canceled. Otherwise the mitk::USDevice is registered in a micro service.

◆ mitkClassMacro()

mitk::USDevice::mitkClassMacro ( USDevice  ,
mitk::ImageSource   
)

◆ mitkNewMessage2Macro()

mitk::USDevice::mitkNewMessage2Macro ( PropertyChanged  ,
const std::string &  ,
const std::string &   
)

Event for being notified about changes of the micro service properties. This event can be used if no micro service context is available.

◆ OnActivation()

virtual bool mitk::USDevice::OnActivation ( )
protectedpure virtual

Is called during the activation process. After this method is finished, the device should be generating images. If it returns false, the activation process will be canceled.

Returns
true if successful and false if unsuccessful
Exceptions
mitk::Exceptionimplementation may throw an exception to clarify what went wrong

Implemented in mitk::USVideoDevice, mitk::USIGTLDevice, and mitk::USTelemedDevice.

◆ OnConnection()

virtual bool mitk::USDevice::OnConnection ( )
protectedpure virtual

Is called during the connection process. Override this method in a subclass to handle the actual connection. If it returns false, the connection process will be canceled.

Returns
true if successful and false if unsuccessful
Exceptions
mitk::Exceptionimplementation may throw an exception to clarify what went wrong

Implemented in mitk::USVideoDevice, mitk::USIGTLDevice, and mitk::USTelemedDevice.

◆ OnDeactivation()

virtual bool mitk::USDevice::OnDeactivation ( )
protectedpure virtual

Is called during the deactivation process. After a call to this method the device should still be connected, but not producing images anymore.

Returns
true if successful and false if unsuccessful
Exceptions
mitk::Exceptionimplementation may throw an exception to clarify what went wrong

Implemented in mitk::USVideoDevice, mitk::USIGTLDevice, and mitk::USTelemedDevice.

◆ OnDisconnection()

virtual bool mitk::USDevice::OnDisconnection ( )
protectedpure virtual

Is called during the disconnection process. Override this method in a subclass to handle the actual disconnection. If it returns false, the disconnection process will be canceled.

Returns
true if successful and false if unsuccessful
Exceptions
mitk::Exceptionimplementation may throw an exception to clarify what went wrong

Implemented in mitk::USVideoDevice, mitk::USIGTLDevice, and mitk::USTelemedDevice.

◆ OnFreeze()

virtual void mitk::USDevice::OnFreeze ( bool  )
inlineprotectedvirtual

Called when mitk::USDevice::SetIsFreezed() is called. Subclasses can overwrite this method to do additional actions. Default implementation does noting.

Reimplemented in mitk::USTelemedDevice.

Definition at line 481 of file mitkUSDevice.h.

◆ OnInitialization()

virtual bool mitk::USDevice::OnInitialization ( )
protectedpure virtual

Is called during the initialization process. Override this method in a subclass to handle the actual initialization. If it returns false, the initialization process will be canceled.

Returns
true if successful and false if unsuccessful
Exceptions
mitk::Exceptionimplementation may throw an exception to clarify what went wrong

Implemented in mitk::USVideoDevice, mitk::USIGTLDevice, and mitk::USTelemedDevice.

◆ ProbeChanged()

void mitk::USDevice::ProbeChanged ( std::string  probename)

To be called when the used probe changed. Will update the service properties.

Parameters
probenameof the now used probe

◆ ProvideViaOIGTL()

void mitk::USDevice::ProvideViaOIGTL ( )
protected

Registers an OpenIGTLink device as a microservice so that we can send the images of this device via the network.

◆ PushFilter()

void mitk::USDevice::PushFilter ( AbstractOpenCVImageFilter::Pointer  filter)

◆ PushFilterIfNotPushedBefore()

void mitk::USDevice::PushFilterIfNotPushedBefore ( AbstractOpenCVImageFilter::Pointer  filter)

◆ RemoveFilter()

bool mitk::USDevice::RemoveFilter ( AbstractOpenCVImageFilter::Pointer  filter)

◆ RemoveProbeByName()

virtual void mitk::USDevice::RemoveProbeByName ( std::string  )
inlinevirtual

Removes the Probe with the given name.

Reimplemented in mitk::USVideoDevice, and mitk::USIGTLDevice.

Definition at line 352 of file mitkUSDevice.h.

◆ SetComment()

void mitk::USDevice::SetComment ( std::string  comment)

◆ SetCurrentProbe()

virtual void mitk::USDevice::SetCurrentProbe ( std::string  )
inlinevirtual

Sets the probe with the given name as current probe if the named probe exists.

Reimplemented in mitk::USVideoDevice, and mitk::USIGTLDevice.

Definition at line 363 of file mitkUSDevice.h.

◆ SetDefaultProbeAsCurrentProbe()

virtual void mitk::USDevice::SetDefaultProbeAsCurrentProbe ( )
inlinevirtual

Sets the first existing probe or the default probe of the ultrasound device as the current probe of it.

Reimplemented in mitk::USVideoDevice, and mitk::USIGTLDevice.

Definition at line 358 of file mitkUSDevice.h.

◆ SetImageVector()

virtual void mitk::USDevice::SetImageVector ( std::vector< mitk::Image::Pointer vec)
inlineprotectedvirtual

Definition at line 375 of file mitkUSDevice.h.

◆ SetIsFreezed()

virtual void mitk::USDevice::SetIsFreezed ( bool  freeze)
virtual

Can toggle if ultrasound image is currently updated or freezed.

Parameters
freezetrue to stop updating the ultrasound image, false to start updating again

◆ SetManufacturer()

void mitk::USDevice::SetManufacturer ( std::string  manufacturer)

◆ SetName()

void mitk::USDevice::SetName ( std::string  name)

◆ SetSpacing()

virtual void mitk::USDevice::SetSpacing ( double  xSpacing,
double  ySpacing 
)
virtual

Reimplemented in mitk::USVideoDevice, and mitk::USIGTLDevice.

◆ SetSpawnAcquireThread()

virtual void mitk::USDevice::SetSpawnAcquireThread ( bool  _arg)
virtual

◆ UnregisterOnService()

void mitk::USDevice::UnregisterOnService ( )
protected

Remove this device from the micro service.

◆ UpdateServiceProperty() [1/3]

void mitk::USDevice::UpdateServiceProperty ( std::string  key,
bool  value 
)

◆ UpdateServiceProperty() [2/3]

void mitk::USDevice::UpdateServiceProperty ( std::string  key,
double  value 
)

◆ UpdateServiceProperty() [3/3]

void mitk::USDevice::UpdateServiceProperty ( std::string  key,
std::string  value 
)

Given property is updated in the device micro service. This method is mainly for being used by the control interface superclasses. You do not need to call it by yoursefs in your concrete control interface classes.

Member Data Documentation

◆ m_CropArea

USImageCropArea mitk::USDevice::m_CropArea
protected

Definition at line 412 of file mitkUSDevice.h.

◆ m_DeviceState

DeviceStates mitk::USDevice::m_DeviceState
protected

Definition at line 409 of file mitkUSDevice.h.

◆ m_FreezeBarrier

std::condition_variable mitk::USDevice::m_FreezeBarrier
protected

Definition at line 370 of file mitkUSDevice.h.

◆ m_FreezeMutex

std::mutex mitk::USDevice::m_FreezeMutex
protected

Definition at line 371 of file mitkUSDevice.h.

◆ m_IGTLMessageProvider

mitk::IGTLMessageProvider::Pointer mitk::USDevice::m_IGTLMessageProvider
protected

Definition at line 404 of file mitkUSDevice.h.

◆ m_IGTLServer

mitk::IGTLServer::Pointer mitk::USDevice::m_IGTLServer
protected

Definition at line 403 of file mitkUSDevice.h.

◆ m_ImageMutex

std::mutex mitk::USDevice::m_ImageMutex
protected

mutex for images provided by the image source

Definition at line 372 of file mitkUSDevice.h.

◆ m_ImageToIGTLMsgFilter

mitk::ImageToIGTLMessageFilter::Pointer mitk::USDevice::m_ImageToIGTLMsgFilter
protected

Definition at line 405 of file mitkUSDevice.h.

◆ m_ImageVector

std::vector<mitk::Image::Pointer> mitk::USDevice::m_ImageVector
protected

Definition at line 387 of file mitkUSDevice.h.

◆ m_IsFreezed

bool mitk::USDevice::m_IsFreezed
protected

Definition at line 407 of file mitkUSDevice.h.

◆ m_NumberOfOutputs

unsigned int mitk::USDevice::m_NumberOfOutputs
protected

Definition at line 504 of file mitkUSDevice.h.

◆ m_ServiceProperties

us::ServiceProperties mitk::USDevice::m_ServiceProperties
protected

Properties of the device's Microservice.

Definition at line 509 of file mitkUSDevice.h.

◆ m_ServiceRegistration

us::ServiceRegistration<Self> mitk::USDevice::m_ServiceRegistration
protected

The device's ServiceRegistration object that allows to modify it's Microservice registraton details.

Definition at line 514 of file mitkUSDevice.h.

◆ m_Spacing

mitk::Vector3D mitk::USDevice::m_Spacing
protected

Definition at line 390 of file mitkUSDevice.h.

◆ m_Thread

std::thread mitk::USDevice::m_Thread
protected

Definition at line 373 of file mitkUSDevice.h.


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