Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit

Simple watershed segmentation tool. More...

#include <mitkWatershedTool.h>

Inheritance diagram for mitk::WatershedTool:
Collaboration diagram for mitk::WatershedTool:

Public Member Functions

 mitkClassMacro (WatershedTool, AutoSegmentationTool)
 
Pointer Clone () const
 
void SetThreshold (double t)
 
void SetLevel (double l)
 
void DoIt ()
 Grabs the tool reference data and creates an ITK pipeline consisting of a GradientMagnitude image filter followed by a Watershed image filter. The output of the filter pipeline is then added to the data storage. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKWatershed (itk::Image< TPixel, VImageDimension > *originalImage, itk::SmartPointer< mitk::Image > &segmentation)
 Creates and runs an ITK filter pipeline consisting of the filters: GradientMagnitude-, Watershed- and CastImageFilter. More...
 
const char ** GetXPM () const override
 Returns an icon in the XPM format. More...
 
const char * GetName () const override
 Returns the name of this tool. Make it short! More...
 
us::ModuleResource GetIconResource () const override
 Returns the tool button icon of the tool wrapped by a usModuleResource. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKWatershed (itk::Image< TPixel, VImageDimension > *originalImage, mitk::Image::Pointer &segmentation)
 
- Public Member Functions inherited from mitk::AutoSegmentationTool
 mitkClassMacro (AutoSegmentationTool, Tool)
 
void SetOverwriteExistingSegmentation (bool overwrite)
 
std::string GetCurrentSegmentationName ()
 Gets the name of the currently selected segmentation node. More...
 
virtual mitk::DataNodeGetTargetSegmentationNode ()
 Depending on the selected mode either returns the currently selected segmentation or creates a new one from the selected reference data and adds the new segmentation to the datastorage. More...
 
- Public Member Functions inherited from mitk::Tool
 mitkClassMacro (Tool, EventStateMachine)
 
virtual std::string GetIconPath () const
 Returns the path of an icon. More...
 
virtual us::ModuleResource GetCursorIconResource () const
 Returns the path of a cursor icon. More...
 
virtual void InitializeStateMachine ()
 
virtual itk::Object::Pointer GetGUI (const std::string &toolkitPrefix, const std::string &toolkitPostfix)
 Interface for GUI creation. More...
 
virtual NodePredicateBase::ConstPointer GetReferenceDataPreference () const
 
virtual NodePredicateBase::ConstPointer GetWorkingDataPreference () const
 
DataNode::Pointer CreateEmptySegmentationNode (Image *original, const std::string &organName, const mitk::Color &color)
 
DataNode::Pointer CreateSegmentationNode (Image *image, const std::string &organName, const mitk::Color &color)
 
virtual bool CanHandle (BaseData *referenceData) const
 
- Public Member Functions inherited from mitk::EventStateMachine
virtual std::vector< std::string > GetClassHierarchy () const override
 
virtual const char * GetClassName () const
 
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...
 
- Public Member Functions inherited from mitk::InteractionEventObserver
 InteractionEventObserver ()
 
virtual ~InteractionEventObserver ()
 
void Disable ()
 
void Enable ()
 
bool IsEnabled () const
 

Static Public Member Functions

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

 WatershedTool ()
 
virtual ~WatershedTool ()
 
virtual void Activated () override
 Called when the tool gets activated. More...
 
virtual void Deactivated () override
 Called when the tool gets deactivated. More...
 
- Protected Member Functions inherited from mitk::AutoSegmentationTool
 AutoSegmentationTool ()
 
virtual ~AutoSegmentationTool ()
 
virtual const char * GetGroup () const override
 Name of a group. More...
 
virtual itk::SmartPointer< ImageGet3DImage (itk::SmartPointer< Image > image, unsigned int timestep)
 
- Protected Member Functions inherited from mitk::Tool
virtual void SetToolManager (ToolManager *)
 
void ConnectActionsAndFunctions () override
 
 Tool ()
 
 Tool (const char *)
 
virtual ~Tool ()
 
virtual void Notify (InteractionEvent *interactionEvent, bool isHandled) override
 
bool FilterEvents (InteractionEvent *, DataNode *) override
 
- Protected Member Functions inherited from mitk::EventStateMachine
 EventStateMachine ()
 
virtual ~EventStateMachine ()
 
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)
 
void SetMouseCursor (const char *xpm[], int hotspotX, int hotspotY)
 Sets the specified mouse cursor. More...
 
void ResetMouseCursor ()
 Resets the mouse cursor (if modified by the SlicesCoordinator) 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 ()
 
virtual ~InteractionEventHandler ()
 
PropertyList::Pointer GetAttributes () const
 
std::string MapToEventVariant (InteractionEvent *interactionEvent)
 
virtual void ConfigurationChanged ()
 

Protected Attributes

double m_Threshold
 Threshold parameter of the ITK Watershed Image Filter. See ITK Documentation for more information. More...
 
double m_Level
 Threshold parameter of the ITK Watershed Image Filter. See ITK Documentation for more information. More...
 
- Protected Attributes inherited from mitk::AutoSegmentationTool
bool m_OverwriteExistingSegmentation
 
- Protected Attributes inherited from mitk::Tool
std::string m_EventConfig
 Let subclasses change their event configuration. More...
 
ToolManagerm_ToolManager
 
- Protected Attributes inherited from mitk::EventStateMachine
bool m_IsActive
 
UndoControllerm_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 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
 
- 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

Simple watershed segmentation tool.

Wraps ITK Watershed Filter into tool concept of MITK. For more information look into ITK documentation.

Warning
Only to be instantiated by mitk::ToolManager.

$Darth Vader$

Definition at line 46 of file mitkWatershedTool.h.

Constructor & Destructor Documentation

mitk::WatershedTool::WatershedTool ( )
protected

Definition at line 52 of file mitkWatershedTool.cpp.

mitk::WatershedTool::~WatershedTool ( )
protectedvirtual

Definition at line 56 of file mitkWatershedTool.cpp.

Member Function Documentation

void mitk::WatershedTool::Activated ( )
overrideprotectedvirtual

Called when the tool gets activated.

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

Reimplemented from mitk::Tool.

Definition at line 60 of file mitkWatershedTool.cpp.

Pointer mitk::WatershedTool::Clone ( ) const
void mitk::WatershedTool::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.

Definition at line 65 of file mitkWatershedTool.cpp.

void mitk::WatershedTool::DoIt ( )

Grabs the tool reference data and creates an ITK pipeline consisting of a GradientMagnitude image filter followed by a Watershed image filter. The output of the filter pipeline is then added to the data storage.

Definition at line 87 of file mitkWatershedTool.cpp.

References AccessByItk_1, mitk::RenderingManager::GetInstance(), mitk::Stepper::GetPos(), mitk::BaseController::GetTime(), mitk::RenderingManager::GetTimeNavigationController(), MITK_ERROR, mitk::DataNode::New(), mitk::Image::New(), and mitk::RenderingManager::RequestUpdateAll().

us::ModuleResource mitk::WatershedTool::GetIconResource ( ) const
overridevirtual

Returns the tool button icon of the tool wrapped by a usModuleResource.

Returns
a valid ModuleResource or an invalid if this function is not reimplemented

Reimplemented from mitk::Tool.

Definition at line 70 of file mitkWatershedTool.cpp.

References ModuleContext::GetModule(), us::GetModuleContext(), and us::Module::GetResource().

const char * mitk::WatershedTool::GetName ( ) const
overridevirtual

Returns the name of this tool. Make it short!

This name has to fit into some kind of button in most applications, so take some time to think of a good name!

Implements mitk::Tool.

Definition at line 82 of file mitkWatershedTool.cpp.

const char ** mitk::WatershedTool::GetXPM ( ) const
overridevirtual

Returns an icon in the XPM format.

This icon has to fit into some kind of button in most applications, so make it smaller than 25x25 pixels.

XPM is e.g. supported by The Gimp. But if you open any XPM file in your text editor, you will see that you could also "draw" it with an editor.

Implements mitk::Tool.

Definition at line 77 of file mitkWatershedTool.cpp.

template<typename TPixel , unsigned int VImageDimension>
void mitk::WatershedTool::ITKWatershed ( itk::Image< TPixel, VImageDimension > *  originalImage,
itk::SmartPointer< mitk::Image > &  segmentation 
)

Creates and runs an ITK filter pipeline consisting of the filters: GradientMagnitude-, Watershed- and CastImageFilter.

Parameters
originalImageThe input image, which is delivered by the AccessByItk macro.
segmentationA pointer to the output image, which will point to the pipeline output after execution.
template<typename TPixel , unsigned int VImageDimension>
void mitk::WatershedTool::ITKWatershed ( itk::Image< TPixel, VImageDimension > *  originalImage,
mitk::Image::Pointer segmentation 
)
mitk::WatershedTool::mitkClassMacro ( WatershedTool  ,
AutoSegmentationTool   
)
static Pointer mitk::WatershedTool::New ( )
static
void mitk::WatershedTool::SetLevel ( double  l)
inline

Definition at line 57 of file mitkWatershedTool.h.

void mitk::WatershedTool::SetThreshold ( double  t)
inline

Definition at line 52 of file mitkWatershedTool.h.

Member Data Documentation

double mitk::WatershedTool::m_Level
protected

Threshold parameter of the ITK Watershed Image Filter. See ITK Documentation for more information.

Definition at line 86 of file mitkWatershedTool.h.

double mitk::WatershedTool::m_Threshold
protected

Threshold parameter of the ITK Watershed Image Filter. See ITK Documentation for more information.

Definition at line 84 of file mitkWatershedTool.h.


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