MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
mitk::NeedleProjectionFilter Class Reference

This filter projects a needle's path onto a plane. More...

#include <mitkNeedleProjectionFilter.h>

Inheritance diagram for mitk::NeedleProjectionFilter:
mitk::NavigationDataPassThroughFilter mitk::NavigationDataToNavigationDataFilter mitk::NavigationDataSource

Public Member Functions

 mitkClassMacro (NeedleProjectionFilter, NavigationDataPassThroughFilter)
 
 itkNewMacro (Self)
 
virtual void SelectInput (int i)
 
 itkGetMacro (TargetPlane, mitk::AffineTransform3D::Pointer)
 
 itkSetMacro (TargetPlane, mitk::AffineTransform3D::Pointer)
 
 itkGetMacro (Projection, mitk::PointSet::Pointer)
 
void SetToolAxisForFilter (mitk::Point3D point)
 
void ShowToolAxis (bool enabled)
 
- Public Member Functions inherited from mitk::NavigationDataPassThroughFilter
 mitkClassMacro (NavigationDataPassThroughFilter, NavigationDataToNavigationDataFilter)
 
 itkNewMacro (Self)
 
- Public Member Functions inherited from mitk::NavigationDataToNavigationDataFilter
 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 NavigationDataGetInput (void) const
 Get the input of this filter.
 
const NavigationDataGetInput (unsigned int idx) const
 Get the input with id idx of this filter.
 
const NavigationDataGetInput (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.
 
- Public Member Functions inherited from mitk::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.
 
NavigationDataGetOutput (void)
 return the output (output with id 0) of the filter
 
NavigationDataGetOutput (DataObjectPointerArraySizeType idx)
 return the output with id idx of the filter
 
NavigationDataGetOutput (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

 NeedleProjectionFilter ()
 
 ~NeedleProjectionFilter () override
 
void GenerateData () override
 
void InitializeOriginalPoints (mitk::Point3D toolAxis, bool showToolAxis)
 
mitk::AffineTransform3D::Pointer NavigationDataToTransform (const mitk::NavigationData *nd)
 Creates an Affine Transformation from a Navigation Data Object.
 
mitk::Geometry3D::Pointer TransformToGeometry (mitk::AffineTransform3D::Pointer transform)
 Creates an Geometry 3D Object from an AffineTransformation.
 
- Protected Member Functions inherited from mitk::NavigationDataPassThroughFilter
 NavigationDataPassThroughFilter ()
 
 ~NavigationDataPassThroughFilter () override
 
void GenerateData () override
 Passes navigation data from all inputs to all outputs. If a subclass wants to implement its own version of the GenerateData() method it should call this method inside its implementation.
 
- Protected Member Functions inherited from mitk::NavigationDataToNavigationDataFilter
 NavigationDataToNavigationDataFilter ()
 
 ~NavigationDataToNavigationDataFilter () override
 
void CreateOutputsForAllInputs ()
 Create an output for each input.
 
- Protected Member Functions inherited from mitk::NavigationDataSource
 NavigationDataSource ()
 
 ~NavigationDataSource () override
 

Protected Attributes

mitk::AffineTransform3D::Pointer m_TargetPlane
 
mitk::PointSet::Pointer m_Projection
 
mitk::PointSet::Pointer m_OriginalPoints
 
bool m_ShowToolAxis
 
mitk::Point3D m_ToolAxis
 
int m_SelectedInput
 
- 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 = "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"
 

Detailed Description

This filter projects a needle's path onto a plane.

To use it, hook it up to a NavigationDataStream, select an input and set an AffineTransform 3D that represents the target plane. You can then call GetProjection to retrieve a pointset that represents the projected path. You may change the PointSet's properties, these changes will not be overwritten. If no Input is selected, the target Pointset will not update If no Target Plane is selected, The projection line will always be 40 cm long Any points you add to the pointSet will be overwritten during the next Update. The point with index zero is the Tip of the Needle. The Point with index one is the projection onto the plane.

Projection will happen onto an extension of the plane as well - the filter does not regard boundaries This Filter currently only supports projection of one needle. Extension to multiple needles / planes should be easy.

Definition at line 43 of file mitkNeedleProjectionFilter.h.

Constructor & Destructor Documentation

◆ NeedleProjectionFilter()

mitk::NeedleProjectionFilter::NeedleProjectionFilter ( )
protected

Definition at line 20 of file mitkNeedleProjectionFilter.cpp.

◆ ~NeedleProjectionFilter()

mitk::NeedleProjectionFilter::~NeedleProjectionFilter ( )
overrideprotected

Definition at line 81 of file mitkNeedleProjectionFilter.cpp.

Member Function Documentation

◆ GenerateData()

void mitk::NeedleProjectionFilter::GenerateData ( )
overrideprotected

Definition at line 92 of file mitkNeedleProjectionFilter.cpp.

◆ InitializeOriginalPoints()

void mitk::NeedleProjectionFilter::InitializeOriginalPoints ( mitk::Point3D toolAxis,
bool showToolAxis )
protected

Internal method for initialization of the projection / tool axis representation by the point set m_OriginalPoints.

Definition at line 39 of file mitkNeedleProjectionFilter.cpp.

◆ itkGetMacro() [1/2]

mitk::NeedleProjectionFilter::itkGetMacro ( Projection ,
mitk::PointSet::Pointer  )

◆ itkGetMacro() [2/2]

mitk::NeedleProjectionFilter::itkGetMacro ( TargetPlane ,
mitk::AffineTransform3D::Pointer  )

◆ itkNewMacro()

mitk::NeedleProjectionFilter::itkNewMacro ( Self )

◆ itkSetMacro()

mitk::NeedleProjectionFilter::itkSetMacro ( TargetPlane ,
mitk::AffineTransform3D::Pointer  )

◆ mitkClassMacro()

mitk::NeedleProjectionFilter::mitkClassMacro ( NeedleProjectionFilter ,
NavigationDataPassThroughFilter  )

◆ NavigationDataToTransform()

mitk::AffineTransform3D::Pointer mitk::NeedleProjectionFilter::NavigationDataToTransform ( const mitk::NavigationData * nd)
protected

Creates an Affine Transformation from a Navigation Data Object.

Definition at line 155 of file mitkNeedleProjectionFilter.cpp.

◆ SelectInput()

void mitk::NeedleProjectionFilter::SelectInput ( int i)
virtual

Definition at line 85 of file mitkNeedleProjectionFilter.cpp.

◆ SetToolAxisForFilter()

void mitk::NeedleProjectionFilter::SetToolAxisForFilter ( mitk::Point3D point)

Sets the tool axis for this filter. The default tool axis is along the z-axis in tool coordinates.

Definition at line 72 of file mitkNeedleProjectionFilter.cpp.

◆ ShowToolAxis()

void mitk::NeedleProjectionFilter::ShowToolAxis ( bool enabled)

Sets whether the tool axis should be visualized. This is required if no surface is available. If disabled only the projection and not the axis is shown. It's disabled by default.

Definition at line 66 of file mitkNeedleProjectionFilter.cpp.

◆ TransformToGeometry()

mitk::Geometry3D::Pointer mitk::NeedleProjectionFilter::TransformToGeometry ( mitk::AffineTransform3D::Pointer transform)
protected

Creates an Geometry 3D Object from an AffineTransformation.

Definition at line 185 of file mitkNeedleProjectionFilter.cpp.

Member Data Documentation

◆ m_OriginalPoints

mitk::PointSet::Pointer mitk::NeedleProjectionFilter::m_OriginalPoints
protected

Definition at line 70 of file mitkNeedleProjectionFilter.h.

◆ m_Projection

mitk::PointSet::Pointer mitk::NeedleProjectionFilter::m_Projection
protected

Definition at line 69 of file mitkNeedleProjectionFilter.h.

◆ m_SelectedInput

int mitk::NeedleProjectionFilter::m_SelectedInput
protected

Definition at line 74 of file mitkNeedleProjectionFilter.h.

◆ m_ShowToolAxis

bool mitk::NeedleProjectionFilter::m_ShowToolAxis
protected

Definition at line 71 of file mitkNeedleProjectionFilter.h.

◆ m_TargetPlane

mitk::AffineTransform3D::Pointer mitk::NeedleProjectionFilter::m_TargetPlane
protected

Definition at line 67 of file mitkNeedleProjectionFilter.h.

◆ m_ToolAxis

mitk::Point3D mitk::NeedleProjectionFilter::m_ToolAxis
protected

Definition at line 72 of file mitkNeedleProjectionFilter.h.


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