Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::SegWithPreviewTool Class Referenceabstract

Base class for any auto segmentation tool that provides a preview of the new segmentation. More...

#include <mitkSegWithPreviewTool.h>

Inheritance diagram for mitk::SegWithPreviewTool:
Collaboration diagram for mitk::SegWithPreviewTool:

Public Types

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 Member Functions

 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 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 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...
 

Protected Types

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
 

Protected Member Functions

 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 InitiateToolByInput ()
 
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...
 
virtual void DoUpdatePreview (const Image *inputAtTimeStep, const Image *oldSegAtTimeStep, MultiLabelSegmentation *previewImage, TimeStepType timeStep)=0
 
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 ()
 

Static Protected Member Functions

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

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
 

Additional Inherited Members

- 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...
 

Detailed Description

Base class for any auto segmentation tool that provides a preview of the new segmentation.

This tool class implements a lot basic logic to handle auto segmentation tools with preview, Time point and ROI support. Derived classes will ask to update the segmentation preview if needed (e.g. because the ROI or the current time point has changed) or because derived tools indicated the need to update themselves. This class also takes care to properly transfer a confirmed preview into the segmentation result.

See also
mitk::Tool
QmitkInteractiveSegmentation

Definition at line 38 of file mitkSegWithPreviewTool.h.

Member Typedef Documentation

◆ LabelMappingType

Definition at line 246 of file mitkSegWithPreviewTool.h.

◆ SelectedLabelVectorType

Type for the vector of selected label values.

Definition at line 130 of file mitkSegWithPreviewTool.h.

Member Enumeration Documentation

◆ LabelTransferMode

Defines how labels are transferred from preview to the working image.

Enumerator
MapLabel 

Preview labels are mapped to the active label in the working image.

AddLabel 

Preview labels are added as new labels to the working image.

Definition at line 146 of file mitkSegWithPreviewTool.h.

◆ LabelTransferScope

Defines which labels from the preview are transferred on confirmation.

Enumerator
ActiveLabel 

Only the currently active/selected label is transferred.

SelectedLabels 

Only the labels in the SelectedLabels list are transferred.

AllLabels 

All labels of the preview segmentation are transferred.

Definition at line 114 of file mitkSegWithPreviewTool.h.

Constructor & Destructor Documentation

◆ SegWithPreviewTool() [1/2]

mitk::SegWithPreviewTool::SegWithPreviewTool ( bool  lazyDynamicPreviews = false)
protected

◆ SegWithPreviewTool() [2/2]

mitk::SegWithPreviewTool::SegWithPreviewTool ( bool  lazyDynamicPreviews,
const char *  interactorType,
const us::Module *  interactorModule = nullptr 
)
protected

◆ ~SegWithPreviewTool()

mitk::SegWithPreviewTool::~SegWithPreviewTool ( )
overrideprotected

Member Function Documentation

◆ Activated()

void mitk::SegWithPreviewTool::Activated ( )
overridevirtual

Called when the tool gets activated.

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

Reimplemented from mitk::Tool.

◆ CanHandle()

bool mitk::SegWithPreviewTool::CanHandle ( const BaseData *  referenceData,
const BaseData *  workingData 
) const
overridevirtual

Checks if a tool can handle the given reference data and optional working data.

Parameters
[in]referenceDataPointer to the data that should be checked as valid reference for the tool.
[in]workingDataPointer to the data that should be checked as valid working data for this tool. This parameter can be null if no working data is specified so far.
Returns
true if the tool can handle the given data, false otherwise.
Precondition
referenceData must be a valid pointer.

Reimplemented from mitk::Tool.

◆ ConfirmBeforeDeactivation()

bool mitk::SegWithPreviewTool::ConfirmBeforeDeactivation ( )
overrideprotectedvirtual

Method call to invoke a dialog box just before exiting.

The method can be reimplemented in the respective tool class with business logic on when there should be a confirmation dialog from the user before the tool exits.

Returns
true if the user must confirm before the tool is deactivated, false otherwise.

Reimplemented from mitk::Tool.

◆ ConfirmCleanUp()

virtual void mitk::SegWithPreviewTool::ConfirmCleanUp ( )
protectedvirtual

This member function offers derived classes the possibility to alter what should happen directly after the Confirmation of the preview is performed. It is called by ConfirmSegmentation. Default implementation does nothing.

Reimplemented in mitk::MonaiLabel2DTool, and mitk::nnInteractiveTool.

◆ ConfirmSegmentation()

void mitk::SegWithPreviewTool::ConfirmSegmentation ( )

Confirms the current preview segmentation and transfers it to the working image.

The transfer behavior is controlled by LabelTransferScope, LabelTransferMode, MergeStyle, and OverwriteStyle.

◆ CreateAllTimeStepsOff()

virtual void mitk::SegWithPreviewTool::CreateAllTimeStepsOff ( )
virtual

◆ CreateAllTimeStepsOn()

virtual void mitk::SegWithPreviewTool::CreateAllTimeStepsOn ( )
virtual

◆ Deactivated()

void mitk::SegWithPreviewTool::Deactivated ( )
overridevirtual

Called when the tool gets deactivated.

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

Reimplemented from mitk::Tool.

◆ DoUpdatePreview()

virtual void mitk::SegWithPreviewTool::DoUpdatePreview ( const Image *  inputAtTimeStep,
const Image *  oldSegAtTimeStep,
MultiLabelSegmentation *  previewImage,
TimeStepType  timeStep 
)
protectedpure virtual

This function does the real work. Here the preview for a given input image should be computed and stored in the also passed preview image at the passed time step. It also provides the current/old segmentation at the time point, which can be used, if the preview depends on the the segmentation so far.

Implemented in mitk::PickingTool, mitk::OtsuTool3D, mitk::MonaiLabelTool, mitk::GrowCutTool, mitk::BinaryThresholdBaseTool, mitk::TotalSegmentatorTool, and mitk::nnInteractiveTool.

◆ EnsureTargetSegmentationNodeInDataStorage()

void mitk::SegWithPreviewTool::EnsureTargetSegmentationNodeInDataStorage ( ) const
protected

◆ GetActiveLabelValueOfPreview()

MultiLabelSegmentation::LabelValueType mitk::SegWithPreviewTool::GetActiveLabelValueOfPreview ( ) const
protected

◆ GetAlgorithmType()

mitk::Label::AlgorithmType mitk::SegWithPreviewTool::GetAlgorithmType ( ) const
overridevirtual

Preview tools are SEMIAUTOMATIC by default (the user supplies seeds/parameters). Fully automatic preview tools (e.g. TotalSegmentator) override this again to AUTOMATIC.

Reimplemented from mitk::Tool.

◆ GetCreateAllTimeSteps()

virtual bool mitk::SegWithPreviewTool::GetCreateAllTimeSteps ( )
virtual

◆ GetCurrentSegmentationName()

std::string mitk::SegWithPreviewTool::GetCurrentSegmentationName ( )

Returns the name of the currently selected segmentation node.

Returns
The name of the segmentation node or an empty string if none is selected.

◆ GetGroup()

const char* mitk::SegWithPreviewTool::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.

◆ GetImageByTimePoint()

static Image::ConstPointer mitk::SegWithPreviewTool::GetImageByTimePoint ( const Image *  image,
TimePointType  timePoint 
)
staticprotected

Helper that extracts the image for the passed time point, if the image has multiple time steps.

◆ GetImageByTimeStep() [1/2]

static Image::ConstPointer mitk::SegWithPreviewTool::GetImageByTimeStep ( const Image *  image,
TimeStepType  timestep 
)
staticprotected

Helper that extracts the image for the passed timestep, if the image has multiple time steps.

◆ GetImageByTimeStep() [2/2]

static Image::Pointer mitk::SegWithPreviewTool::GetImageByTimeStep ( Image *  image,
TimeStepType  timestep 
)
staticprotected

Helper that extracts the image for the passed timestep, if the image has multiple time steps.

◆ GetIsTimePointChangeAware()

virtual bool mitk::SegWithPreviewTool::GetIsTimePointChangeAware ( )
virtual

◆ GetKeepActiveAfterAccept()

virtual bool mitk::SegWithPreviewTool::GetKeepActiveAfterAccept ( )
virtual

◆ GetLabelTransferMode()

virtual LabelTransferMode mitk::SegWithPreviewTool::GetLabelTransferMode ( )
virtual

◆ GetLabelTransferScope()

virtual LabelTransferScope mitk::SegWithPreviewTool::GetLabelTransferScope ( )
virtual

◆ GetLastTimePointOfUpdate()

TimePointType mitk::SegWithPreviewTool::GetLastTimePointOfUpdate ( ) const
protected

◆ GetMergeStyle()

virtual MultiLabelSegmentation::MergeStyle mitk::SegWithPreviewTool::GetMergeStyle ( )
virtual

◆ GetOverwriteStyle()

virtual MultiLabelSegmentation::OverwriteStyle mitk::SegWithPreviewTool::GetOverwriteStyle ( )
virtual

◆ GetPreviewOpacity()

virtual float mitk::SegWithPreviewTool::GetPreviewOpacity ( ) const
virtual

◆ GetPreviewSegmentation() [1/2]

MultiLabelSegmentation* mitk::SegWithPreviewTool::GetPreviewSegmentation ( )

Returns the image that contains the preview of the current segmentation. Returns null if the node is not set or does not contain an image.

◆ GetPreviewSegmentation() [2/2]

const MultiLabelSegmentation* mitk::SegWithPreviewTool::GetPreviewSegmentation ( ) const

◆ GetPreviewSegmentationNode()

DataNode* mitk::SegWithPreviewTool::GetPreviewSegmentationNode ( )

◆ GetPreviewVisibility()

virtual bool mitk::SegWithPreviewTool::GetPreviewVisibility ( ) const
virtual

◆ GetReferenceData()

const Image* mitk::SegWithPreviewTool::GetReferenceData ( ) const
protected

Returns the image that is provided by the ReferenceDataNode. Returns null if the node is not set or does not contain an image.

◆ GetRequestDeactivationConfirmation()

virtual bool mitk::SegWithPreviewTool::GetRequestDeactivationConfirmation ( )
virtual

◆ GetResetsToEmptyPreview()

virtual bool mitk::SegWithPreviewTool::GetResetsToEmptyPreview ( )
virtual

◆ GetSegmentationInput()

const Image* mitk::SegWithPreviewTool::GetSegmentationInput ( ) const
protected

Returns the input that should be used for any segmentation/preview or tool update. It is either the data of ReferenceDataNode itself or a part of it defined by a ROI mask provided by the tool manager. Derived classes should regard this as the relevant input data for any processing. Returns null if the node is not set or does not contain an image.

◆ GetSelectedLabels()

virtual SelectedLabelVectorType mitk::SegWithPreviewTool::GetSelectedLabels ( )
virtual

◆ GetSpecialPreviewColor()

Color mitk::SegWithPreviewTool::GetSpecialPreviewColor ( ) const

Returns the special preview color.

Returns
The RGB color used for preview rendering.

◆ GetTargetSegmentation()

MultiLabelSegmentation* mitk::SegWithPreviewTool::GetTargetSegmentation ( ) const

◆ GetTargetSegmentationNode()

virtual DataNode* mitk::SegWithPreviewTool::GetTargetSegmentationNode ( ) const
virtual

Returns the currently selected segmentation node.

Returns
A mitk::DataNode which contains a segmentation image.

◆ GetUserDefinedActiveLabel()

virtual Label::PixelType mitk::SegWithPreviewTool::GetUserDefinedActiveLabel ( ) const
protectedvirtual

◆ GetUseSpecialPreviewColor()

virtual bool mitk::SegWithPreviewTool::GetUseSpecialPreviewColor ( )
virtual

◆ GetWorkingPlaneGeometry()

virtual const PlaneGeometry* mitk::SegWithPreviewTool::GetWorkingPlaneGeometry ( )
protectedvirtual

◆ InitiateToolByInput()

virtual void mitk::SegWithPreviewTool::InitiateToolByInput ( )
protectedvirtual

Member is always called if GetSegmentationInput() has changed (e.g. because a new ROI was defined, or on activation) to give derived classes the possibility to initiate their state accordingly. Reimplement this function to implement special behavior.

Reimplemented in mitk::BinaryThresholdBaseTool.

◆ IsTimePointChangeAwareOff()

virtual void mitk::SegWithPreviewTool::IsTimePointChangeAwareOff ( )
virtual

◆ IsTimePointChangeAwareOn()

virtual void mitk::SegWithPreviewTool::IsTimePointChangeAwareOn ( )
virtual

◆ IsUpdating()

bool mitk::SegWithPreviewTool::IsUpdating ( ) const

Indicate if currently UpdatePreview is triggered (true) or not (false).

◆ KeepActiveAfterAcceptOff()

virtual void mitk::SegWithPreviewTool::KeepActiveAfterAcceptOff ( )
virtual

◆ KeepActiveAfterAcceptOn()

virtual void mitk::SegWithPreviewTool::KeepActiveAfterAcceptOn ( )
virtual

◆ mitkClassMacro()

mitk::SegWithPreviewTool::mitkClassMacro ( SegWithPreviewTool  ,
Tool   
)

◆ OnTimePointChanged()

virtual void mitk::SegWithPreviewTool::OnTimePointChanged ( )
protectedvirtual

Called when the selected time point changes (subscribed to ToolManager::SelectedTimePointChanged by the base class on Activated()). The default implementation calls UpdatePreview() if the tool is in lazy-dynamic mode or has a static segmentation on a dynamic reference image. Derived tools may override this hook to implement different time-point change semantics, for example to discard unconfirmed state when the bound time step is no longer current.

Reimplemented in mitk::nnInteractiveTool.

◆ PreparePreviewToResultTransfer()

virtual void mitk::SegWithPreviewTool::PreparePreviewToResultTransfer ( const LabelMappingType &  labelMapping)
protectedvirtual

Called before the preview content is transferred to the segmentation on confirmation.

Default implementation ensures that all labels to be transferred exist in the segmentation. Missing labels are added by cloning label information from the preview.

Parameters
[in]labelMappingThe mapping used for transferring labels from preview to result.

◆ RequestDeactivationConfirmationOff()

virtual void mitk::SegWithPreviewTool::RequestDeactivationConfirmationOff ( )
virtual

◆ RequestDeactivationConfirmationOn()

virtual void mitk::SegWithPreviewTool::RequestDeactivationConfirmationOn ( )
virtual

◆ ResetPreviewContent()

void mitk::SegWithPreviewTool::ResetPreviewContent ( )
protected

Resets the complete content of the preview image. The instance of the preview image and its settings stay the same.

◆ ResetPreviewContentAtTimeStep()

void mitk::SegWithPreviewTool::ResetPreviewContentAtTimeStep ( unsigned int  timeStep)
protected

Resets only the image content of the specified timeStep of the preview image. If the preview image or the specified time step does not exist, nothing happens.

◆ ResetPreviewNode()

void mitk::SegWithPreviewTool::ResetPreviewNode ( )
protected

Resets the preview node so it is empty and ready to be filled by the tool

Remarks
Calling this function will generate a new preview image, and the old might be invalidated. Therefore this function should not be used within the scope of UpdatePreview (m_IsUpdating == true).

◆ ResetsToEmptyPreviewOff()

virtual void mitk::SegWithPreviewTool::ResetsToEmptyPreviewOff ( )
virtual

◆ ResetsToEmptyPreviewOn()

virtual void mitk::SegWithPreviewTool::ResetsToEmptyPreviewOn ( )
virtual

◆ SetCreateAllTimeSteps()

virtual void mitk::SegWithPreviewTool::SetCreateAllTimeSteps ( bool  _arg)
virtual

If true, the preview is computed for all time steps at once.

◆ SetIsTimePointChangeAware()

virtual void mitk::SegWithPreviewTool::SetIsTimePointChangeAware ( bool  _arg)
virtual

If true, the tool reacts to time point changes and updates the preview.

◆ SetKeepActiveAfterAccept()

virtual void mitk::SegWithPreviewTool::SetKeepActiveAfterAccept ( bool  _arg)
virtual

If true, the tool stays active after the segmentation is accepted.

◆ SetLabelTransferMode()

void mitk::SegWithPreviewTool::SetLabelTransferMode ( LabelTransferMode  labelTransferMode)

Sets how labels are transferred from preview to the working image.

Parameters
[in]labelTransferModeThe label transfer mode.
Note
Does not modify MTime to avoid unnecessary preview updates.

◆ SetLabelTransferScope()

void mitk::SegWithPreviewTool::SetLabelTransferScope ( LabelTransferScope  labelTransferScope)

Sets which labels from the preview are transferred on confirmation.

Parameters
[in]labelTransferScopeThe scope of labels to transfer.
Note
Does not modify MTime to avoid unnecessary preview updates.

◆ SetMergeStyle()

void mitk::SegWithPreviewTool::SetMergeStyle ( MultiLabelSegmentation::MergeStyle  mergeStyle)

Sets how the preview content is merged into the working image upon confirmation.

Parameters
[in]mergeStyleThe merge style (Replace or Merge).
Note
Does not modify MTime to avoid unnecessary preview updates.

◆ SetOverwriteStyle()

void mitk::SegWithPreviewTool::SetOverwriteStyle ( MultiLabelSegmentation::OverwriteStyle  overwriteStyle)

Sets whether locked labels should be overwritten during transfer.

Parameters
[in]overwriteStyleThe overwrite style (RegardLocks or IgnoreLocks).
Note
Does not modify MTime to avoid unnecessary preview updates.

◆ SetPreviewOpacity()

void mitk::SegWithPreviewTool::SetPreviewOpacity ( float  opacity)

Sets the opacity (0.0 - 1.0) used to render the preview segmentation. The value persists across preview regenerations.

◆ SetPreviewVisibility()

void mitk::SegWithPreviewTool::SetPreviewVisibility ( bool  visible)

Sets whether the preview segmentation is rendered. The value persists across preview regenerations.

◆ SetRequestDeactivationConfirmation()

virtual void mitk::SegWithPreviewTool::SetRequestDeactivationConfirmation ( bool  _arg)
virtual

If true, a confirmation dialog is shown before deactivating the tool.

◆ SetResetsToEmptyPreview()

virtual void mitk::SegWithPreviewTool::SetResetsToEmptyPreview ( bool  _arg)
virtual

If true, the preview is reset to empty on activation.

◆ SetSelectedLabels()

void mitk::SegWithPreviewTool::SetSelectedLabels ( const SelectedLabelVectorType &  labelsToTransfer)

Sets the labels to transfer from preview to working image on confirmation.

Used when LabelTransferScope is ActiveLabel or SelectedLabels.

Parameters
[in]labelsToTransferVector of label values from the preview image.
Precondition
If LabelTransferScope is ActiveLabel, exactly one label must be provided.

◆ SetUseSpecialPreviewColor()

virtual void mitk::SegWithPreviewTool::SetUseSpecialPreviewColor ( bool  _arg)
virtual

If true, a special color is used for the preview rendering.

◆ SetWorkingPlaneGeometry()

virtual void mitk::SegWithPreviewTool::SetWorkingPlaneGeometry ( PlaneGeometry *  _arg)
protectedvirtual

◆ TransferLabelInformation()

static void mitk::SegWithPreviewTool::TransferLabelInformation ( const LabelMappingType &  labelMapping,
const mitk::MultiLabelSegmentation *  source,
mitk::MultiLabelSegmentation *  target 
)
staticprotected

Copies label information (not pixel content) from one segmentation to another.

Parameters
[in]labelMappingIndicates which labels to copy and optional label value remapping.
[in]sourceThe source segmentation containing the label information.
[in,out]targetThe target segmentation that receives the label information.

◆ UpdateCleanUp()

virtual void mitk::SegWithPreviewTool::UpdateCleanUp ( )
protectedvirtual

This member function offers derived classes the possibility to alter what should happen directly after the update of the preview is performed. It is called by UpdatePreview. Default implementation does nothing.

◆ UpdatePrepare()

virtual void mitk::SegWithPreviewTool::UpdatePrepare ( )
protectedvirtual

This member function offers derived classes the possibility to alter what should happen directly before the update of the preview is performed. It is called by UpdatePreview. Default implementation does nothing.

Reimplemented in mitk::OtsuTool3D, mitk::MonaiLabelTool, and mitk::TotalSegmentatorTool.

◆ UpdatePreview()

void mitk::SegWithPreviewTool::UpdatePreview ( bool  ignoreLazyPreviewSetting = false)

Triggers the update of the preview segmentation.

Parameters
[in]ignoreLazyPreviewSettingIf true, the preview is generated for all time steps. If false, the lazy preview setting from the constructor is respected.

To define the update generation for time steps, implement DoUpdatePreview(). To alter behavior before/after the preview update, reimplement UpdatePrepare() or UpdateCleanUp().

◆ UseSpecialPreviewColorOff()

virtual void mitk::SegWithPreviewTool::UseSpecialPreviewColorOff ( )
virtual

◆ UseSpecialPreviewColorOn()

virtual void mitk::SegWithPreviewTool::UseSpecialPreviewColorOn ( )
virtual

Member Data Documentation

◆ m_ProgressCommand

ToolCommand::Pointer mitk::SegWithPreviewTool::m_ProgressCommand
protected

Definition at line 206 of file mitkSegWithPreviewTool.h.


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