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

Single-threshold segmentation tool for interactive segmentation. More...

#include <mitkBinaryThresholdTool.h>

Inheritance diagram for mitk::BinaryThresholdTool:
Collaboration diagram for mitk::BinaryThresholdTool:

Public Member Functions

 mitkClassMacro (BinaryThresholdTool, BinaryThresholdBaseTool)
 
Pointer Clone () const
 
us::ModuleResource GetIconResource () const override
 Returns the icon resource for this tool's button. More...
 
const char * GetName () const override
 Returns the display name of this tool ("Threshold"). More...
 
virtual void SetThresholdValue (double value)
 Sets the single threshold value. More...
 
- Public Member Functions inherited from mitk::BinaryThresholdBaseTool
 mitkClassMacro (BinaryThresholdBaseTool, SegWithPreviewTool)
 
virtual void SetThresholdValues (double lower, double upper)
 Sets the lower and upper threshold values for the segmentation. More...
 
- Public Member Functions inherited from mitk::SegWithPreviewTool
 mitkClassMacro (SegWithPreviewTool, Tool)
 
void Activated () override
 Called when the tool gets activated. More...
 
void Deactivated () override
 Called when the tool gets deactivated. More...
 
mitk::Label::AlgorithmType GetAlgorithmType () const override
 Preview tools are SEMIAUTOMATIC by default (the user supplies seeds/parameters). Fully automatic preview tools (e.g. TotalSegmentator) override this again to AUTOMATIC. More...
 
void ConfirmSegmentation ()
 Confirms the current preview segmentation and transfers it to the working image. More...
 
virtual void SetCreateAllTimeSteps (bool _arg)
 If true, the preview is computed for all time steps at once. More...
 
virtual bool GetCreateAllTimeSteps ()
 
virtual void CreateAllTimeStepsOn ()
 
virtual void CreateAllTimeStepsOff ()
 
virtual void SetKeepActiveAfterAccept (bool _arg)
 If true, the tool stays active after the segmentation is accepted. More...
 
virtual bool GetKeepActiveAfterAccept ()
 
virtual void KeepActiveAfterAcceptOn ()
 
virtual void KeepActiveAfterAcceptOff ()
 
virtual void SetIsTimePointChangeAware (bool _arg)
 If true, the tool reacts to time point changes and updates the preview. More...
 
virtual bool GetIsTimePointChangeAware ()
 
virtual void IsTimePointChangeAwareOn ()
 
virtual void IsTimePointChangeAwareOff ()
 
virtual void SetResetsToEmptyPreview (bool _arg)
 If true, the preview is reset to empty on activation. More...
 
virtual bool GetResetsToEmptyPreview ()
 
virtual void ResetsToEmptyPreviewOn ()
 
virtual void ResetsToEmptyPreviewOff ()
 
virtual void SetUseSpecialPreviewColor (bool _arg)
 If true, a special color is used for the preview rendering. More...
 
virtual bool GetUseSpecialPreviewColor ()
 
virtual void UseSpecialPreviewColorOn ()
 
virtual void UseSpecialPreviewColorOff ()
 
virtual void SetRequestDeactivationConfirmation (bool _arg)
 If true, a confirmation dialog is shown before deactivating the tool. More...
 
virtual bool GetRequestDeactivationConfirmation ()
 
virtual void RequestDeactivationConfirmationOn ()
 
virtual void RequestDeactivationConfirmationOff ()
 
Color GetSpecialPreviewColor () const
 Returns the special preview color. More...
 
void SetMergeStyle (MultiLabelSegmentation::MergeStyle mergeStyle)
 Sets how the preview content is merged into the working image upon confirmation. More...
 
virtual MultiLabelSegmentation::MergeStyle GetMergeStyle ()
 
void SetOverwriteStyle (MultiLabelSegmentation::OverwriteStyle overwriteStyle)
 Sets whether locked labels should be overwritten during transfer. More...
 
virtual MultiLabelSegmentation::OverwriteStyle GetOverwriteStyle ()
 
void SetLabelTransferScope (LabelTransferScope labelTransferScope)
 Sets which labels from the preview are transferred on confirmation. More...
 
virtual LabelTransferScope GetLabelTransferScope ()
 
void SetSelectedLabels (const SelectedLabelVectorType &labelsToTransfer)
 Sets the labels to transfer from preview to working image on confirmation. More...
 
virtual SelectedLabelVectorType GetSelectedLabels ()
 
void SetLabelTransferMode (LabelTransferMode labelTransferMode)
 Sets how labels are transferred from preview to the working image. More...
 
virtual LabelTransferMode GetLabelTransferMode ()
 
bool CanHandle (const BaseData *referenceData, const BaseData *workingData) const override
 Checks if a tool can handle the given reference data and optional working data. More...
 
void UpdatePreview (bool ignoreLazyPreviewSetting=false)
 Triggers the update of the preview segmentation. More...
 
bool IsUpdating () const
 
std::string GetCurrentSegmentationName ()
 Returns the name of the currently selected segmentation node. More...
 
virtual DataNode * GetTargetSegmentationNode () const
 Returns the currently selected segmentation node. More...
 
MultiLabelSegmentation * GetTargetSegmentation () const
 
MultiLabelSegmentation * GetPreviewSegmentation ()
 
const MultiLabelSegmentation * GetPreviewSegmentation () const
 
DataNode * GetPreviewSegmentationNode ()
 
void SetPreviewOpacity (float opacity)
 
virtual float GetPreviewOpacity () const
 
void SetPreviewVisibility (bool visible)
 
virtual bool GetPreviewVisibility () const
 
- 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 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...
 
- 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...
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 BinaryThresholdTool ()
 
 ~BinaryThresholdTool () override
 
- Protected Member Functions inherited from mitk::BinaryThresholdBaseTool
 BinaryThresholdBaseTool ()
 
 ~BinaryThresholdBaseTool () override
 
virtual void SetLockedUpperThreshold (bool _arg)
 
virtual bool GetLockedUpperThreshold ()
 
virtual void LockedUpperThresholdOn ()
 
virtual void LockedUpperThresholdOff ()
 
virtual ScalarType GetSensibleMinimumThreshold ()
 
virtual ScalarType GetSensibleMaximumThreshold ()
 
void InitiateToolByInput () override
 
void DoUpdatePreview (const Image *inputAtTimeStep, const Image *oldSegAtTimeStep, MultiLabelSegmentation *previewImage, TimeStepType timeStep) override
 
template<typename TPixel , unsigned int VImageDimension>
void ITKThresholding (const itk::Image< TPixel, VImageDimension > *inputImage, MultiLabelSegmentation *segmentation, unsigned int timeStep)
 
- Protected Member Functions inherited from mitk::SegWithPreviewTool
 SegWithPreviewTool (bool lazyDynamicPreviews=false)
 
 SegWithPreviewTool (bool lazyDynamicPreviews, const char *interactorType, const us::Module *interactorModule=nullptr)
 
 ~SegWithPreviewTool () override
 
const char * GetGroup () const override
 Name of a group. More...
 
void EnsureTargetSegmentationNodeInDataStorage () const
 
virtual void UpdatePrepare ()
 
virtual void UpdateCleanUp ()
 
virtual void ConfirmCleanUp ()
 
virtual void PreparePreviewToResultTransfer (const LabelMappingType &labelMapping)
 Called before the preview content is transferred to the segmentation on confirmation. More...
 
const Image * GetSegmentationInput () const
 
const Image * GetReferenceData () const
 
void ResetPreviewNode ()
 
void ResetPreviewContent ()
 
void ResetPreviewContentAtTimeStep (unsigned int timeStep)
 
TimePointType GetLastTimePointOfUpdate () const
 
MultiLabelSegmentation::LabelValueType GetActiveLabelValueOfPreview () const
 
virtual Label::PixelType GetUserDefinedActiveLabel () const
 
virtual void SetWorkingPlaneGeometry (PlaneGeometry *_arg)
 
virtual const PlaneGeometry * GetWorkingPlaneGeometry ()
 
bool ConfirmBeforeDeactivation () override
 Method call to invoke a dialog box just before exiting. More...
 
virtual void OnTimePointChanged ()
 
- 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 ()
 

Additional Inherited Members

- Public Types inherited from mitk::SegWithPreviewTool
enum class  LabelTransferScope { ActiveLabel , SelectedLabels , AllLabels }
 Defines which labels from the preview are transferred on confirmation. More...
 
enum class  LabelTransferMode { MapLabel , AddLabel }
 Defines how labels are transferred from preview to the working image. More...
 
using SelectedLabelVectorType = std::vector< Label::PixelType >
 Type for the vector of selected label values. More...
 
- 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::BinaryThresholdBaseTool
Message3< double, double, bool > IntervalBordersChanged
 Emitted when the sensible threshold interval borders change. Parameters: lower border, upper border, whether upper threshold is locked. More...
 
Message2< ScalarType, ScalarType > ThresholdingValuesChanged
 Emitted when the current thresholding values change. Parameters: lower threshold, upper threshold. More...
 
- 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::SegWithPreviewTool
using LabelMappingType = std::vector< std::pair< Label::PixelType, Label::PixelType > >
 
- Protected Types inherited from mitk::EventStateMachine
typedef MessageAbstractDelegate2< StateMachineAction *, InteractionEvent *, void > ActionFunctionDelegate
 
typedef MessageAbstractDelegate1< const InteractionEvent *, bool > ConditionFunctionDelegate
 
- Static Protected Member Functions inherited from mitk::SegWithPreviewTool
static Image::ConstPointer GetImageByTimeStep (const Image *image, TimeStepType timestep)
 
static Image::Pointer GetImageByTimeStep (Image *image, TimeStepType timestep)
 
static Image::ConstPointer GetImageByTimePoint (const Image *image, TimePointType timePoint)
 
static void TransferLabelInformation (const LabelMappingType &labelMapping, const mitk::MultiLabelSegmentation *source, mitk::MultiLabelSegmentation *target)
 Copies label information (not pixel content) from one segmentation to another. More...
 
- Protected Attributes inherited from mitk::SegWithPreviewTool
ToolCommand::Pointer m_ProgressCommand
 
- 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
 

Detailed Description

Single-threshold segmentation tool for interactive segmentation.

Segments an image by applying a single lower threshold. All pixels above the threshold value are included in the segmentation. The upper threshold is locked to the maximum image value.

See also
BinaryThresholdBaseTool, BinaryThresholdULTool

Definition at line 36 of file mitkBinaryThresholdTool.h.

Constructor & Destructor Documentation

◆ BinaryThresholdTool()

mitk::BinaryThresholdTool::BinaryThresholdTool ( )
protected

◆ ~BinaryThresholdTool()

mitk::BinaryThresholdTool::~BinaryThresholdTool ( )
overrideprotected

Member Function Documentation

◆ Clone()

Pointer mitk::BinaryThresholdTool::Clone ( ) const

◆ GetIconResource()

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

Returns the icon resource for this tool's button.

Reimplemented from mitk::Tool.

◆ GetName()

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

Returns the display name of this tool ("Threshold").

Implements mitk::Tool.

◆ mitkClassMacro()

mitk::BinaryThresholdTool::mitkClassMacro ( BinaryThresholdTool  ,
BinaryThresholdBaseTool   
)

◆ New()

static Pointer mitk::BinaryThresholdTool::New ( )
static

◆ SetThresholdValue()

virtual void mitk::BinaryThresholdTool::SetThresholdValue ( double  value)
virtual

Sets the single threshold value.

Parameters
[in]valueThe threshold value. Pixels at or above this value are segmented.

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