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

#include <mitkContourModelLiveWireInteractor.h>

Inheritance diagram for mitk::ContourModelLiveWireInteractor:
Collaboration diagram for mitk::ContourModelLiveWireInteractor:

Public Member Functions

 mitkClassMacro (ContourModelLiveWireInteractor, ContourModelInteractor)
 
Pointer Clone () const
 
virtual void SetWorkingImage (mitk::Image *_arg)
 
void ConnectActionsAndFunctions () override
 
- Public Member Functions inherited from mitk::ContourModelInteractor
 mitkClassMacro (ContourModelInteractor, DataInteractor)
 
Pointer Clone () const
 
void SetRestrictedArea (mitk::ContourModel *restrictedArea)
 
- Public Member Functions inherited from mitk::DataInteractor
virtual std::vector< std::string > GetClassHierarchy () const override
 
virtual const char * GetClassName () const
 
Pointer Clone () const
 
DataNodeGetDataNode () const
 
virtual void SetDataNode (DataNode *dataNode)
 
int GetLayer () const
 
ProcessEventMode GetMode () const
 
- Public Member Functions inherited from mitk::EventStateMachine
bool LoadStateMachine (const std::string &filename, const us::Module *module=nullptr)
 Loads XML resource. More...
 
bool HandleEvent (InteractionEvent *event, DataNode *dataNode)
 
void EnableUndo (bool enable)
 Enables or disabled Undo. More...
 
void EnableInteraction (bool enable)
 Enables/disables the state machine. In un-enabled state it won't react to any events. More...
 
- Public Member Functions inherited from mitk::InteractionEventHandler
bool SetEventConfig (const std::string &filename, const us::Module *module=nullptr)
 Loads a configuration from an XML resource. More...
 
bool SetEventConfig (const EventConfig &config)
 Loads a configuration from an EventConfig object. More...
 
EventConfig GetEventConfig () const
 Returns the current configuration. More...
 
bool AddEventConfig (const std::string &filename, const us::Module *module=nullptr)
 This method extends the configuration. More...
 
bool AddEventConfig (const EventConfig &config)
 This method extends the configuration. The configuration from the EventConfig object is loaded and only the ones conflicting are replaced by the new one. This way several configurations can be combined. More...
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from mitk::ContourModelInteractor
static Pointer New ()
 
- Static Public Member Functions inherited from mitk::DataInteractor
static const char * GetStaticNameOfClass ()
 
static Pointer New ()
 
- Static Public Member Functions inherited from mitk::EventStateMachine
static const char * GetStaticNameOfClass ()
 
- Static Public Member Functions inherited from mitk::InteractionEventHandler
static const char * GetStaticNameOfClass ()
 

Protected Member Functions

 ContourModelLiveWireInteractor ()
 
 ~ContourModelLiveWireInteractor () override
 
bool OnCheckPointClick (const InteractionEvent *interactionEvent) override
 Select/ add and select vertex to modify contour and prepare for modification of contour. More...
 
void OnMovePoint (StateMachineAction *, InteractionEvent *interactionEvent) override
 Update contour when point is moved. More...
 
void OnAddPoint (StateMachineAction *, InteractionEvent *interactionEvent) override
 Add a new control point. More...
 
void OnDeletePoint (StateMachineAction *, InteractionEvent *interactionEvent) override
 Delete selected vertex and recompute contour. More...
 
void OnFinishEditing (StateMachineAction *, InteractionEvent *interactionEvent) override
 Finish modification of contour. More...
 
void SplitContourFromSelectedVertex (mitk::ContourModel *srcContour, const mitk::ContourModel::VertexType *nextPoint, const mitk::ContourModel::VertexType *previousPoint, int timestep)
 Split contour into a part before the selected vertex and after the selected vertex. More...
 
void SetRepulsivePoints (const mitk::ContourModel::VertexType *nextPoint, mitk::ContourModel *contour, int timestep)
 Set repulsive points which should not be changed during editing of the contour. More...
 
- Protected Member Functions inherited from mitk::ContourModelInteractor
 ContourModelInteractor ()
 
 ~ContourModelInteractor () override
 
virtual bool IsHovering (const InteractionEvent *interactionEvent)
 
virtual void OnMoveContour (StateMachineAction *, InteractionEvent *interactionEvent)
 
- Protected Member Functions inherited from mitk::DataInteractor
 DataInteractor ()
 
 ~DataInteractor () override
 
virtual void DataNodeChanged ()
 Is called when a DataNode is initially set or changed To be implemented by sub-classes for initialization code which require a DataNode. More...
 
virtual void NotifyStart ()
 Sends StartInteraction event via the mitk::DataNode. More...
 
virtual void NotifyResultReady ()
 NotifyResultReady Sends ResultReady event via the mitk::DataNode. More...
 
- Protected Member Functions inherited from mitk::EventStateMachine
 EventStateMachine ()
 
 ~EventStateMachine () override
 
void AddActionFunction (const std::string &action, TActionFunctor *functor)
 
void AddActionFunction (const std::string &action, const ActionFunctionDelegate &delegate)
 
void AddConditionFunction (const std::string &condition, const ConditionFunctionDelegate &delegate)
 
StateMachineStateGetCurrentState () const
 
void ResetToStartState ()
 ResetToStartState Reset state machine to it initial starting state. More...
 
virtual bool CheckCondition (const StateMachineCondition &condition, const InteractionEvent *interactionEvent)
 
virtual void ExecuteAction (StateMachineAction *action, InteractionEvent *interactionEvent)
 
virtual bool FilterEvents (InteractionEvent *interactionEvent, DataNode *dataNode)
 
void SetMouseCursor (const char *xpm[], int hotspotX, int hotspotY)
 Sets the specified mouse cursor. More...
 
void ResetMouseCursor ()
 Resets the mouse cursor to its original state. More...
 
StateMachineTransitionGetExecutableTransition (InteractionEvent *event)
 Returns the executable transition for the given event. More...
 
- Protected Member Functions inherited from mitk::InteractionEventHandler
 InteractionEventHandler ()
 
 ~InteractionEventHandler () override
 
PropertyList::Pointer GetAttributes () const
 
std::string MapToEventVariant (InteractionEvent *interactionEvent)
 
virtual void ConfigurationChanged ()
 

Protected Attributes

mitk::ImageLiveWireContourModelFilter::Pointer m_LiveWireFilter
 
mitk::Image::Pointer m_WorkingSlice
 
mitk::Point3D m_NextActiveVertexDown
 
mitk::Point3D m_NextActiveVertexUp
 
mitk::ContourModel::VertexIterator m_NextActiveVertexDownIter
 
mitk::ContourModel::VertexIterator m_NextActiveVertexUpIter
 
std::vector< itk::Index< 2 > > m_ContourBeingModified
 
mitk::ContourModel::Pointer m_ContourLeft
 
mitk::ContourModel::Pointer m_ContourRight
 
- Protected Attributes inherited from mitk::ContourModelInteractor
const float eps
 
mitk::Point3D m_lastMousePosition
 
mitk::ContourModel::Pointer m_RestrictedArea
 
- Protected Attributes inherited from mitk::EventStateMachine
bool m_IsActive
 
UndoControllerm_UndoController
 
bool m_UndoEnabled
 

Additional Inherited Members

- Public Types inherited from mitk::DataInteractor
typedef DataInteractor Self
 
typedef EventStateMachine Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
- Public Types inherited from mitk::EventStateMachine
typedef EventStateMachine Self
 
typedef InteractionEventHandler Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef std::map< std::string, TActionFunctor * > ActionFunctionsMapType
 
typedef itk::SmartPointer< StateMachineStateStateMachineStateType
 
- Public Types inherited from mitk::InteractionEventHandler
typedef InteractionEventHandler Self
 
typedef itk::Object Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
- Static Public Attributes inherited from mitk::DataInteractor
static const std::string IntDeactivateMe
 
static const std::string IntLeaveWidget
 
static const std::string IntEnterWidget
 
- Protected Types inherited from mitk::EventStateMachine
typedef MessageAbstractDelegate2< StateMachineAction *, InteractionEvent *, void > ActionFunctionDelegate
 
typedef MessageAbstractDelegate1< const InteractionEvent *, bool > ConditionFunctionDelegate
 

Detailed Description

See also
Interactor
ContourModelInteractor
Warning
Make sure the working image is properly set, otherwise the algorithm for computing livewire contour segments will not work!

Definition at line 37 of file mitkContourModelLiveWireInteractor.h.

Constructor & Destructor Documentation

◆ ContourModelLiveWireInteractor()

mitk::ContourModelLiveWireInteractor::ContourModelLiveWireInteractor ( )
protected

◆ ~ContourModelLiveWireInteractor()

mitk::ContourModelLiveWireInteractor::~ContourModelLiveWireInteractor ( )
overrideprotected

Member Function Documentation

◆ Clone()

Pointer mitk::ContourModelLiveWireInteractor::Clone ( ) const

◆ ConnectActionsAndFunctions()

void mitk::ContourModelLiveWireInteractor::ConnectActionsAndFunctions ( )
overridevirtual

Here actions strings from the loaded state machine pattern are mapped to functions of the DataInteractor. These functions are called when an action from the state machine pattern is executed.

Reimplemented from mitk::ContourModelInteractor.

◆ mitkClassMacro()

mitk::ContourModelLiveWireInteractor::mitkClassMacro ( ContourModelLiveWireInteractor  ,
ContourModelInteractor   
)

◆ New()

static Pointer mitk::ContourModelLiveWireInteractor::New ( )
static

◆ OnAddPoint()

void mitk::ContourModelLiveWireInteractor::OnAddPoint ( StateMachineAction ,
InteractionEvent interactionEvent 
)
overrideprotectedvirtual

Add a new control point.

Reimplemented from mitk::ContourModelInteractor.

◆ OnCheckPointClick()

bool mitk::ContourModelLiveWireInteractor::OnCheckPointClick ( const InteractionEvent interactionEvent)
overrideprotectedvirtual

Select/ add and select vertex to modify contour and prepare for modification of contour.

Reimplemented from mitk::ContourModelInteractor.

◆ OnDeletePoint()

void mitk::ContourModelLiveWireInteractor::OnDeletePoint ( StateMachineAction ,
InteractionEvent interactionEvent 
)
overrideprotectedvirtual

Delete selected vertex and recompute contour.

Reimplemented from mitk::ContourModelInteractor.

◆ OnFinishEditing()

void mitk::ContourModelLiveWireInteractor::OnFinishEditing ( StateMachineAction ,
InteractionEvent interactionEvent 
)
overrideprotectedvirtual

Finish modification of contour.

Reimplemented from mitk::ContourModelInteractor.

◆ OnMovePoint()

void mitk::ContourModelLiveWireInteractor::OnMovePoint ( StateMachineAction ,
InteractionEvent interactionEvent 
)
overrideprotectedvirtual

Update contour when point is moved.

Reimplemented from mitk::ContourModelInteractor.

◆ SetRepulsivePoints()

void mitk::ContourModelLiveWireInteractor::SetRepulsivePoints ( const mitk::ContourModel::VertexType nextPoint,
mitk::ContourModel contour,
int  timestep 
)
protected

Set repulsive points which should not be changed during editing of the contour.

◆ SetWorkingImage()

virtual void mitk::ContourModelLiveWireInteractor::SetWorkingImage ( mitk::Image _arg)
virtual

◆ SplitContourFromSelectedVertex()

void mitk::ContourModelLiveWireInteractor::SplitContourFromSelectedVertex ( mitk::ContourModel srcContour,
const mitk::ContourModel::VertexType nextPoint,
const mitk::ContourModel::VertexType previousPoint,
int  timestep 
)
protected

Split contour into a part before the selected vertex and after the selected vertex.

Member Data Documentation

◆ m_ContourBeingModified

std::vector<itk::Index<2> > mitk::ContourModelLiveWireInteractor::m_ContourBeingModified
protected

Definition at line 83 of file mitkContourModelLiveWireInteractor.h.

◆ m_ContourLeft

mitk::ContourModel::Pointer mitk::ContourModelLiveWireInteractor::m_ContourLeft
protected

Definition at line 85 of file mitkContourModelLiveWireInteractor.h.

◆ m_ContourRight

mitk::ContourModel::Pointer mitk::ContourModelLiveWireInteractor::m_ContourRight
protected

Definition at line 86 of file mitkContourModelLiveWireInteractor.h.

◆ m_LiveWireFilter

mitk::ImageLiveWireContourModelFilter::Pointer mitk::ContourModelLiveWireInteractor::m_LiveWireFilter
protected

Definition at line 74 of file mitkContourModelLiveWireInteractor.h.

◆ m_NextActiveVertexDown

mitk::Point3D mitk::ContourModelLiveWireInteractor::m_NextActiveVertexDown
protected

Definition at line 77 of file mitkContourModelLiveWireInteractor.h.

◆ m_NextActiveVertexDownIter

mitk::ContourModel::VertexIterator mitk::ContourModelLiveWireInteractor::m_NextActiveVertexDownIter
protected

Definition at line 80 of file mitkContourModelLiveWireInteractor.h.

◆ m_NextActiveVertexUp

mitk::Point3D mitk::ContourModelLiveWireInteractor::m_NextActiveVertexUp
protected

Definition at line 78 of file mitkContourModelLiveWireInteractor.h.

◆ m_NextActiveVertexUpIter

mitk::ContourModel::VertexIterator mitk::ContourModelLiveWireInteractor::m_NextActiveVertexUpIter
protected

Definition at line 81 of file mitkContourModelLiveWireInteractor.h.

◆ m_WorkingSlice

mitk::Image::Pointer mitk::ContourModelLiveWireInteractor::m_WorkingSlice
protected

Definition at line 75 of file mitkContourModelLiveWireInteractor.h.


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