MITK-IGT
IGT Extension of MITK
|
NavigationDataReferenceTransformFilter applies a itk-landmark-transformation defined by source and target NavigationDatas. More...
#include <mitkNavigationDataReferenceTransformFilter.h>
Public Types | |
typedef itk::QuaternionRigidTransform< double > | QuaternionTransformType |
Quaternion transform for calculating. | |
![]() | |
typedef std::vector< mitk::ScalarType > | ErrorVector |
typedef itk::VersorRigid3DTransform< double > | LandmarkTransformType |
Public Member Functions | |
mitkClassMacro (NavigationDataReferenceTransformFilter, NavigationDataToNavigationDataFilter) | |
itkFactorylessNewMacro (Self) | |
itkCloneMacro (Self) | |
void | SetSourceNavigationDatas (const std::vector< mitk::NavigationData::Pointer > &sourceNavigationDatas) |
Set NavigationDatas whose positions are used as source points for the transform. | |
void | SetTargetNavigationDatas (const std::vector< mitk::NavigationData::Pointer > &sourceNavigationDatas) |
Set NavigationDatas whose positions are used as target points for the transform. | |
void | ReinitFilter () |
Sets the filter back to initial settings. | |
const mitk::PointSet::Pointer | GetSourceLandmarks () |
Returns the source landmarks PointSet filled with points from given ND position(s) and orientation. | |
const mitk::PointSet::Pointer | GetTargetLandmarks () |
Returns the target landmarks PointSet filled with points from given ND position(s) and orientation. | |
bool | InitializeTransform () |
Initializes the transform. Transform will be perfomed only if source and target points have the same size. | |
![]() | |
mitkClassMacro (NavigationDataLandmarkTransformFilter, NavigationDataToNavigationDataFilter) | |
itkFactorylessNewMacro (Self) | |
itkCloneMacro (Self) | |
virtual void | SetSourceLandmarks (mitk::PointSet::Pointer sourcePointSet) |
Set points used as source points for landmark transform. | |
virtual void | SetTargetLandmarks (mitk::PointSet::Pointer targetPointSet) |
Set points used as target points for landmark transform. | |
virtual bool | IsInitialized () const |
mitk::ScalarType | GetFRE () const |
Returns the Fiducial Registration Error. | |
mitk::ScalarType | GetFREStdDev () const |
Returns the standard deviation of the Fiducial Registration Error. | |
mitk::ScalarType | GetRMSError () const |
Returns the Root Mean Square of the registration error. | |
mitk::ScalarType | GetMinError () const |
Returns the minimum registration error / best fitting landmark distance. | |
mitk::ScalarType | GetMaxError () const |
Returns the maximum registration error / worst fitting landmark distance. | |
mitk::ScalarType | GetAbsMaxError () const |
Returns the absolute maximum registration error. | |
const ErrorVector & | GetErrorVector () const |
Returns a vector with the euclidean distance of each transformed source point to its respective target point. | |
itkSetMacro (UseICPInitialization, bool) | |
If set to true, source and target point correspondences are established with iterative closest point optimization. | |
itkGetMacro (UseICPInitialization, bool) | |
If set to true, source and target point correspondences are established with iterative closest point optimization. | |
itkBooleanMacro (UseICPInitialization) | |
If set to true, source and target point correspondences are established with iterative closest point optimization. | |
itkGetConstObjectMacro (LandmarkTransform, LandmarkTransformType) | |
returns the current landmark transform | |
![]() | |
mitkClassMacro (NavigationDataToNavigationDataFilter, NavigationDataSource) | |
virtual void | SetInput (const NavigationData *nd) |
Set the input of this filter. | |
virtual void | SetInput (unsigned int idx, const NavigationData *nd) |
Set input with id idx of this filter. | |
const NavigationData * | GetInput (void) const |
Get the input of this filter. | |
const NavigationData * | GetInput (unsigned int idx) const |
Get the input with id idx of this filter. | |
const NavigationData * | GetInput (std::string navDataName) const |
Get the input with name navDataName of this filter. | |
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 | |
virtual void | ConnectTo (mitk::NavigationDataSource *UpstreamFilter) |
Connects the input of this filter to the outputs of the given NavigationDataSource. | |
![]() | |
mitkClassMacroItkParent (NavigationDataSource, itk::ProcessObject) | |
itkGetMacro (Name, std::string) | |
itkSetMacro (Name, std::string) | |
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. | |
NavigationData * | GetOutput (void) |
return the output (output with id 0) of the filter | |
NavigationData * | GetOutput (DataObjectPointerArraySizeType idx) |
return the output with id idx of the filter | |
NavigationData * | GetOutput (const std::string &navDataName) |
return the output with name navDataName of the filter | |
NavigationTool::Pointer | GetToolMetaData (DataObjectPointerArraySizeType idx) |
NavigationTool::Pointer | GetToolMetaData (const std::string &navDataName) |
itkGetMacro (ToolMetaDataCollection, mitk::NavigationToolStorage::Pointer) | |
itkSetMacro (ToolMetaDataCollection, mitk::NavigationToolStorage::Pointer) | |
DataObjectPointerArraySizeType | GetOutputIndex (std::string navDataName) |
return the index of the output with name navDataName, -1 if no output with that name was found | |
virtual void | RegisterAsMicroservice () |
Registers this object as a Microservice, making it available to every module and/or plugin. To unregister, call UnregisterMicroservice(). | |
virtual void | UnRegisterMicroservice () |
Registers this object as a Microservice, making it available to every module and/or plugin. | |
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(). | |
virtual void | GraftNthOutput (unsigned int idx, itk::DataObject *graft) |
Graft the specified DataObject onto this ProcessObject's output. | |
virtual void | GraftOutput (itk::DataObject *graft) |
Graft the specified DataObject onto this ProcessObject's output. | |
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. | |
virtual mitk::PropertyList::ConstPointer | GetParameters () const |
Get all filter parameters as a PropertyList. | |
virtual void | Freeze () |
virtual void | UnFreeze () |
itkGetMacro (IsFrozen, bool) | |
Protected Member Functions | |
NavigationDataReferenceTransformFilter () | |
Constructor. | |
~NavigationDataReferenceTransformFilter () override | |
Destructor. | |
mitk::PointSet::Pointer | CreateLandmarkPointsForSingleNavigationData (mitk::PointSet::Pointer landmarkContainer, const std::vector< mitk::NavigationData::Pointer > &navigationDatas) |
![]() | |
NavigationDataLandmarkTransformFilter () | |
Constructor. | |
~NavigationDataLandmarkTransformFilter () override | |
void | GenerateData () override |
transforms input NDs according to the calculated LandmarkTransform | |
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 | |
void | InitializeLandmarkTransform (LandmarkPointContainer &sources, const LandmarkPointContainer &targets) |
initializes the transform using source and target PointSets | |
void | UpdateLandmarkTransform (const LandmarkPointContainer &sources, const LandmarkPointContainer &targets) |
calculates the transform using source and target PointSets | |
void | AccumulateStatistics (ErrorVector &vector) |
calculate error metrics for the transforms. | |
void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
print object info to ostream | |
![]() | |
NavigationDataToNavigationDataFilter () | |
~NavigationDataToNavigationDataFilter () override | |
void | CreateOutputsForAllInputs () |
Create an output for each input. | |
![]() | |
NavigationDataSource () | |
~NavigationDataSource () override | |
Protected Attributes | |
QuaternionTransformType::Pointer | m_QuaternionTransform |
itk Quaternion transform | |
mitk::PointSet::Pointer | m_SourceLandmarksFromNavigationDatas |
source points from NavigationDatas | |
mitk::PointSet::Pointer | m_TargetLandmarksFromNavigationDatas |
target points from NavigationDatas | |
![]() | |
mitk::ScalarType | m_ErrorMean |
Fiducial Registration Error. | |
mitk::ScalarType | m_ErrorStdDev |
standard deviation of the Fiducial Registration Error | |
mitk::ScalarType | m_ErrorRMS |
Root Mean Square of the registration error. | |
mitk::ScalarType | m_ErrorMin |
minimum registration error / best fitting landmark distance | |
mitk::ScalarType | m_ErrorMax |
maximum registration error / worst fitting landmark distance | |
mitk::ScalarType | m_ErrorAbsMax |
the absolute maximum registration error | |
LandmarkPointContainer | m_SourcePoints |
positions of the source points | |
LandmarkPointContainer | m_TargetPoints |
positions of the target points | |
TransformInitializerType::Pointer | m_LandmarkTransformInitializer |
landmark based transform initializer | |
LandmarkTransformType::Pointer | m_LandmarkTransform |
transform calculated from source and target points | |
QuaternionTransformType::Pointer | m_QuatLandmarkTransform |
transform needed to rotate orientation | |
QuaternionTransformType::Pointer | m_QuatTransform |
further transform needed to rotate orientation | |
ErrorVector | m_Errors |
stores the euclidean distance of each transformed source landmark and its respective target landmark | |
bool | m_UseICPInitialization |
find source <--> target point correspondences with iterative closest point optimization | |
![]() | |
std::string | m_Name |
bool | m_IsFrozen |
NavigationToolStorage::Pointer | m_ToolMetaDataCollection |
Additional Inherited Members | |
![]() | |
static const std::string | US_INTERFACE_NAME = "org.mitk.services.NavigationDataSource" |
These Constants are used in conjunction with Microservices. | |
static const std::string | US_PROPKEY_DEVICENAME = US_INTERFACE_NAME + ".devicename" |
static const std::string | US_PROPKEY_ID = US_INTERFACE_NAME + ".id" |
static const std::string | US_PROPKEY_ISACTIVE = US_INTERFACE_NAME + ".isActive" |
![]() | |
typedef itk::Image< signed short, 3 > | ImageType |
typedef itk::LandmarkBasedTransformInitializer< LandmarkTransformType, ImageType, ImageType > | TransformInitializerType |
typedef TransformInitializerType::LandmarkPointContainer | LandmarkPointContainer |
typedef itk::QuaternionRigidTransform< double > | QuaternionTransformType |
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.
itk::QuaternionRigidTransform<double> mitk::NavigationDataReferenceTransformFilter::QuaternionTransformType |
Quaternion transform for calculating.
Definition at line 49 of file mitkNavigationDataReferenceTransformFilter.h.
|
protected |
Constructor.
Definition at line 17 of file mitkNavigationDataReferenceTransformFilter.cpp.
|
overrideprotected |
Destructor.
Definition at line 29 of file mitkNavigationDataReferenceTransformFilter.cpp.
|
protected |
Definition at line 121 of file mitkNavigationDataReferenceTransformFilter.cpp.
const mitk::PointSet::Pointer mitk::NavigationDataReferenceTransformFilter::GetSourceLandmarks | ( | ) |
Returns the source landmarks PointSet filled with points from given ND position(s) and orientation.
Definition at line 182 of file mitkNavigationDataReferenceTransformFilter.cpp.
const mitk::PointSet::Pointer mitk::NavigationDataReferenceTransformFilter::GetTargetLandmarks | ( | ) |
Returns the target landmarks PointSet filled with points from given ND position(s) and orientation.
Definition at line 187 of file mitkNavigationDataReferenceTransformFilter.cpp.
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.
Definition at line 86 of file mitkNavigationDataReferenceTransformFilter.cpp.
mitk::NavigationDataReferenceTransformFilter::itkCloneMacro | ( | Self | ) |
mitk::NavigationDataReferenceTransformFilter::itkFactorylessNewMacro | ( | Self | ) |
mitk::NavigationDataReferenceTransformFilter::mitkClassMacro | ( | NavigationDataReferenceTransformFilter | , |
NavigationDataToNavigationDataFilter | ) |
void mitk::NavigationDataReferenceTransformFilter::ReinitFilter | ( | ) |
Sets the filter back to initial settings.
Definition at line 106 of file mitkNavigationDataReferenceTransformFilter.cpp.
void mitk::NavigationDataReferenceTransformFilter::SetSourceNavigationDatas | ( | const std::vector< mitk::NavigationData::Pointer > & | sourceNavigationDatas | ) |
Set NavigationDatas whose positions are used as source points for the transform.
Definition at line 35 of file mitkNavigationDataReferenceTransformFilter.cpp.
void mitk::NavigationDataReferenceTransformFilter::SetTargetNavigationDatas | ( | const std::vector< mitk::NavigationData::Pointer > & | sourceNavigationDatas | ) |
Set NavigationDatas whose positions are used as target points for the transform.
Definition at line 61 of file mitkNavigationDataReferenceTransformFilter.cpp.
|
protected |
itk Quaternion transform
Definition at line 97 of file mitkNavigationDataReferenceTransformFilter.h.
|
protected |
source points from NavigationDatas
Definition at line 101 of file mitkNavigationDataReferenceTransformFilter.h.
|
protected |
target points from NavigationDatas
Definition at line 102 of file mitkNavigationDataReferenceTransformFilter.h.