Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
NavigationDataLandmarkTransformFilter applies a itk-landmark-transformation defined by source and target pointsets. More...
#include <mitkNavigationDataLandmarkTransformFilter.h>
Public Types | |
typedef std::vector< mitk::ScalarType > | ErrorVector |
typedef itk::VersorRigid3DTransform< double > | LandmarkTransformType |
Public Member Functions | |
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 ErrorVector & | GetErrorVector () 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 LandmarkTransformType * | GetLandmarkTransform () |
If set to true, source and target point correspondences are established with iterative closest point optimization. More... | |
![]() | |
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 NavigationData * | GetInput (void) const |
Get the input of this filter. More... | |
const NavigationData * | GetInput (unsigned int idx) const |
Get the input with id idx of this filter. More... | |
const NavigationData * | GetInput (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... | |
![]() | |
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... | |
NavigationData * | GetOutput (void) |
return the output (output with id 0) of the filter More... | |
NavigationData * | GetOutput (DataObjectPointerArraySizeType idx) |
return the output with id idx of the filter More... | |
NavigationData * | GetOutput (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 () |
Protected Types | |
typedef itk::Image< signed short, 3 > | ImageType |
returns the current landmark transform More... | |
typedef itk::LandmarkBasedTransformInitializer< LandmarkTransformType, ImageType, ImageType > | TransformInitializerType |
typedef TransformInitializerType::LandmarkPointContainer | LandmarkPointContainer |
typedef itk::QuaternionRigidTransform< double > | QuaternionTransformType |
Protected Member Functions | |
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... | |
![]() | |
NavigationDataToNavigationDataFilter () | |
~NavigationDataToNavigationDataFilter () override | |
void | CreateOutputsForAllInputs () |
Create an output for each input. More... | |
![]() | |
NavigationDataSource () | |
~NavigationDataSource () override | |
Protected Attributes | |
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... | |
![]() | |
std::string | m_Name |
bool | m_IsFrozen |
NavigationToolStorage::Pointer | m_ToolMetaDataCollection |
Additional Inherited Members | |
![]() | |
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 |
NavigationDataLandmarkTransformFilter applies a itk-landmark-transformation defined by source and target pointsets.
Documentation Before executing the filter SetSourceLandmarks and SetTargetLandmarks must be called. Before both source and target landmarks are set, the filter performs an identity transform. If source or target points are changed after calling SetXXXPoints, the corresponding SetXXXPoints 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 correspond 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 mitkNavigationDataLandmarkTransformFilter.h.
typedef std::vector<mitk::ScalarType> mitk::NavigationDataLandmarkTransformFilter::ErrorVector |
Definition at line 47 of file mitkNavigationDataLandmarkTransformFilter.h.
|
protected |
returns the current landmark transform
Definition at line 112 of file mitkNavigationDataLandmarkTransformFilter.h.
|
protected |
Definition at line 118 of file mitkNavigationDataLandmarkTransformFilter.h.
typedef itk::VersorRigid3DTransform< double > mitk::NavigationDataLandmarkTransformFilter::LandmarkTransformType |
Definition at line 50 of file mitkNavigationDataLandmarkTransformFilter.h.
|
protected |
Definition at line 119 of file mitkNavigationDataLandmarkTransformFilter.h.
|
protected |
Definition at line 117 of file mitkNavigationDataLandmarkTransformFilter.h.
|
protected |
Constructor.
Definition at line 24 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References m_LandmarkTransform, m_LandmarkTransformInitializer, m_QuatLandmarkTransform, and m_QuatTransform.
|
overrideprotected |
Definition at line 40 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References m_LandmarkTransform, m_LandmarkTransformInitializer, m_QuatLandmarkTransform, and m_QuatTransform.
|
protected |
calculate error metrics for the transforms.
Definition at line 148 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References m_ErrorAbsMax, m_ErrorMax, m_ErrorMean, m_ErrorMin, m_ErrorRMS, m_ErrorStdDev, max(), and min().
Referenced by UpdateLandmarkTransform().
Pointer mitk::NavigationDataLandmarkTransformFilter::Clone | ( | ) | const |
|
protected |
perform an iterative closest point matching to find corresponding landmarks that will be used for landmark transform calculation
Documentation Perform ICP optimization to match source landmarks to target landmarks. Landmark containers must contain at least 6 landmarks for the optimization. after ICP, landmark correspondences are established and the source landmarks are sorted, so that corresponding landmarks have the same indices.
[in] | sources | Source landmarks that will be mapped to the target landmarks |
[in] | targets | Target landmarks onto which the source landmarks will be mapped |
[out] | sources | The sources container will be sorted, so that landmarks have the same index as their corresponding target landmarks |
it
it
Definition at line 291 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References mitk::itk2vtk(), max(), and MITK_INFO.
Referenced by InitializeLandmarkTransform().
|
overrideprotected |
transforms input NDs according to the calculated LandmarkTransform
Definition at line 181 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References mitk::NavigationDataToNavigationDataFilter::CreateOutputsForAllInputs(), mitk::NavigationDataToNavigationDataFilter::GetInput(), mitk::NavigationData::GetOrientation(), mitk::NavigationDataSource::GetOutput(), mitk::NavigationData::GetPosition(), mitk::NavigationData::Graft(), mitk::NavigationData::IsDataValid(), IsInitialized(), m_LandmarkTransform, m_QuatLandmarkTransform, m_QuatTransform, mitk::NavigationData::SetDataValid(), mitk::NavigationData::SetOrientation(), and mitk::NavigationData::SetPosition().
mitk::ScalarType mitk::NavigationDataLandmarkTransformFilter::GetAbsMaxError | ( | ) | const |
Returns the absolute maximum registration error.
Definition at line 142 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References m_ErrorAbsMax.
Referenced by PrintSelf().
const mitk::NavigationDataLandmarkTransformFilter::ErrorVector & mitk::NavigationDataLandmarkTransformFilter::GetErrorVector | ( | ) | const |
Returns a vector with the euclidean distance of each transformed source point to its respective target point.
Definition at line 285 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References m_Errors.
mitk::ScalarType mitk::NavigationDataLandmarkTransformFilter::GetFRE | ( | ) | const |
Returns the Fiducial Registration Error.
Definition at line 112 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References m_ErrorMean.
Referenced by PrintSelf().
mitk::ScalarType mitk::NavigationDataLandmarkTransformFilter::GetFREStdDev | ( | ) | const |
Returns the standard deviation of the Fiducial Registration Error.
Definition at line 118 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References m_ErrorStdDev.
Referenced by PrintSelf().
|
virtual |
If set to true, source and target point correspondences are established with iterative closest point optimization.
mitk::ScalarType mitk::NavigationDataLandmarkTransformFilter::GetMaxError | ( | ) | const |
Returns the maximum registration error / worst fitting landmark distance.
Definition at line 136 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References m_ErrorMax.
Referenced by PrintSelf().
mitk::ScalarType mitk::NavigationDataLandmarkTransformFilter::GetMinError | ( | ) | const |
Returns the minimum registration error / best fitting landmark distance.
Definition at line 130 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References m_ErrorMin.
Referenced by PrintSelf().
mitk::ScalarType mitk::NavigationDataLandmarkTransformFilter::GetRMSError | ( | ) | const |
Returns the Root Mean Square of the registration error.
Definition at line 124 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References m_ErrorRMS.
Referenced by PrintSelf().
|
virtual |
If set to true, source and target point correspondences are established with iterative closest point optimization.
|
protected |
initializes the transform using source and target PointSets
if UseICPInitialization is true, FindCorrespondentLandmarks() will be used to sort the source landmarks in order to establish corresponding landmark pairs before the landmark transform is build
Definition at line 49 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References FindCorrespondentLandmarks(), m_SourcePoints, m_TargetPoints, m_UseICPInitialization, and UpdateLandmarkTransform().
Referenced by SetSourceLandmarks(), and SetTargetLandmarks().
|
virtual |
Definition at line 235 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References m_SourcePoints, and m_TargetPoints.
Referenced by GenerateData(), PrintSelf(), SetSourceLandmarks(), and SetTargetLandmarks().
mitk::NavigationDataLandmarkTransformFilter::mitkClassMacro | ( | NavigationDataLandmarkTransformFilter | , |
NavigationDataToNavigationDataFilter | |||
) |
|
static |
|
overrideprotected |
print object info to ostream
Definition at line 241 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References GetAbsMaxError(), GetFRE(), GetFREStdDev(), GetMaxError(), GetMinError(), GetRMSError(), IsInitialized(), m_LandmarkTransform, m_SourcePoints, and m_TargetPoints.
|
virtual |
Set points used as source points for landmark transform.
Definition at line 68 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References mitk::FillVector3D(), InitializeLandmarkTransform(), IsInitialized(), m_SourcePoints, and m_TargetPoints.
Referenced by mitk::NavigationDataReferenceTransformFilter::InitializeTransform().
|
virtual |
Set points used as target points for landmark transform.
Definition at line 91 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References mitk::FillVector3D(), InitializeLandmarkTransform(), IsInitialized(), m_SourcePoints, and m_TargetPoints.
Referenced by mitk::NavigationDataReferenceTransformFilter::InitializeTransform().
|
virtual |
|
protected |
calculates the transform using source and target PointSets
Definition at line 409 of file mitkNavigationDataLandmarkTransformFilter.cpp.
References AccumulateStatistics(), m_Errors, m_LandmarkTransform, and m_LandmarkTransformInitializer.
Referenced by InitializeLandmarkTransform().
|
virtual |
|
virtual |
If set to true, source and target point correspondences are established with iterative closest point optimization.
|
protected |
the absolute maximum registration error
Definition at line 170 of file mitkNavigationDataLandmarkTransformFilter.h.
Referenced by AccumulateStatistics(), and GetAbsMaxError().
|
protected |
maximum registration error / worst fitting landmark distance
Definition at line 169 of file mitkNavigationDataLandmarkTransformFilter.h.
Referenced by AccumulateStatistics(), and GetMaxError().
|
protected |
Fiducial Registration Error.
Definition at line 165 of file mitkNavigationDataLandmarkTransformFilter.h.
Referenced by AccumulateStatistics(), and GetFRE().
|
protected |
minimum registration error / best fitting landmark distance
Definition at line 168 of file mitkNavigationDataLandmarkTransformFilter.h.
Referenced by AccumulateStatistics(), and GetMinError().
|
protected |
Root Mean Square of the registration error.
Definition at line 167 of file mitkNavigationDataLandmarkTransformFilter.h.
Referenced by AccumulateStatistics(), and GetRMSError().
|
protected |
stores the euclidean distance of each transformed source landmark and its respective target landmark
Definition at line 180 of file mitkNavigationDataLandmarkTransformFilter.h.
Referenced by GetErrorVector(), and UpdateLandmarkTransform().
|
protected |
standard deviation of the Fiducial Registration Error
Definition at line 166 of file mitkNavigationDataLandmarkTransformFilter.h.
Referenced by AccumulateStatistics(), and GetFREStdDev().
|
protected |
transform calculated from source and target points
Definition at line 175 of file mitkNavigationDataLandmarkTransformFilter.h.
Referenced by GenerateData(), NavigationDataLandmarkTransformFilter(), PrintSelf(), UpdateLandmarkTransform(), and ~NavigationDataLandmarkTransformFilter().
|
protected |
landmark based transform initializer
Definition at line 174 of file mitkNavigationDataLandmarkTransformFilter.h.
Referenced by NavigationDataLandmarkTransformFilter(), UpdateLandmarkTransform(), and ~NavigationDataLandmarkTransformFilter().
|
protected |
transform needed to rotate orientation
Definition at line 177 of file mitkNavigationDataLandmarkTransformFilter.h.
Referenced by GenerateData(), NavigationDataLandmarkTransformFilter(), and ~NavigationDataLandmarkTransformFilter().
|
protected |
further transform needed to rotate orientation
Definition at line 178 of file mitkNavigationDataLandmarkTransformFilter.h.
Referenced by GenerateData(), NavigationDataLandmarkTransformFilter(), and ~NavigationDataLandmarkTransformFilter().
|
protected |
positions of the source points
Definition at line 172 of file mitkNavigationDataLandmarkTransformFilter.h.
Referenced by InitializeLandmarkTransform(), mitk::NavigationDataReferenceTransformFilter::InitializeTransform(), IsInitialized(), PrintSelf(), mitk::NavigationDataReferenceTransformFilter::ReinitFilter(), SetSourceLandmarks(), and SetTargetLandmarks().
|
protected |
positions of the target points
Definition at line 173 of file mitkNavigationDataLandmarkTransformFilter.h.
Referenced by InitializeLandmarkTransform(), mitk::NavigationDataReferenceTransformFilter::InitializeTransform(), IsInitialized(), PrintSelf(), mitk::NavigationDataReferenceTransformFilter::ReinitFilter(), SetSourceLandmarks(), and SetTargetLandmarks().
|
protected |
find source <–> target point correspondences with iterative closest point optimization
Definition at line 181 of file mitkNavigationDataLandmarkTransformFilter.h.
Referenced by InitializeLandmarkTransform().