Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
QmitkGrowCutToolGUI Class Reference

GUI for the GrowCut segmentation tool. More...

#include <QmitkGrowCutToolGUI.h>

Inheritance diagram for QmitkGrowCutToolGUI:
Collaboration diagram for QmitkGrowCutToolGUI:

Public Member Functions

 mitkClassMacro (QmitkGrowCutToolGUI, QmitkMultiLabelSegWithPreviewToolGUIBase)
 
Pointer Clone () const
 
- Public Member Functions inherited from QmitkMultiLabelSegWithPreviewToolGUIBase
 mitkClassMacro (QmitkMultiLabelSegWithPreviewToolGUIBase, QmitkSegWithPreviewToolGUIBase)
 
- Public Member Functions inherited from QmitkSegWithPreviewToolGUIBase
 mitkClassMacro (QmitkSegWithPreviewToolGUIBase, QmitkToolGUI)
 
Pointer Clone () const
 
virtual bool GetMode2D () const
 
- Public Member Functions inherited from QmitkToolGUI
 mitkClassMacroItkParent (QmitkToolGUI, itk::Object)
 
void SetTool (mitk::Tool *tool)
 Associates the given tool with this GUI, emitting NewToolAssociated. More...
 
void SetMultiLabelInspector (QmitkMultiLabelInspector *inspector)
 Provides the segmentation view's label inspector to this GUI. More...
 
QmitkMultiLabelInspector * GetMultiLabelInspector () const
 Returns the inspector associated with this GUI, or null if none. More...
 
void Register () const override
 Intentional no-op; prevents ITK reference counting from interfering with Qt ownership. More...
 
void UnRegister () const ITK_NOEXCEPT ITK_OVERRIDE
 Intentional no-op; prevents ITK reference counting from interfering with Qt ownership. More...
 
void SetReferenceCount (int) override
 Intentional no-op; prevents ITK reference counting from interfering with Qt ownership. More...
 
 ~QmitkToolGUI () override
 

Static Public Member Functions

static Pointer New ()
 

Protected Slots

void OnPreviewBtnClicked ()
 
- Protected Slots inherited from QmitkMultiLabelSegWithPreviewToolGUIBase
void OnLabelSelectionChanged (const QmitkSimpleLabelSetListWidget::LabelVectorType &selectedLabels)
 
void OnRadioTransferAllClicked (bool checked)
 
- Protected Slots inherited from QmitkSegWithPreviewToolGUIBase
void OnNewToolAssociated (mitk::Tool *)
 
void OnAcceptPreview ()
 
void OnPreviewOpacityChanged (int value)
 
void OnPreviewVisibilityToggled (bool checked)
 

Protected Member Functions

 QmitkGrowCutToolGUI ()
 
 ~QmitkGrowCutToolGUI () override
 
void ConnectNewTool (mitk::SegWithPreviewTool *newTool) override
 
void InitializeUI (QBoxLayout *mainLayout) override
 
void SetValueOfDistancePenaltySlider (double val)
 
void SetValueOfDistancePenaltyDoubleSpinBox (int val)
 
void EnableWidgets (bool enabled) override
 
- Protected Member Functions inherited from QmitkMultiLabelSegWithPreviewToolGUIBase
 QmitkMultiLabelSegWithPreviewToolGUIBase ()
 
 ~QmitkMultiLabelSegWithPreviewToolGUIBase ()=default
 
void InitializeUI (QBoxLayout *mainLayout) override
 
void EnableWidgets (bool enabled) override
 
void SetLabelSetPreview (const mitk::MultiLabelSegmentation *preview)
 
void ActualizePreviewLabelVisibility ()
 
void DisplayTransferWidgets (bool enabled)
 Toggles visibility of "Transfer all labels" and "Transfer selected labels" radio buttons. More...
 
- Protected Member Functions inherited from QmitkSegWithPreviewToolGUIBase
 QmitkSegWithPreviewToolGUIBase (bool mode2D, bool enableProcessingOfAllTimeSteps=true)
 
 ~QmitkSegWithPreviewToolGUIBase () override
 
virtual void DisconnectOldTool (mitk::SegWithPreviewTool *oldTool)
 
void BusyStateChanged (bool isBusy) override
 Called when the tool's busy state changes. Override to enable/disable UI elements. More...
 
template<class TTool >
TTool * GetConnectedToolAs ()
 
void SetMergeStyle (mitk::MultiLabelSegmentation::MergeStyle mergeStyle)
 
void SetOverwriteStyle (mitk::MultiLabelSegmentation::OverwriteStyle overwriteStyle)
 
QPushButton * GetConfirmSegmentationButton () const
 
QCheckBox * GetPreviewVisibilityCheckBox () const
 
QLabel * GetPreviewLabel () const
 
- Protected Member Functions inherited from QmitkToolGUI
 QmitkToolGUI ()=default
 

Protected Attributes

std::unique_ptr< Ui::QmitkGrowCutToolWidgetControls > m_Controls
 
bool m_FirstPreviewComputation
 
- Protected Attributes inherited from QmitkSegWithPreviewToolGUIBase
EnableConfirmSegBtnFunctionType m_EnableConfirmSegBtnFnc
 
- Protected Attributes inherited from QmitkToolGUI
mitk::Tool::Pointer m_Tool
 
QmitkMultiLabelInspector * m_MultiLabelInspector
 

Additional Inherited Members

- Signals inherited from QmitkToolGUI
void NewToolAssociated (mitk::Tool *)
 Emitted when a new tool is associated with this GUI via SetTool(). More...
 
- Protected Types inherited from QmitkSegWithPreviewToolGUIBase
using EnableConfirmSegBtnFunctionType = std::function< bool(bool)>
 

Detailed Description

GUI for the GrowCut segmentation tool.

Provides controls for the GrowCut algorithm including a preview button, advanced settings for the distance penalty parameter, and label selection for multi-label preview.

See also
mitk::GrowCutTool
QmitkMultiLabelSegWithPreviewToolGUIBase

Definition at line 35 of file QmitkGrowCutToolGUI.h.

Constructor & Destructor Documentation

◆ QmitkGrowCutToolGUI()

QmitkGrowCutToolGUI::QmitkGrowCutToolGUI ( )
protected

◆ ~QmitkGrowCutToolGUI()

QmitkGrowCutToolGUI::~QmitkGrowCutToolGUI ( )
overrideprotected

Member Function Documentation

◆ Clone()

Pointer QmitkGrowCutToolGUI::Clone ( ) const

◆ ConnectNewTool()

void QmitkGrowCutToolGUI::ConnectNewTool ( mitk::SegWithPreviewTool *  newTool)
overrideprotectedvirtual

Reimplemented from QmitkSegWithPreviewToolGUIBase.

◆ EnableWidgets()

void QmitkGrowCutToolGUI::EnableWidgets ( bool  enabled)
overrideprotectedvirtual

This method is used to control/set the enabled state of the tool UI widgets. It is e.g. used if the busy state is changed (see BusyStateChanged). Override the default implementation, e.g. if a tool adds his own UI elements (normally by overriding InitializeUI()) and wants to control how the widgets are enabled/disabled.

Reimplemented from QmitkSegWithPreviewToolGUIBase.

◆ InitializeUI()

void QmitkGrowCutToolGUI::InitializeUI ( QBoxLayout *  mainLayout)
overrideprotectedvirtual

This method is called by OnNewToolAssociated if the UI is initialized the first time to allow derived classes to introduce own UI code. Overwrite to change. The implementation should ensure that alle widgets needed for the tool UI are properly allocated. If one needs to eecute time (e.g. to connect events between the tool and the UI) each time the tool changes, override the functions ConnectNewTool() and DisconnectOldTool().

Reimplemented from QmitkSegWithPreviewToolGUIBase.

◆ mitkClassMacro()

QmitkGrowCutToolGUI::mitkClassMacro ( QmitkGrowCutToolGUI  ,
QmitkMultiLabelSegWithPreviewToolGUIBase   
)

◆ New()

static Pointer QmitkGrowCutToolGUI::New ( )
static

◆ OnPreviewBtnClicked

void QmitkGrowCutToolGUI::OnPreviewBtnClicked ( )
protectedslot

◆ SetValueOfDistancePenaltyDoubleSpinBox()

void QmitkGrowCutToolGUI::SetValueOfDistancePenaltyDoubleSpinBox ( int  val)
protected

◆ SetValueOfDistancePenaltySlider()

void QmitkGrowCutToolGUI::SetValueOfDistancePenaltySlider ( double  val)
protected

Member Data Documentation

◆ m_Controls

std::unique_ptr<Ui::QmitkGrowCutToolWidgetControls> QmitkGrowCutToolGUI::m_Controls
protected

Definition at line 66 of file QmitkGrowCutToolGUI.h.

◆ m_FirstPreviewComputation

bool QmitkGrowCutToolGUI::m_FirstPreviewComputation
protected

Definition at line 68 of file QmitkGrowCutToolGUI.h.


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