Medical Imaging Interaction Toolkit  2025.08.99-f7084adb
Medical Imaging Interaction Toolkit
mitkSegChangeOperationApplier.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 mitkSegChangeOperationApplier_h
14 #define mitkSegChangeOperationApplier_h
15 
16 #include "mitkCommon.h"
17 #include <mitkOperationActor.h>
19 
20 namespace mitk
21 {
26  {
27  public:
29 
30 
31  static SegChangeOperationApplier *GetInstance();
32 
38  void ExecuteOperation(Operation *op) override;
39 
40  protected:
42 
43  ~SegChangeOperationApplier() override;
44  };
45 
46 
48 
50  {
51  public:
52 
53  using GroupIndexSetType = std::set<MultiLabelSegmentation::GroupIndexType>;
54 
57  const GroupIndexSetType& relevantGroupIDs, bool coverAllTimeSteps, TimeStepType timeStep = 0,
58  bool noLabels = false, bool noGroupImages = false, bool noNames = false);
59 
61 
62  void RegisterUndoRedoOperationEvent(const std::string& description);
63 
64  protected:
69  bool m_NoLabels;
71  bool m_NoNames;
72 
74  };
75 
77  {
78  public:
79 
80  using GroupIndexSetType = std::set<MultiLabelSegmentation::GroupIndexType>;
81 
84  const GroupIndexSetType& relevantGroupIDs, bool noLabels = false, bool noGroupImages = false);
85 
87 
88  void RegisterUndoRedoOperationEvent(const std::string& description);
89 
90  protected:
93  bool m_NoLabels;
95 
97  };
98 
100  {
101  public:
102 
103  using GroupIndexSetType = std::set<MultiLabelSegmentation::GroupIndexType>;
104 
107  const GroupIndexSetType& relevantGroupIDs, bool noLabels = false, bool noGroupImages = false);
108 
110 
111  void RegisterUndoRedoOperationEvent(const std::string& description);
112 
113  protected:
116 
117 
119  };
120 
122  {
123  public:
124 
127  const MultiLabelSegmentation::LabelValueVectorType& relevantLabels);
128 
130 
131  void RegisterUndoRedoOperationEvent(const std::string& description);
132 
133  protected:
136 
137 
139  };
140 }
141 #endif
mitk::SegGroupRemoveUndoRedoHelper::m_RelevantGroupIDs
GroupIndexSetType m_RelevantGroupIDs
Definition: mitkSegChangeOperationApplier.h:115
mitk::OperationActor
abstract class, that can be used by Undo to undo an operation.
Definition: mitkOperationActor.h:41
mitk::SegGroupRemoveUndoRedoHelper::m_Segmentation
MultiLabelSegmentation::Pointer m_Segmentation
Definition: mitkSegChangeOperationApplier.h:114
mitk::SegGroupModifyUndoRedoHelper::m_CoverAllTimeSteps
bool m_CoverAllTimeSteps
Definition: mitkSegChangeOperationApplier.h:67
mitk::SegGroupModifyUndoRedoHelper::m_NoNames
bool m_NoNames
Definition: mitkSegChangeOperationApplier.h:71
mitk::Operation
Base class of all Operation-classes.
Definition: mitkOperation.h:29
mitkOperationActor.h
mitk::SegGroupInsertUndoRedoHelper::m_Segmentation
MultiLabelSegmentation::Pointer m_Segmentation
Definition: mitkSegChangeOperationApplier.h:91
mitk::SegGroupInsertUndoRedoHelper::m_RelevantGroupIDs
GroupIndexSetType m_RelevantGroupIDs
Definition: mitkSegChangeOperationApplier.h:92
mitk::SegGroupModifyUndoRedoHelper::m_TimeStep
TimeStepType m_TimeStep
Definition: mitkSegChangeOperationApplier.h:68
mitk::SegGroupModifyUndoRedoHelper::m_RelevantGroupIDs
GroupIndexSetType m_RelevantGroupIDs
Definition: mitkSegChangeOperationApplier.h:66
itk::SmartPointer< Self >
mitk::SegGroupModifyUndoRedoHelper::m_UndoOperation
SegChangeOperationBase * m_UndoOperation
Definition: mitkSegChangeOperationApplier.h:73
mitk::SegChangeOperationApplier
Executes a all operations based on SegChangeOperationBase.
Definition: mitkSegChangeOperationApplier.h:25
mitk::SegGroupRemoveUndoRedoHelper::GroupIndexSetType
std::set< MultiLabelSegmentation::GroupIndexType > GroupIndexSetType
Definition: mitkSegChangeOperationApplier.h:103
mitk::SegGroupRemoveUndoRedoHelper::m_UndoOperation
SegChangeOperationBase * m_UndoOperation
Definition: mitkSegChangeOperationApplier.h:118
mitk::SegLabelPropModifyUndoRedoHelper::m_Segmentation
MultiLabelSegmentation::Pointer m_Segmentation
Definition: mitkSegChangeOperationApplier.h:134
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::MultiLabelSegmentation::LabelValueVectorType
std::vector< LabelValueType > LabelValueVectorType
Definition: mitkLabelSetImage.h:60
mitk::SegLabelPropModifyUndoRedoHelper
Definition: mitkSegChangeOperationApplier.h:121
mitk::SegGroupModifyUndoRedoHelper::GroupIndexSetType
std::set< MultiLabelSegmentation::GroupIndexType > GroupIndexSetType
Definition: mitkSegChangeOperationApplier.h:53
mitkClassMacroNoParent
#define mitkClassMacroNoParent(className)
Definition: mitkCommon.h:57
mitk::SegGroupInsertUndoRedoHelper
Definition: mitkSegChangeOperationApplier.h:76
mitk::SegLabelPropModifyUndoRedoHelper::m_UndoOperation
SegChangeOperationBase * m_UndoOperation
Definition: mitkSegChangeOperationApplier.h:138
mitk::MultiLabelSegmentation
MultiLabelSegmentation class for handling labels and layers in a segmentation session.
Definition: mitkLabelSetImage.h:43
mitkCommon.h
MITKSEGMENTATION_EXPORT
#define MITKSEGMENTATION_EXPORT
Definition: MitkSegmentationExports.h:15
mitk::SegGroupInsertUndoRedoHelper::m_NoGroupImages
bool m_NoGroupImages
Definition: mitkSegChangeOperationApplier.h:94
mitk::SegLabelPropModifyUndoRedoHelper::m_RelevantLabels
MultiLabelSegmentation::LabelValueVectorType m_RelevantLabels
Definition: mitkSegChangeOperationApplier.h:135
mitk::TimeStepType
std::size_t TimeStepType
Definition: mitkTimeGeometry.h:27
mitk::SegGroupModifyUndoRedoHelper::m_NoGroupImages
bool m_NoGroupImages
Definition: mitkSegChangeOperationApplier.h:70
mitk::SegGroupModifyUndoRedoHelper::m_NoLabels
bool m_NoLabels
Definition: mitkSegChangeOperationApplier.h:69
mitk::SegGroupModifyUndoRedoHelper
Definition: mitkSegChangeOperationApplier.h:49
MitkSegmentationExports.h
mitk::SegGroupRemoveUndoRedoHelper
Definition: mitkSegChangeOperationApplier.h:99
mitk::SegGroupInsertUndoRedoHelper::m_UndoOperation
SegChangeOperationBase * m_UndoOperation
Definition: mitkSegChangeOperationApplier.h:96
mitk::SegGroupInsertUndoRedoHelper::m_NoLabels
bool m_NoLabels
Definition: mitkSegChangeOperationApplier.h:93
mitk::SegGroupInsertUndoRedoHelper::GroupIndexSetType
std::set< MultiLabelSegmentation::GroupIndexType > GroupIndexSetType
Definition: mitkSegChangeOperationApplier.h:80
mitk::SegGroupModifyUndoRedoHelper::m_Segmentation
MultiLabelSegmentation::Pointer m_Segmentation
Definition: mitkSegChangeOperationApplier.h:65
mitk::SegChangeOperationBase
Base class for any operation based on a MultiLabelSegmentation instance.
Definition: mitkSegChangeOperationBase.h:38