Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
mitk::NavigationDataReferenceTransformFilter Class Reference

NavigationDataReferenceTransformFilter applies a itk-landmark-transformation defined by source and target NavigationDatas. More...

#include <mitkNavigationDataReferenceTransformFilter.h>

Inheritance diagram for mitk::NavigationDataReferenceTransformFilter:
Collaboration diagram for mitk::NavigationDataReferenceTransformFilter:

Public Types

typedef itk::QuaternionRigidTransform< double > QuaternionTransformType
 Quaternion transform for calculating. More...
 
- Public Types inherited from mitk::NavigationDataLandmarkTransformFilter
typedef std::vector< mitk::ScalarTypeErrorVector
 
typedef itk::VersorRigid3DTransform< double > LandmarkTransformType
 

Public Member Functions

 mitkClassMacro (NavigationDataReferenceTransformFilter, NavigationDataToNavigationDataFilter)
 
Pointer Clone () const
 
void SetSourceNavigationDatas (const std::vector< mitk::NavigationData::Pointer > &sourceNavigationDatas)
 Set NavigationDatas whose positions are used as source points for the transform. More...
 
void SetTargetNavigationDatas (const std::vector< mitk::NavigationData::Pointer > &sourceNavigationDatas)
 Set NavigationDatas whose positions are used as target points for the transform. More...
 
void ReinitFilter ()
 Sets the filter back to initial settings. More...
 
const mitk::PointSet::Pointer GetSourceLandmarks ()
 Returns the source landmarks PointSet filled with points from given ND position(s) and orientation. More...
 
const mitk::PointSet::Pointer GetTargetLandmarks ()
 Returns the target landmarks PointSet filled with points from given ND position(s) and orientation. More...
 
bool InitializeTransform ()
 Initializes the transform. Transform will be perfomed only if source and target points have the same size. More...
 
- Public Member Functions inherited from mitk::NavigationDataLandmarkTransformFilter
 mitkClassMacro (NavigationDataLandmarkTransformFilter, NavigationDataToNavigationDataFilter)
 
Pointer Clone () const
 
virtual void SetSourceLandmarks (mitk::PointSet::Pointer sourcePointSet)
 Set points used as source points for landmark transform. More...
 
virtual void SetTargetLandmarks (mitk::PointSet::Pointer targetPointSet)
 Set points used as target points for landmark transform. More...
 
virtual bool IsInitialized () const
 
mitk::ScalarType GetFRE () const
 Returns the Fiducial Registration Error. More...
 
mitk::ScalarType GetFREStdDev () const
 Returns the standard deviation of the Fiducial Registration Error. More...
 
mitk::ScalarType GetRMSError () const
 Returns the Root Mean Square of the registration error. More...
 
mitk::ScalarType GetMinError () const
 Returns the minimum registration error / best fitting landmark distance. More...
 
mitk::ScalarType GetMaxError () const
 Returns the maximum registration error / worst fitting landmark distance. More...
 
mitk::ScalarType GetAbsMaxError () const
 Returns the absolute maximum registration error. More...
 
const ErrorVectorGetErrorVector () const
 Returns a vector with the euclidean distance of each transformed source point to its respective target point. More...
 
virtual void SetUseICPInitialization (bool _arg)
 
virtual bool GetUseICPInitialization ()
 If set to true, source and target point correspondences are established with iterative closest point optimization. More...
 
virtual void UseICPInitializationOn ()
 If set to true, source and target point correspondences are established with iterative closest point optimization. More...
 
virtual void UseICPInitializationOff ()
 
virtual const LandmarkTransformTypeGetLandmarkTransform ()
 If set to true, source and target point correspondences are established with iterative closest point optimization. More...
 
- Public Member Functions inherited from mitk::NavigationDataToNavigationDataFilter
 mitkClassMacro (NavigationDataToNavigationDataFilter, NavigationDataSource)
 
virtual void SetInput (const NavigationData *nd)
 Set the input of this filter. More...
 
virtual void SetInput (unsigned int idx, const NavigationData *nd)
 Set input with id idx of this filter. More...
 
const NavigationDataGetInput (void) const
 Get the input of this filter. More...
 
const NavigationDataGetInput (unsigned int idx) const
 Get the input with id idx of this filter. More...
 
const NavigationDataGetInput (std::string navDataName) const
 Get the input with name navDataName of this filter. More...
 
DataObjectPointerArraySizeType GetInputIndex (std::string navDataName)
 return the index of the input with name navDataName, throw std::invalid_argument exception if that name was not found More...
 
virtual void ConnectTo (mitk::NavigationDataSource *UpstreamFilter)
 Connects the input of this filter to the outputs of the given NavigationDataSource. More...
 
- Public Member Functions inherited from mitk::NavigationDataSource
 mitkClassMacroItkParent (NavigationDataSource, 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...
 
NavigationDataGetOutput (void)
 return the output (output with id 0) of the filter More...
 
NavigationDataGetOutput (DataObjectPointerArraySizeType idx)
 return the output with id idx of the filter More...
 
NavigationDataGetOutput (const std::string &navDataName)
 return the output with name navDataName of the filter More...
 
NavigationTool::Pointer GetToolMetaData (DataObjectPointerArraySizeType idx)
 
NavigationTool::Pointer GetToolMetaData (const std::string &navDataName)
 
virtual mitk::NavigationToolStorage::Pointer GetToolMetaDataCollection ()
 
virtual void SetToolMetaDataCollection (mitk::NavigationToolStorage::Pointer _arg)
 
DataObjectPointerArraySizeType GetOutputIndex (std::string navDataName)
 return the index of the output with name navDataName, -1 if no output with that name was found More...
 
virtual void RegisterAsMicroservice ()
 Registers this object as a Microservice, making it available to every module and/or plugin. To unregister, call UnregisterMicroservice(). 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 NavigationDataSource 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...
 
virtual void Freeze ()
 
virtual void UnFreeze ()
 
virtual bool GetIsFrozen ()
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from mitk::NavigationDataLandmarkTransformFilter
static Pointer New ()
 

Protected Member Functions

 NavigationDataReferenceTransformFilter ()
 Constructor. More...
 
 ~NavigationDataReferenceTransformFilter () override
 Destructor. More...
 
mitk::PointSet::Pointer CreateLandmarkPointsForSingleNavigationData (mitk::PointSet::Pointer landmarkContainer, const std::vector< mitk::NavigationData::Pointer > &navigationDatas)
 
- Protected Member Functions inherited from mitk::NavigationDataLandmarkTransformFilter
 NavigationDataLandmarkTransformFilter ()
 Constructor. More...
 
 ~NavigationDataLandmarkTransformFilter () override
 
void GenerateData () override
 transforms input NDs according to the calculated LandmarkTransform More...
 
bool FindCorrespondentLandmarks (LandmarkPointContainer &sources, const LandmarkPointContainer &targets) const
 perform an iterative closest point matching to find corresponding landmarks that will be used for landmark transform calculation More...
 
void InitializeLandmarkTransform (LandmarkPointContainer &sources, const LandmarkPointContainer &targets)
 initializes the transform using source and target PointSets More...
 
void UpdateLandmarkTransform (const LandmarkPointContainer &sources, const LandmarkPointContainer &targets)
 calculates the transform using source and target PointSets More...
 
void AccumulateStatistics (ErrorVector &vector)
 calculate error metrics for the transforms. More...
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 print object info to ostream More...
 
- Protected Member Functions inherited from mitk::NavigationDataToNavigationDataFilter
 NavigationDataToNavigationDataFilter ()
 
 ~NavigationDataToNavigationDataFilter () override
 
void CreateOutputsForAllInputs ()
 Create an output for each input. More...
 
- Protected Member Functions inherited from mitk::NavigationDataSource
 NavigationDataSource ()
 
 ~NavigationDataSource () override
 

Protected Attributes

QuaternionTransformType::Pointer m_QuaternionTransform
 itk Quaternion transform More...
 
mitk::PointSet::Pointer m_SourceLandmarksFromNavigationDatas
 source points from NavigationDatas More...
 
mitk::PointSet::Pointer m_TargetLandmarksFromNavigationDatas
 target points from NavigationDatas More...
 
- Protected Attributes inherited from mitk::NavigationDataLandmarkTransformFilter
mitk::ScalarType m_ErrorMean
 Fiducial Registration Error. More...
 
mitk::ScalarType m_ErrorStdDev
 standard deviation of the Fiducial Registration Error More...
 
mitk::ScalarType m_ErrorRMS
 Root Mean Square of the registration error. More...
 
mitk::ScalarType m_ErrorMin
 minimum registration error / best fitting landmark distance More...
 
mitk::ScalarType m_ErrorMax
 maximum registration error / worst fitting landmark distance More...
 
mitk::ScalarType m_ErrorAbsMax
 the absolute maximum registration error More...
 
LandmarkPointContainer m_SourcePoints
 positions of the source points More...
 
LandmarkPointContainer m_TargetPoints
 positions of the target points More...
 
TransformInitializerType::Pointer m_LandmarkTransformInitializer
 landmark based transform initializer More...
 
LandmarkTransformType::Pointer m_LandmarkTransform
 transform calculated from source and target points More...
 
QuaternionTransformType::Pointer m_QuatLandmarkTransform
 transform needed to rotate orientation More...
 
QuaternionTransformType::Pointer m_QuatTransform
 further transform needed to rotate orientation More...
 
ErrorVector m_Errors
 stores the euclidean distance of each transformed source landmark and its respective target landmark More...
 
bool m_UseICPInitialization
 find source <--> target point correspondences with iterative closest point optimization More...
 
- Protected Attributes inherited from mitk::NavigationDataSource
std::string m_Name
 
bool m_IsFrozen
 
NavigationToolStorage::Pointer m_ToolMetaDataCollection
 

Additional Inherited Members

- Static Public Attributes inherited from mitk::NavigationDataSource
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_ID
 
static const std::string US_PROPKEY_ISACTIVE
 
- Protected Types inherited from mitk::NavigationDataLandmarkTransformFilter
typedef itk::Image< signed short, 3 > ImageType
 returns the current landmark transform More...
 
typedef itk::LandmarkBasedTransformInitializer< LandmarkTransformType, ImageType, ImageTypeTransformInitializerType
 
typedef TransformInitializerType::LandmarkPointContainer LandmarkPointContainer
 
typedef itk::QuaternionRigidTransform< double > QuaternionTransformType
 

Detailed Description

NavigationDataReferenceTransformFilter applies a itk-landmark-transformation defined by source and target NavigationDatas.

Documentation Before executing the filter SetSourceNavigationDatas and SetTargetNavigationDatas must be called. The amount of given NavigationDatas must be the same for source and target. If source or target points are changed after calling SetXXXNavigationDatas, the corresponding SetXXXNavigationDatas method has to be called again to apply the changes. If UseICPInitialization is false (standard value, or set with SetUseICPInitialization(false) or UseICPInitializationOff()) then source landmarks and target landmarks with the same ID must correspondent to each other. (--> source landmark with ID x will be mapped to target landmark with ID x). If you do not know the correspondences, call SetUseICPInitialization(true) or UseICPInitializationOn() to let the filter guess the correspondences during initialization with an iterative closest point search. This is only possible, if at least 6 source and target landmarks are available.

Definition at line 42 of file mitkNavigationDataReferenceTransformFilter.h.

Member Typedef Documentation

◆ QuaternionTransformType

typedef itk::QuaternionRigidTransform<double> mitk::NavigationDataReferenceTransformFilter::QuaternionTransformType

Quaternion transform for calculating.

Definition at line 47 of file mitkNavigationDataReferenceTransformFilter.h.

Constructor & Destructor Documentation

◆ NavigationDataReferenceTransformFilter()

mitk::NavigationDataReferenceTransformFilter::NavigationDataReferenceTransformFilter ( )
protected

Constructor.

◆ ~NavigationDataReferenceTransformFilter()

mitk::NavigationDataReferenceTransformFilter::~NavigationDataReferenceTransformFilter ( )
overrideprotected

Destructor.

Member Function Documentation

◆ Clone()

Pointer mitk::NavigationDataReferenceTransformFilter::Clone ( ) const

◆ CreateLandmarkPointsForSingleNavigationData()

mitk::PointSet::Pointer mitk::NavigationDataReferenceTransformFilter::CreateLandmarkPointsForSingleNavigationData ( mitk::PointSet::Pointer  landmarkContainer,
const std::vector< mitk::NavigationData::Pointer > &  navigationDatas 
)
protected

◆ GetSourceLandmarks()

const mitk::PointSet::Pointer mitk::NavigationDataReferenceTransformFilter::GetSourceLandmarks ( )

Returns the source landmarks PointSet filled with points from given ND position(s) and orientation.

◆ GetTargetLandmarks()

const mitk::PointSet::Pointer mitk::NavigationDataReferenceTransformFilter::GetTargetLandmarks ( )

Returns the target landmarks PointSet filled with points from given ND position(s) and orientation.

◆ InitializeTransform()

bool mitk::NavigationDataReferenceTransformFilter::InitializeTransform ( )

Initializes the transform. Transform will be perfomed only if source and target points have the same size.

Returns "true" if transform has been initialized, else "false" is returned.

◆ mitkClassMacro()

mitk::NavigationDataReferenceTransformFilter::mitkClassMacro ( NavigationDataReferenceTransformFilter  ,
NavigationDataToNavigationDataFilter   
)

◆ New()

static Pointer mitk::NavigationDataReferenceTransformFilter::New ( )
static

◆ ReinitFilter()

void mitk::NavigationDataReferenceTransformFilter::ReinitFilter ( )

Sets the filter back to initial settings.

◆ SetSourceNavigationDatas()

void mitk::NavigationDataReferenceTransformFilter::SetSourceNavigationDatas ( const std::vector< mitk::NavigationData::Pointer > &  sourceNavigationDatas)

Set NavigationDatas whose positions are used as source points for the transform.

◆ SetTargetNavigationDatas()

void mitk::NavigationDataReferenceTransformFilter::SetTargetNavigationDatas ( const std::vector< mitk::NavigationData::Pointer > &  sourceNavigationDatas)

Set NavigationDatas whose positions are used as target points for the transform.

Member Data Documentation

◆ m_QuaternionTransform

QuaternionTransformType::Pointer mitk::NavigationDataReferenceTransformFilter::m_QuaternionTransform
protected

itk Quaternion transform

Definition at line 97 of file mitkNavigationDataReferenceTransformFilter.h.

◆ m_SourceLandmarksFromNavigationDatas

mitk::PointSet::Pointer mitk::NavigationDataReferenceTransformFilter::m_SourceLandmarksFromNavigationDatas
protected

source points from NavigationDatas

Definition at line 101 of file mitkNavigationDataReferenceTransformFilter.h.

◆ m_TargetLandmarksFromNavigationDatas

mitk::PointSet::Pointer mitk::NavigationDataReferenceTransformFilter::m_TargetLandmarksFromNavigationDatas
protected

target points from NavigationDatas

Definition at line 102 of file mitkNavigationDataReferenceTransformFilter.h.


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