|
Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
Connects a mitk::IGTLDevice to a MITK-OpenIGTLink-Message-Filter-Pipeline. More...
#include <mitkIGTLDeviceSource.h>


Public Member Functions | |
| mitkClassMacro (IGTLDeviceSource, IGTLMessageSource) | |
| Pointer | Clone () const |
| virtual void | SetIGTLDevice (mitk::IGTLDevice *td) |
| sets the OpenIGTLink device that will be used as a data source More... | |
| virtual mitk::IGTLDevice * | GetIGTLDevice () |
| returns the OpenIGTLink device that is used by this filter More... | |
| void | RegisterAsMicroservice () override |
| Registers this object as a Microservice, making it available to every module and/or plugin. To unregister, call UnregisterMicroservice(). More... | |
| void | Connect () |
| Establishes a connection to the OpenIGTLink device. If there is already a connection the method does nothing. More... | |
| void | Disconnect () |
| Closes the connection to the OpenIGTLink device. More... | |
| void | StartCommunication () |
| starts the communication of the device. This needs to be called before Update() or GetOutput()->Update(). If the device is already communicating the method does nothing. More... | |
| void | StopCommunication () |
| stops the communication of the device. More... | |
| virtual bool | IsConnected () |
| returns true if a connection to the OpenIGTLink device is established More... | |
| virtual bool | IsCommunicating () |
| returns true if communication is in progress More... | |
| void | UpdateOutputInformation () override |
| Used for pipeline update. More... | |
Public Member Functions inherited from mitk::IGTLMessageSource | |
| mitkClassMacroItkParent (IGTLMessageSource, itk::ProcessObject) | |
| virtual std::string | GetName () |
| virtual void | SetName (std::string _arg) |
| Sets the human readable name of this source. There is also a default name, but you can use this method if you need to define it on your own. More... | |
| virtual std::string | GetType () |
| virtual void | SetType (std::string _arg) |
| IGTLMessage * | GetOutput (void) |
| return the output (output with id 0) of the filter More... | |
| IGTLMessage * | GetOutput (DataObjectPointerArraySizeType idx) |
| return the output with id idx of the filter More... | |
| IGTLMessage * | GetOutput (const std::string &messageName) |
| return the output with name messageName of the filter More... | |
| DataObjectPointerArraySizeType | GetOutputIndex (std::string messageName) |
| return the index of the output with name messageName, -1 if no output with that name was found More... | |
| virtual void | UnRegisterMicroservice () |
| Registers this object as a Microservice, making it available to every module and/or plugin. More... | |
| std::string | GetMicroserviceID () |
| Returns the id that this device is registered with. The id will only be valid, if the IGTLMessageSource has been registered using RegisterAsMicroservice(). More... | |
| virtual void | GraftNthOutput (unsigned int idx, itk::DataObject *graft) |
| Graft the specified DataObject onto this ProcessObject's output. More... | |
| virtual void | GraftOutput (itk::DataObject *graft) |
| Graft the specified DataObject onto this ProcessObject's output. More... | |
| itk::DataObject::Pointer | MakeOutput (DataObjectPointerArraySizeType idx) override |
| itk::DataObject::Pointer | MakeOutput (const DataObjectIdentifierType &name) override |
| virtual void | SetParameters (const mitk::PropertyList *) |
| Set all filter parameters as the PropertyList p. More... | |
| virtual mitk::PropertyList::ConstPointer | GetParameters () const |
| Get all filter parameters as a PropertyList. More... | |
| void | SetFPS (unsigned int fps) |
| Sets the fps used for streaming this source. More... | |
| unsigned int | GetFPS () |
| Gets the fps used for streaming this source. More... | |
Static Public Member Functions | |
| static Pointer | New () |
Static Public Attributes | |
| static const std::string | US_PROPKEY_IGTLDEVICENAME |
| These Constants are used in conjunction with Microservices. More... | |
Static Public Attributes inherited from mitk::IGTLMessageSource | |
| static const std::string | US_INTERFACE_NAME |
| These Constants are used in conjunction with Microservices. More... | |
| static const std::string | US_PROPKEY_DEVICENAME |
| static const std::string | US_PROPKEY_DEVICETYPE |
| static const std::string | US_PROPKEY_ID |
| static const std::string | US_PROPKEY_ISACTIVE |
Protected Member Functions | |
| IGTLDeviceSource () | |
| ~IGTLDeviceSource () override | |
| void | GenerateData () override |
| filter execute method More... | |
| void | CreateOutputs () |
| Create the necessary outputs for the m_IGTLDevice. More... | |
| virtual void | OnIncomingMessage () |
| This method is called when the IGTL device hold by this class receives a new message. More... | |
| virtual void | OnIncomingCommand () |
| This method is called when the IGTL device hold by this class receives a new command. More... | |
| virtual void | OnLostConnection () |
| This method is called when the IGTL device lost the connection to the other side. More... | |
| virtual void | RemoveObservers () |
| Removes all observers that listen to the igtl device. More... | |
| virtual void | SetInput (unsigned int idx, const IGTLMessage *msg) |
| Set input with id idx of this filter. More... | |
| const IGTLMessage * | GetInput (void) const |
| Get the input of this filter. More... | |
| const IGTLMessage * | GetInput (unsigned int idx) const |
| Get the input with id idx of this filter. More... | |
| const IGTLMessage * | GetInput (std::string msgName) const |
| Get the input with name messageName of this filter. More... | |
| DataObjectPointerArraySizeType | GetInputIndex (std::string msgName) |
| return the index of the input with name msgName, throw std::invalid_argument exception if that name was not found More... | |
| DataObjectPointerArraySizeType | GetOutputIndex (std::string msgName) |
| return the index of the output with name msgName, -1 if no output with that name was found More... | |
Protected Member Functions inherited from mitk::IGTLMessageSource | |
| IGTLMessageSource () | |
| ~IGTLMessageSource () override | |
Protected Attributes | |
| mitk::IGTLDevice::Pointer | m_IGTLDevice |
| unsigned int | m_LostConnectionObserverTag |
| unsigned int | m_IncomingCommandObserverTag |
| unsigned int | m_IncomingMessageObserverTag |
Protected Attributes inherited from mitk::IGTLMessageSource | |
| std::string | m_Name |
| std::string | m_Type |
| itk::FastMutexLock::Pointer | m_StreamingFPSMutex |
| unsigned int | m_StreamingFPS |
| us::ServiceRegistration< Self > | m_ServiceRegistration |
Connects a mitk::IGTLDevice to a MITK-OpenIGTLink-Message-Filter-Pipeline.
This class is the source of most OpenIGTLink pipelines. It encapsulates a mitk::IGTLDevice and provides the information/messages of the connected OpenIGTLink devices as igtl::MessageBase objects. Note, that there is just one single output.
Definition at line 30 of file mitkIGTLDeviceSource.h.
|
protected |
Definition at line 33 of file mitkIGTLDeviceSource.cpp.
References mitk::IGTLMessageSource::SetName().
|
overrideprotected |
Definition at line 39 of file mitkIGTLDeviceSource.cpp.
References Disconnect(), m_IGTLDevice, mitk::IGTLDevice::Ready, RemoveObservers(), mitk::IGTLDevice::Running, and StopCommunication().
| Pointer mitk::IGTLDeviceSource::Clone | ( | ) | const |
| void mitk::IGTLDeviceSource::Connect | ( | ) |
Establishes a connection to the OpenIGTLink device. If there is already a connection the method does nothing.
Definition at line 149 of file mitkIGTLDeviceSource.cpp.
References IsConnected(), and m_IGTLDevice.
|
protected |
Create the necessary outputs for the m_IGTLDevice.
This Method is called internally whenever outputs need to be reset. Old Outputs are deleted when called.
Definition at line 126 of file mitkIGTLDeviceSource.cpp.
References mitk::IGTLMessageSource::GetOutput(), m_IGTLDevice, and mitk::IGTLMessageSource::MakeOutput().
Referenced by SetIGTLDevice().
| void mitk::IGTLDeviceSource::Disconnect | ( | ) |
Closes the connection to the OpenIGTLink device.
Definition at line 183 of file mitkIGTLDeviceSource.cpp.
References m_IGTLDevice.
Referenced by ~IGTLDeviceSource().
|
overrideprotected |
filter execute method
queries the OpenIGTLink device for new messages and updates its output igtl::MessageBase objects with it.
Definition at line 56 of file mitkIGTLDeviceSource.cpp.
References mitk::IGTLMessageSource::GetOutput(), m_IGTLDevice, mitk::IGTLMessage::SetMessage(), and mitk::IGTLMessage::SetName().
|
virtual |
returns the OpenIGTLink device that is used by this filter
Referenced by mitk::IGTLMessageProvider::OnIncomingCommand().
|
protected |
Get the input of this filter.
Definition at line 270 of file mitkIGTLDeviceSource.cpp.
Referenced by mitk::IGTLMessageProvider::DisconnectFrom(), mitk::IGTLMessageProvider::GenerateData(), and mitk::IGTLMessageProvider::Update().
|
protected |
Get the input with id idx of this filter.
Definition at line 279 of file mitkIGTLDeviceSource.cpp.
|
protected |
Get the input with name messageName of this filter.
Definition at line 288 of file mitkIGTLDeviceSource.cpp.
|
protected |
return the index of the input with name msgName, throw std::invalid_argument exception if that name was not found
Definition at line 300 of file mitkIGTLDeviceSource.cpp.
|
protected |
return the index of the output with name msgName, -1 if no output with that name was found
|
virtual |
returns true if communication is in progress
Definition at line 232 of file mitkIGTLDeviceSource.cpp.
References m_IGTLDevice, and mitk::IGTLDevice::Running.
|
virtual |
returns true if a connection to the OpenIGTLink device is established
Definition at line 223 of file mitkIGTLDeviceSource.cpp.
References m_IGTLDevice, mitk::IGTLDevice::Ready, and mitk::IGTLDevice::Running.
Referenced by Connect().
| mitk::IGTLDeviceSource::mitkClassMacro | ( | IGTLDeviceSource | , |
| IGTLMessageSource | |||
| ) |
|
static |
|
protectedvirtual |
This method is called when the IGTL device hold by this class receives a new command.
Reimplemented in mitk::IGTLMessageProvider.
Definition at line 262 of file mitkIGTLDeviceSource.cpp.
Referenced by SetIGTLDevice().
|
protectedvirtual |
This method is called when the IGTL device hold by this class receives a new message.
Reimplemented in mitk::IGTLMessageProvider.
Definition at line 258 of file mitkIGTLDeviceSource.cpp.
Referenced by SetIGTLDevice().
|
protectedvirtual |
This method is called when the IGTL device lost the connection to the other side.
Reimplemented in mitk::IGTLMessageProvider.
Definition at line 266 of file mitkIGTLDeviceSource.cpp.
Referenced by SetIGTLDevice().
|
overridevirtual |
Registers this object as a Microservice, making it available to every module and/or plugin. To unregister, call UnregisterMicroservice().
Reimplemented from mitk::IGTLMessageSource.
Definition at line 240 of file mitkIGTLDeviceSource.cpp.
References us::GetModuleContext(), mitk::IGTLMessageSource::GetName(), mitk::UIDGenerator::GetUID(), mitk::IGTLMessageSource::m_Name, mitk::IGTLMessageSource::m_ServiceRegistration, mitk::IGTLMessageSource::m_Type, MITK_INFO, mitk::IGTLMessageSource::US_PROPKEY_DEVICENAME, mitk::IGTLMessageSource::US_PROPKEY_DEVICETYPE, mitk::IGTLMessageSource::US_PROPKEY_ID, and US_PROPKEY_IGTLDEVICENAME.
|
protectedvirtual |
Removes all observers that listen to the igtl device.
Definition at line 78 of file mitkIGTLDeviceSource.cpp.
References m_IGTLDevice, m_IncomingCommandObserverTag, m_IncomingMessageObserverTag, and m_LostConnectionObserverTag.
Referenced by SetIGTLDevice(), and ~IGTLDeviceSource().
|
virtual |
sets the OpenIGTLink device that will be used as a data source
Definition at line 88 of file mitkIGTLDeviceSource.cpp.
References CreateOutputs(), m_IGTLDevice, m_IncomingCommandObserverTag, m_IncomingMessageObserverTag, m_LostConnectionObserverTag, MITK_DEBUG, OnIncomingCommand(), OnIncomingMessage(), OnLostConnection(), RemoveObservers(), and mitk::IGTLMessageSource::SetName().
|
protectedvirtual |
Set input with id idx of this filter.
Definition at line 209 of file mitkIGTLDeviceSource.cpp.
Referenced by mitk::IGTLMessageProvider::ConnectTo().
| void mitk::IGTLDeviceSource::StartCommunication | ( | ) |
starts the communication of the device. This needs to be called before Update() or GetOutput()->Update(). If the device is already communicating the method does nothing.
Definition at line 171 of file mitkIGTLDeviceSource.cpp.
References m_IGTLDevice, and mitk::IGTLDevice::Running.
| void mitk::IGTLDeviceSource::StopCommunication | ( | ) |
stops the communication of the device.
Definition at line 193 of file mitkIGTLDeviceSource.cpp.
References m_IGTLDevice.
Referenced by ~IGTLDeviceSource().
|
override |
Used for pipeline update.
Definition at line 203 of file mitkIGTLDeviceSource.cpp.
|
protected |
the OpenIGTLink device that is used as a source for this filter object
Definition at line 197 of file mitkIGTLDeviceSource.h.
Referenced by Connect(), mitk::IGTLMessageProvider::CreateOutputs(), CreateOutputs(), Disconnect(), mitk::IGTL3DImageDeviceSource::GenerateData(), mitk::IGTL2DImageDeviceSource::GenerateData(), mitk::IGTLTrackingDataDeviceSource::GenerateData(), mitk::IGTLMessageProvider::GenerateData(), GenerateData(), IsCommunicating(), IsConnected(), mitk::IGTLMessageProvider::OnIncomingCommand(), RemoveObservers(), mitk::IGTLMessageProvider::Send(), SetIGTLDevice(), StartCommunication(), StopCommunication(), and ~IGTLDeviceSource().
|
protected |
Definition at line 201 of file mitkIGTLDeviceSource.h.
Referenced by RemoveObservers(), and SetIGTLDevice().
|
protected |
Definition at line 202 of file mitkIGTLDeviceSource.h.
Referenced by RemoveObservers(), and SetIGTLDevice().
|
protected |
observer tags
Definition at line 200 of file mitkIGTLDeviceSource.h.
Referenced by RemoveObservers(), and SetIGTLDevice().
|
static |
These Constants are used in conjunction with Microservices.
Definition at line 35 of file mitkIGTLDeviceSource.h.
Referenced by QmitkIGTLDeviceSourceSelectionWidget::CreateConnections(), and RegisterAsMicroservice().