Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::SegmentationsProcessingTool Class Reference

Abstract base class for tools that batch-process all selected segmentations. More...

#include <mitkSegmentationsProcessingTool.h>

Inheritance diagram for mitk::SegmentationsProcessingTool:
Collaboration diagram for mitk::SegmentationsProcessingTool:

Public Member Functions

 mitkClassMacro (SegmentationsProcessingTool, Tool)
 
- Public Member Functions inherited from mitk::Tool
 mitkClassMacro (Tool, EventStateMachine)
 
virtual us::ModuleResource GetCursorIconResource () const
 Returns the cursor icon of the tool wrapped by a usModuleResource. More...
 
virtual us::ModuleResource GetIconResource () const
 Returns the tool button icon of the tool wrapped by a usModuleResource. More...
 
virtual const char * GetName () const =0
 Returns the name of this tool. Make it short! More...
 
virtual mitk::Label::AlgorithmType GetAlgorithmType () const
 Returns the intrinsic algorithm type of this tool, used to stamp label provenance. More...
 
virtual bool IsEligibleForAutoInit () const
 Returns whether this tool is eligible for auto-initialization by ToolManager. More...
 
virtual void InitializeStateMachine ()
 Initializes the state machine for this tool based on the interaction type. More...
 
virtual itk::Object::Pointer GetGUI (const std::string &toolkitPrefix, const std::string &toolkitPostfix)
 Interface for GUI creation. More...
 
virtual NodePredicateBase::ConstPointer GetReferenceDataPreference () const
 Returns a predicate describing valid reference data for this tool. More...
 
virtual NodePredicateBase::ConstPointer GetWorkingDataPreference () const
 Returns a predicate describing valid working data for this tool. More...
 
virtual bool CanHandle (const BaseData *referenceData, const BaseData *workingData) const
 Checks if a tool can handle the given reference data and optional working data. More...
 
virtual bool ConfirmBeforeDeactivation ()
 Method call to invoke a dialog box just before exiting. More...
 
- Public Member Functions inherited from mitk::EventStateMachine
 mitkClassMacro (EventStateMachine, InteractionEventHandler)
 
bool LoadStateMachine (const std::string &filename, const us::Module *module=nullptr)
 Load a state machine pattern from an XML resource file. More...
 
bool HandleEvent (InteractionEvent *event, DataNode *dataNode)
 Process an incoming interaction event. More...
 
void EnableUndo (bool enable)
 Enable or disable the undo mechanism for this state machine. More...
 
void EnableInteraction (bool enable)
 Enable or disable the state machine. More...
 
- Public Member Functions inherited from mitk::InteractionEventHandler
 mitkClassMacroItkParent (InteractionEventHandler, itk::Object)
 
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...
 
- Public Member Functions inherited from mitk::InteractionEventObserver
 InteractionEventObserver ()
 
virtual ~InteractionEventObserver ()
 
void Disable ()
 Disable this observer so it no longer receives notifications. More...
 
void Enable ()
 Enable this observer so it receives notifications. More...
 
bool IsEnabled () const
 Check whether this observer is currently enabled. More...
 

Protected Member Functions

 SegmentationsProcessingTool ()
 
 ~SegmentationsProcessingTool () override
 
const char * GetGroup () const override
 Name of a group. More...
 
void Activated () override
 Called when the tool gets activated. More...
 
void Deactivated () override
 Called when the tool gets deactivated. More...
 
virtual void ProcessAllObjects ()
 Loop over all working data items. More...
 
virtual void StartProcessingAllData ()
 Subclasses should override this method. More...
 
virtual bool ProcessOneWorkingData (DataNode *node)
 Subclasses should override this method. More...
 
virtual void FinishProcessingAllData ()
 Subclasses should override this method. More...
 
virtual void SendErrorMessageIfAny ()
 Sends an error message if there was an error during processing. More...
 
virtual std::string GetErrorMessage ()
 Describes the error (if one occurred during processing). More...
 
- Protected Member Functions inherited from mitk::Tool
virtual void SetToolManager (ToolManager *)
 
ToolManager * GetToolManager () const
 
mitk::DataStorage * GetDataStorage () const
 
void ConnectActionsAndFunctions () override
 
 Tool (const char *, const us::Module *interactorModule=nullptr)
 
 ~Tool () override
 
void Notify (InteractionEvent *interactionEvent, bool isHandled) override
 Called by the Dispatcher to notify this observer about an InteractionEvent. More...
 
bool FilterEvents (InteractionEvent *, DataNode *) override
 
- Protected Member Functions inherited from mitk::EventStateMachine
 EventStateMachine ()
 
 ~EventStateMachine () override
 
void AddActionFunction (const std::string &action, const ActionFunctionDelegate &delegate)
 
void AddConditionFunction (const std::string &condition, const ConditionFunctionDelegate &delegate)
 
StateMachineState * GetCurrentState () 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)
 
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...
 
StateMachineTransition * GetExecutableTransition (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

std::string m_FailedNodes
 
- Protected Attributes inherited from mitk::Tool
std::string m_EventConfig
 Let subclasses change their event configuration. More...
 
- Protected Attributes inherited from mitk::EventStateMachine
bool m_IsActive
 
UndoController * m_UndoController
 
bool m_UndoEnabled
 

Additional Inherited Members

- Public Types inherited from mitk::Tool
typedef mitk::Label::PixelType DefaultSegmentationDataType
 
- Public Types inherited from mitk::EventStateMachine
typedef itk::SmartPointer< StateMachineState > StateMachineStateType
 
- Public Attributes inherited from mitk::Tool
Message GUIProcessEventsMessage
 To let GUI process new events (e.g. qApp->processEvents() ) More...
 
Message1< std::string > ErrorMessage
 To send error messages (to be shown by some GUI) More...
 
Message1< bool > CurrentlyBusy
 To send whether the tool is busy (to be shown by some GUI) More...
 
Message1< std::string > GeneralMessage
 To send general messages (to be shown by some GUI) More...
 
- Protected Types inherited from mitk::EventStateMachine
typedef MessageAbstractDelegate2< StateMachineAction *, InteractionEvent *, void > ActionFunctionDelegate
 
typedef MessageAbstractDelegate1< const InteractionEvent *, bool > ConditionFunctionDelegate
 

Detailed Description

Abstract base class for tools that batch-process all selected segmentations.

When activated, this tool iterates over all working data items from the ToolManager and calls ProcessOneWorkingData() on each. Subclasses implement the actual processing logic by overriding ProcessOneWorkingData() and related methods.

See also
Tool, AutoCropTool

Definition at line 33 of file mitkSegmentationsProcessingTool.h.

Constructor & Destructor Documentation

◆ SegmentationsProcessingTool()

mitk::SegmentationsProcessingTool::SegmentationsProcessingTool ( )
protected

◆ ~SegmentationsProcessingTool()

mitk::SegmentationsProcessingTool::~SegmentationsProcessingTool ( )
overrideprotected

Member Function Documentation

◆ Activated()

void mitk::SegmentationsProcessingTool::Activated ( )
overrideprotectedvirtual

Called when the tool gets activated.

Will just call ProcessAllObjects and then deactivate this tool again.

Reimplemented from mitk::Tool.

◆ Deactivated()

void mitk::SegmentationsProcessingTool::Deactivated ( )
overrideprotectedvirtual

Called when the tool gets deactivated.

Derived tools should call their parents implementation at the end of the overriding function.

Reimplemented from mitk::Tool.

◆ FinishProcessingAllData()

virtual void mitk::SegmentationsProcessingTool::FinishProcessingAllData ( )
protectedvirtual

Subclasses should override this method.

See also
ProcessAllObjects

◆ GetErrorMessage()

virtual std::string mitk::SegmentationsProcessingTool::GetErrorMessage ( )
protectedvirtual

Describes the error (if one occurred during processing).

Reimplemented in mitk::AutoCropTool.

◆ GetGroup()

const char* mitk::SegmentationsProcessingTool::GetGroup ( ) const
overrideprotectedvirtual

Name of a group.

You can group several tools by assigning a group name. Graphical tool selectors might use this information to group tools. (What other reason could there be?)

Reimplemented from mitk::Tool.

◆ mitkClassMacro()

mitk::SegmentationsProcessingTool::mitkClassMacro ( SegmentationsProcessingTool  ,
Tool   
)

◆ ProcessAllObjects()

virtual void mitk::SegmentationsProcessingTool::ProcessAllObjects ( )
protectedvirtual

Loop over all working data items.

Will call the following methods in turn

Subclasses should override these methods as needed and provide meaningful implementations.

◆ ProcessOneWorkingData()

virtual bool mitk::SegmentationsProcessingTool::ProcessOneWorkingData ( DataNode *  node)
protectedvirtual

Subclasses should override this method.

See also
ProcessAllObjects

Reimplemented in mitk::AutoCropTool.

◆ SendErrorMessageIfAny()

virtual void mitk::SegmentationsProcessingTool::SendErrorMessageIfAny ( )
protectedvirtual

Sends an error message if there was an error during processing.

◆ StartProcessingAllData()

virtual void mitk::SegmentationsProcessingTool::StartProcessingAllData ( )
protectedvirtual

Subclasses should override this method.

See also
ProcessAllObjects

Member Data Documentation

◆ m_FailedNodes

std::string mitk::SegmentationsProcessingTool::m_FailedNodes
protected

Definition at line 93 of file mitkSegmentationsProcessingTool.h.


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