13 #ifndef __mitkAbstractUltrasoundTrackerDevice_h 14 #define __mitkAbstractUltrasoundTrackerDevice_h 16 #include <MitkUSNavigationExports.h> 30 template<
class T>
class SmartPointer;
34 class NavigationDataSmoothingFilter;
35 class NavigationDataDelayFilter;
36 class NavigationDataDisplacementFilter;
71 itkGetMacro(IsTrackedUltrasoundActive,
bool);
78 AffineTransform3D::Pointer GetCalibration();
86 AffineTransform3D::Pointer GetCalibration(std::string depth);
95 AffineTransform3D::Pointer GetCalibration(std::string depth, std::string probe);
98 virtual AffineTransform3D::Pointer GetUSPlaneTransform();
105 void SetCalibration(AffineTransform3D::Pointer calibration);
111 bool RemoveCalibration();
119 bool RemoveCalibration(std::string depth);
128 bool RemoveCalibration(std::string depth, std::string probe);
133 std::string GetDeviceClass();
138 USImageSource::Pointer GetUSImageSource();
145 bool GetIsCalibratedForCurrentStatus();
150 bool GetContainsAtLeastOneCalibration();
158 std::string SerializeCalibration();
168 void DeserializeCalibration(
const std::string &xmlString,
bool clearPreviousCalibrations =
true);
170 void SetNumberOfSmoothingValues(
unsigned int numberOfSmoothingValues);
172 void SetDelayCount(
unsigned int delayCount);
180 void UnregisterOnService();
182 virtual void RegisterAsMicroservice();
209 virtual void SetIsFreezed(
bool freeze);
214 virtual bool GetIsFreezed();
226 bool trackedUltrasoundActive );
235 void GenerateData()
override;
237 std::string GetIdentifierForCurrentCalibration();
238 std::string GetIdentifierForCurrentProbe();
239 std::string GetCurrentDepthValue();
241 void RebuildFilterPipeline();
268 bool m_IsTrackedUltrasoundActive;
static const std::string US_PROPKEY_ID
Superclass of all classes generating Images (instances of class Image) as output. ...
#define MITK_DECLARE_SERVICE_INTERFACE(IFace, IId)
static const std::string US_PROPKEY_DEVICENAME
unsigned int m_DelayCount
DataCollection - Class to facilitate loading/accessing structured data.
static const char * ProbeAndDepthSeperator
itk::SmartPointer< mitk::NavigationDataDelayFilter > m_DelayFilter
itk::SmartPointer< mitk::NavigationDataSmoothingFilter > m_SmoothingFilter
itk::SmartPointer< mitk::NavigationDataDisplacementFilter > m_DisplacementFilter
unsigned int m_NumberOfSmoothingValues
#define mitkClassMacro(className, SuperClassName)
std::map< std::string, AffineTransform3D::Pointer > m_Calibrations
static const std::string DeviceClassIdentifier
virtual void OnFreeze(bool)
Called when mitk::AbstractUltrasoundTrackerDevice::SetIsFreezed() is called. Subclasses can overwrite...
Abstract class for an easy handling of a combination of an USDevice and a NavigationDataSource. This class can be used as an ImageSource subclass. Additionally tracking data be retrieved from the NavigationDataSource returned by GetTrackingDevice().
static const std::string US_PROPKEY_CLASS
USDevice::Pointer m_UltrasoundDevice
US_UNORDERED_MAP_TYPE< std::string, Any > ServiceProperties
itk::SmartPointer< mitk::NavigationDataSource > m_LastFilterOfIGTPipeline
static const std::string US_INTERFACE_NAME
static const char * DefaultProbeIdentifier
us::ServiceRegistration< Self > m_ServiceRegistration
The device's ServiceRegistration object that allows to modify it's Microservice registraton details...
#define mitkNewMacro3Param(classname, typea, typeb, typec)
itk::SmartPointer< NavigationDataSource > m_TrackingDeviceDataSource
us::ServiceProperties m_ServiceProperties
Properties of the device's Microservice.