Medical Imaging Interaction Toolkit  2025.08.99-f7084adb
Medical Imaging Interaction Toolkit
QmitknnInteractiveToolGUI.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef QmitknnInteractiveToolGUI_h
14 #define QmitknnInteractiveToolGUI_h
15 
17 #include <mitknnInteractiveTool.h>
19 
20 class QButtonGroup;
21 class QPushButton;
22 
23 namespace Ui
24 {
26 }
27 
29 {
30  Q_OBJECT
31 
32 public:
34  itkFactorylessNewMacro(Self);
35 
36 protected:
39 
41  ~QmitknnInteractiveToolGUI() override;
42 
43  void InitializeUI(QBoxLayout* mainLayout) override;
44  void InitializePromptType();
45  void InitializeInteractorButtons();
46 
47  void OnInitializeButtonToggled(bool checked);
48  void OnResetInteractionsButtonClicked();
49  void OnAutoRefineCheckBoxToggled(bool checked);
50  void OnAutoZoomCheckBoxToggled(bool checked);
51  void OnPromptTypeChanged();
52  void OnInteractorToggled(mitk::nnInteractive::InteractionType interactionType, bool checked);
53  void OnMaskButtonClicked();
54  void OnConfirmCleanUp(bool isConfirmed);
55 
56  mitk::nnInteractiveTool* GetTool();
57  void UncheckOtherInteractorButtons(QPushButton* interactorButton);
58 
59  bool CreateVirtualEnv();
60  bool Install();
61 
62 private:
63  Ui::QmitknnInteractiveToolGUI* m_Ui;
64  QButtonGroup* m_PromptTypeButtonGroup;
65  PromptType m_PromptType;
66  std::unordered_map<InteractionType, QPushButton*> m_InteractorButtons;
67 };
68 
69 #endif
mitk::PythonHelper::CreateVirtualEnv
MITKPYTHONHELPER_EXPORT fs::path CreateVirtualEnv(const std::string &name)
QmitkSegWithPreviewToolGUIBase
GUI base clase for tools derived from mitk::SegWithPreviewTool.
Definition: QmitkSegWithPreviewToolGUIBase.h:30
QmitkSegWithPreviewToolGUIBase::mitkClassMacro
mitkClassMacro(QmitkSegWithPreviewToolGUIBase, QmitkToolGUI)
QmitknnInteractiveToolGUI
Definition: QmitknnInteractiveToolGUI.h:28
QmitkSegWithPreviewToolGUIBase.h
mitknnInteractiveTool.h
MitkPythonSegmentationUIExports.h
mitk::nnInteractive::PromptType
PromptType
Specifies the types of prompts used in nnInteractive.
Definition: mitknnInteractiveEnums.h:72
mitk::nnInteractive::InteractionType
InteractionType
Specifies the types of interactions available.
Definition: mitknnInteractiveEnums.h:34
Ui
Definition: BlueBerryExampleLauncherDialog.h:21
QmitkSegWithPreviewToolGUIBase::InitializeUI
virtual void InitializeUI(QBoxLayout *mainLayout)
MITKPYTHONSEGMENTATIONUI_EXPORT
#define MITKPYTHONSEGMENTATIONUI_EXPORT
Definition: MitkPythonSegmentationUIExports.h:15
mitk::nnInteractiveTool
Definition: mitknnInteractiveTool.h:30