MITK-IGT
IGT Extension of MITK
|
A mitk::USIGTLDevice is a USDevice to receive images over an OpenIGTLink connection. It registers an OIGTL device as a Microservice to receive image messages and transforms them to mitk::Images. It can act both as a server (listening for incoming connections) and as a client (connecting to an existing OIGTL server). More...
#include <mitkUSIGTLDevice.h>
Public Member Functions | |
mitkClassMacro (USIGTLDevice, mitk::USDevice) | |
mitkNewMacro5Param (Self, std::string, std::string, std::string, int, bool) | |
std::string | GetDeviceClass () override |
Returns the Class of the Device. This Method must be reimplemented by every Inheriting Class. | |
USImageSource::Pointer | GetUSImageSource () override |
USIGTLDevice (std::string manufacturer, std::string model, std::string host, int port, bool server) | |
itk::SmartPointer< USAbstractControlInterface > | GetControlInterfaceCustom () override |
void | UnregisterOnService () |
Remove the IGTLDevice from the micro service. | |
std::vector< mitk::USProbe::Pointer > | GetAllProbes () override |
Return all probes for this USVideoDevice or an empty vector it no probes were set Returns a std::vector of all probes that exist for this USVideoDevice 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! | |
void | DeleteAllProbes () override |
Cleans the std::vector containing all configured probes. | |
mitk::USProbe::Pointer | GetCurrentProbe () override |
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. | |
void | AddNewProbe (mitk::USProbe::Pointer probe) override |
adds a new probe to the device | |
mitk::USProbe::Pointer | GetProbeByName (std::string name) override |
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. | |
void | RemoveProbeByName (std::string name) override |
Removes the Probe with the given name. | |
void | SetDefaultProbeAsCurrentProbe () override |
Sets the first existing probe or the default probe of the video device as the current probe of it. | |
void | SetCurrentProbe (std::string probename) override |
Sets the probe with the given name as current probe if the named probe exists. | |
void | SetSpacing (double xSpacing, double ySpacing) override |
Sets the given spacing of the current depth of the current probe. | |
![]() | |
mitkClassMacro (USDevice, mitk::ImageSource) | |
itkSetMacro (SpawnAcquireThread, bool) | |
itkGetMacro (SpawnAcquireThread, bool) | |
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. | |
virtual itk::SmartPointer< USControlInterfaceBMode > | GetControlInterfaceBMode () |
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. | |
virtual itk::SmartPointer< USControlInterfaceProbes > | GetControlInterfaceProbes () |
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. | |
virtual itk::SmartPointer< USControlInterfaceDoppler > | GetControlInterfaceDoppler () |
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. | |
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. | |
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:
| |
void | ConnectAsynchron () |
bool | Disconnect () |
Works analogously to mitk::USDevice::Connect(). Don't override this Method, but onDisconnection instead. | |
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. | |
void | Deactivate () |
Deactivates this device. After the deactivation process, the device will no longer produce images, but still be connected. | |
virtual void | SetIsFreezed (bool freeze) |
Can toggle if ultrasound image is currently updated or freezed. | |
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. | |
void | DepthChanged (double depth) |
To be called when the scanning depth of the probe changed. Will update the service properties. | |
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. | |
void | UpdateServiceProperty (std::string key, double value) |
void | UpdateServiceProperty (std::string key, bool value) |
bool | GetIsInitialized () |
True, if the device object is created and initialized, false otherwise. | |
bool | GetIsActive () |
True, if the device is currently generating image data, false otherwise. | |
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. | |
mitk::USDevice::USImageCropArea | GetCropArea () |
unsigned int | GetSizeOfImageVector () |
DEPRECATED (std::string GetDeviceManufacturer()) | |
Deprecated -> use GetManufacturer() instead. | |
DEPRECATED (std::string GetDeviceModel()) | |
Deprecated -> use GetName() instead. | |
DEPRECATED (std::string GetDeviceComment()) | |
Deprecated -> use GetCommend() instead. | |
itkGetMacro (Manufacturer, std::string) | |
itkGetMacro (Name, std::string) | |
itkGetMacro (Comment, std::string) | |
void | SetManufacturer (std::string manufacturer) |
void | SetName (std::string name) |
void | SetComment (std::string comment) |
itkGetMacro (DeviceState, DeviceStates) | |
itkGetMacro (ServiceProperties, us::ServiceProperties) | |
void | GrabImage () |
Protected Member Functions | |
bool | OnInitialization () override |
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. | |
bool | OnConnection () override |
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. | |
bool | OnDisconnection () override |
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. | |
bool | OnActivation () override |
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. | |
bool | OnDeactivation () override |
Is called during the deactivation process. After a call to this method the device should still be connected, but not producing images anymore. | |
void | GenerateData () override |
Grabs the next frame from the Video input. This method is called internally, whenever Update() is invoked by an Output. | |
![]() | |
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. | |
void | DisableOIGTL () |
Deregisters the microservices for OpenIGTLink. | |
us::ServiceProperties | ConstructServiceProperties () |
This Method constructs the service properties which can later be used to register the object with the Microservices Return service properties. | |
void | UnregisterOnService () |
Remove this device from the micro service. | |
virtual void | OnFreeze (bool) |
Called when mitk::USDevice::SetIsFreezed() is called. Subclasses can overwrite this method to do additional actions. Default implementation does noting. | |
USDevice (std::string manufacturer, std::string model) | |
Enforces minimal Metadata to be set. | |
USDevice (mitk::USImageMetadata::Pointer metadata) | |
Constructs a device with the given Metadata. Make sure the Metadata contains meaningful content! | |
~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. | |
std::string | GetServicePropertyLabel () |
Additional Inherited Members | |
![]() | |
enum | DeviceStates { State_NoState , State_Initialized , State_Connected , State_Activated } |
![]() | |
static mitk::USDevice::PropertyKeys | GetPropertyKeys () |
![]() | |
std::condition_variable | m_FreezeBarrier |
std::mutex | m_FreezeMutex |
std::mutex | m_ImageMutex |
mutex for images provided by the image source | |
std::thread | m_Thread |
std::vector< mitk::Image::Pointer > | m_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. | |
us::ServiceRegistration< Self > | m_ServiceRegistration |
The device's ServiceRegistration object that allows to modify it's Microservice registraton details. | |
A mitk::USIGTLDevice is a USDevice to receive images over an OpenIGTLink connection. It registers an OIGTL device as a Microservice to receive image messages and transforms them to mitk::Images. It can act both as a server (listening for incoming connections) and as a client (connecting to an existing OIGTL server).
Definition at line 44 of file mitkUSIGTLDevice.h.
mitk::USIGTLDevice::USIGTLDevice | ( | std::string | manufacturer, |
std::string | model, | ||
std::string | host, | ||
int | port, | ||
bool | server ) |
Definition at line 15 of file mitkUSIGTLDevice.cpp.
|
overridevirtual |
adds a new probe to the device
Reimplemented from mitk::USDevice.
Definition at line 90 of file mitkUSIGTLDevice.cpp.
|
overridevirtual |
Cleans the std::vector containing all configured probes.
Reimplemented from mitk::USDevice.
Definition at line 73 of file mitkUSIGTLDevice.cpp.
|
overrideprotected |
Grabs the next frame from the Video input. This method is called internally, whenever Update() is invoked by an Output.
Definition at line 190 of file mitkUSIGTLDevice.cpp.
|
overridevirtual |
Return all probes for this USVideoDevice or an empty vector it no probes were set Returns a std::vector of all probes that exist for this USVideoDevice 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!
Implements mitk::USDevice.
Definition at line 64 of file mitkUSIGTLDevice.cpp.
|
overridevirtual |
Getter for the custom control interface which was created during the construction process of mitk::USIGTLDevice.
Reimplemented from mitk::USDevice.
Definition at line 52 of file mitkUSIGTLDevice.cpp.
|
overridevirtual |
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.
Implements mitk::USDevice.
Definition at line 78 of file mitkUSIGTLDevice.cpp.
|
overridevirtual |
Returns the Class of the Device. This Method must be reimplemented by every Inheriting Class.
Implements mitk::USDevice.
Definition at line 45 of file mitkUSIGTLDevice.cpp.
|
overridevirtual |
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.
Implements mitk::USDevice.
Definition at line 95 of file mitkUSIGTLDevice.cpp.
|
overridevirtual |
Implements mitk::USDevice.
Definition at line 47 of file mitkUSIGTLDevice.cpp.
mitk::USIGTLDevice::mitkClassMacro | ( | USIGTLDevice | , |
mitk::USDevice | ) |
mitk::USIGTLDevice::mitkNewMacro5Param | ( | Self | , |
std::string | , | ||
std::string | , | ||
std::string | , | ||
int | , | ||
bool | ) |
|
overrideprotectedvirtual |
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.
mitk::Exception | implementation may throw an exception to clarify what went wrong |
Implements mitk::USDevice.
Definition at line 175 of file mitkUSIGTLDevice.cpp.
|
overrideprotectedvirtual |
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.
mitk::Exception | implementation may throw an exception to clarify what went wrong |
Implements mitk::USDevice.
Definition at line 159 of file mitkUSIGTLDevice.cpp.
|
overrideprotectedvirtual |
Is called during the deactivation process. After a call to this method the device should still be connected, but not producing images anymore.
mitk::Exception | implementation may throw an exception to clarify what went wrong |
Implements mitk::USDevice.
Definition at line 185 of file mitkUSIGTLDevice.cpp.
|
overrideprotectedvirtual |
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.
mitk::Exception | implementation may throw an exception to clarify what went wrong |
Implements mitk::USDevice.
Definition at line 170 of file mitkUSIGTLDevice.cpp.
|
overrideprotectedvirtual |
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.
mitk::Exception | implementation may throw an exception to clarify what went wrong |
Implements mitk::USDevice.
Definition at line 157 of file mitkUSIGTLDevice.cpp.
|
overridevirtual |
Removes the Probe with the given name.
Reimplemented from mitk::USDevice.
Definition at line 106 of file mitkUSIGTLDevice.cpp.
|
overridevirtual |
Sets the probe with the given name as current probe if the named probe exists.
Reimplemented from mitk::USDevice.
Definition at line 133 of file mitkUSIGTLDevice.cpp.
|
overridevirtual |
Sets the first existing probe or the default probe of the video device as the current probe of it.
Reimplemented from mitk::USDevice.
Definition at line 119 of file mitkUSIGTLDevice.cpp.
|
overridevirtual |
Sets the given spacing of the current depth of the current probe.
Reimplemented from mitk::USDevice.
Definition at line 139 of file mitkUSIGTLDevice.cpp.
void mitk::USIGTLDevice::UnregisterOnService | ( | ) |
Remove the IGTLDevice from the micro service.
Definition at line 57 of file mitkUSIGTLDevice.cpp.