Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
QmitkImageMaskingWidget.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 QmitkImageMaskingWidget_h
14 #define QmitkImageMaskingWidget_h
15 
17 
18 #include <mitkDataStorage.h>
20 
21 #include <QWidget>
22 #include <memory>
23 
24 namespace Ui
25 {
26  class QmitkImageMaskingWidgetControls;
27 }
28 
29 namespace mitk
30 {
31  class Image;
32  class DataStorage;
33 }
34 
46 {
47  Q_OBJECT
48 
49 public:
50 
56  explicit QmitkImageMaskingWidget(mitk::DataStorage* dataStorage, QWidget* parent = nullptr);
57 
60 
61 signals:
63  void NewResultsReady(const QList<mitk::DataNode::Pointer>& nodes);
64 
65 private:
66 
68  void OnImageSelectionChanged(QmitkAbstractNodeSelectionWidget::NodeList /*nodes*/);
69 
71  void OnSegSelectionChanged(QmitkAbstractNodeSelectionWidget::NodeList /*nodes*/);
72 
74  void OnMaskImagePressed();
75 
77  void OnRemoveResultPressed();
78 
80  void OnCustomValueButtonToggled(bool checked);
81 
83  void ConfigureWidgets();
84  void EnableButtons(bool enable);
85 
88 
90  mitk::DataNode::Pointer AddToDataStorage(mitk::DataStorage::Pointer dataStorage, itk::SmartPointer<mitk::Image> segmentation,
91  const std::string& name, mitk::DataNode::Pointer parent = nullptr);
92 
94  void UpdateRemoveResultButton();
95 
97  mitk::WeakPointer<mitk::DataNode> m_LastResultNode;
98  std::unique_ptr<Ui::QmitkImageMaskingWidgetControls> m_Controls;
99 };
100 
101 #endif
#define MITKSEGMENTATIONUI_EXPORT
QList< mitk::DataNode::Pointer > NodeList
Widget for masking an image with a binary image or surface mask.
~QmitkImageMaskingWidget() override
Destructor.
void NewResultsReady(const QList< mitk::DataNode::Pointer > &nodes)
Emitted after a masking result node was added to the data storage.
QmitkImageMaskingWidget(mitk::DataStorage *dataStorage, QWidget *parent=nullptr)
Constructs the widget with GUI elements and signal/slot connections.
Abstract data management class that organizes DataNode objects in a directed acyclic graph.
class ITK_EXPORT Image
Find image slices visible on a given plane.