Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
QmitkBinaryThresholdToolGUIBase Class Reference

Base GUI class for threshold-based segmentation tools. More...

#include <QmitkBinaryThresholdToolGUIBase.h>

Inheritance diagram for QmitkBinaryThresholdToolGUIBase:
Collaboration diagram for QmitkBinaryThresholdToolGUIBase:

Public Member Functions

 mitkClassMacro (QmitkBinaryThresholdToolGUIBase, QmitkSegWithPreviewToolGUIBase)
 
void OnThresholdingIntervalBordersChanged (double lower, double upper, bool isFloat)
 Called when the tool's threshold interval borders change. More...
 
void OnThresholdingValuesChanged (mitk::ScalarType lower, mitk::ScalarType upper)
 Called when the tool's current threshold values change. More...
 
- 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
 

Protected Slots

void OnThresholdRangeChanged (double min, double max)
 
void OnThresholdSliderChanged (double value)
 
- Protected Slots inherited from QmitkSegWithPreviewToolGUIBase
void OnNewToolAssociated (mitk::Tool *)
 
void OnAcceptPreview ()
 
void OnPreviewOpacityChanged (int value)
 
void OnPreviewVisibilityToggled (bool checked)
 

Protected Member Functions

 QmitkBinaryThresholdToolGUIBase (bool ulMode)
 
 ~QmitkBinaryThresholdToolGUIBase () override
 
void DisconnectOldTool (mitk::SegWithPreviewTool *oldTool) override
 
void ConnectNewTool (mitk::SegWithPreviewTool *newTool) override
 
void InitializeUI (QBoxLayout *mainLayout) override
 
void BusyStateChanged (bool) override
 Called when the tool's busy state changes. Override to enable/disable UI elements. More...
 
- Protected Member Functions inherited from QmitkSegWithPreviewToolGUIBase
 QmitkSegWithPreviewToolGUIBase (bool mode2D, bool enableProcessingOfAllTimeSteps=true)
 
 ~QmitkSegWithPreviewToolGUIBase () override
 
void BusyStateChanged (bool isBusy) override
 Called when the tool's busy state changes. Override to enable/disable UI elements. More...
 
virtual void EnableWidgets (bool enabled)
 
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

ctkRangeWidget * m_ThresholdRange
 
ctkSliderWidget * m_ThresholdSlider
 
bool m_ULMode
 
bool m_InternalUpdate
 
- 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

Base GUI class for threshold-based segmentation tools.

Provides the common UI elements for both single-threshold and upper/lower threshold segmentation tools. Contains a slider or range widget for adjusting threshold values and connects to the tool's threshold change events.

See also
mitk::BinaryThresholdTool
QmitkBinaryThresholdToolGUI
QmitkBinaryThresholdULToolGUI
QmitkSegWithPreviewToolGUIBase

Definition at line 34 of file QmitkBinaryThresholdToolGUIBase.h.

Constructor & Destructor Documentation

◆ QmitkBinaryThresholdToolGUIBase()

QmitkBinaryThresholdToolGUIBase::QmitkBinaryThresholdToolGUIBase ( bool  ulMode)
protected

◆ ~QmitkBinaryThresholdToolGUIBase()

QmitkBinaryThresholdToolGUIBase::~QmitkBinaryThresholdToolGUIBase ( )
overrideprotected

Member Function Documentation

◆ BusyStateChanged()

void QmitkBinaryThresholdToolGUIBase::BusyStateChanged ( bool  )
overrideprotectedvirtual

Called when the tool's busy state changes. Override to enable/disable UI elements.

Reimplemented from QmitkToolGUI.

◆ ConnectNewTool()

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

Reimplemented from QmitkSegWithPreviewToolGUIBase.

◆ DisconnectOldTool()

void QmitkBinaryThresholdToolGUIBase::DisconnectOldTool ( mitk::SegWithPreviewTool *  oldTool)
overrideprotectedvirtual

Reimplemented from QmitkSegWithPreviewToolGUIBase.

◆ InitializeUI()

void QmitkBinaryThresholdToolGUIBase::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()

QmitkBinaryThresholdToolGUIBase::mitkClassMacro ( QmitkBinaryThresholdToolGUIBase  ,
QmitkSegWithPreviewToolGUIBase   
)

◆ OnThresholdingIntervalBordersChanged()

void QmitkBinaryThresholdToolGUIBase::OnThresholdingIntervalBordersChanged ( double  lower,
double  upper,
bool  isFloat 
)

Called when the tool's threshold interval borders change.

Parameters
[in]lowerThe new lower border of the valid threshold range.
[in]upperThe new upper border of the valid threshold range.
[in]isFloatTrue if the image pixel type is floating-point.

◆ OnThresholdingValuesChanged()

void QmitkBinaryThresholdToolGUIBase::OnThresholdingValuesChanged ( mitk::ScalarType  lower,
mitk::ScalarType  upper 
)

Called when the tool's current threshold values change.

Parameters
[in]lowerThe new lower threshold value.
[in]upperThe new upper threshold value.

◆ OnThresholdRangeChanged

void QmitkBinaryThresholdToolGUIBase::OnThresholdRangeChanged ( double  min,
double  max 
)
protectedslot

◆ OnThresholdSliderChanged

void QmitkBinaryThresholdToolGUIBase::OnThresholdSliderChanged ( double  value)
protectedslot

Member Data Documentation

◆ m_InternalUpdate

bool QmitkBinaryThresholdToolGUIBase::m_InternalUpdate
protected

Definition at line 78 of file QmitkBinaryThresholdToolGUIBase.h.

◆ m_ThresholdRange

ctkRangeWidget* QmitkBinaryThresholdToolGUIBase::m_ThresholdRange
protected

Definition at line 71 of file QmitkBinaryThresholdToolGUIBase.h.

◆ m_ThresholdSlider

ctkSliderWidget* QmitkBinaryThresholdToolGUIBase::m_ThresholdSlider
protected

Definition at line 72 of file QmitkBinaryThresholdToolGUIBase.h.

◆ m_ULMode

bool QmitkBinaryThresholdToolGUIBase::m_ULMode
protected

Indicates if the tool UI is used for a tool with upper an lower threshold (true) or only with one threshold (false)

Definition at line 76 of file QmitkBinaryThresholdToolGUIBase.h.


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