Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
QmitkImageAndRoiDataGeneratorBase.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 QmitkImageAndRoiDataGeneratorBase_h
14 #define QmitkImageAndRoiDataGeneratorBase_h
15 
16 #include <QmitkDataGeneratorBase.h>
18 
31 {
32 public:
35 
37  using ConstNodeVectorType = std::vector<mitk::DataNode::ConstPointer>;
39  using NodeVectorType = std::vector<mitk::DataNode::Pointer>;
40 
46 
52 
53 
54 public slots:
63  void SetImageNodes(const ConstNodeVectorType& imageNodes);
64 
69  void SetImageNodes(const NodeVectorType& imageNodes);
70 
79  void SetROINodes(const ConstNodeVectorType& roiNodes);
80 
85  void SetROINodes(const NodeVectorType& roiNodes);
86 
87 protected:
88  QmitkImageAndRoiDataGeneratorBase(mitk::DataStorage::Pointer storage, QObject* parent = nullptr) : QmitkDataGeneratorBase(storage, parent) {};
89  QmitkImageAndRoiDataGeneratorBase(QObject* parent = nullptr) : QmitkDataGeneratorBase(parent) {};
90 
92 
93  bool ChangedNodeIsRelevant(const mitk::DataNode *changedNode) const override;
95 
98 
101 };
102 
103 #endif
#define MITKIMAGESTATISTICSUI_EXPORT
Base class that orchestrates asynchronous data generation for image/ROI pairs.
QmitkDataGeneratorBase(const QmitkDataGeneratorBase &other)=delete
std::vector< std::pair< mitk::DataNode::ConstPointer, mitk::DataNode::ConstPointer > > InputPairVectorType
Vector of image/ROI node pairs used as input for generation.
QmitkDataGeneratorBase & operator=(const QmitkDataGeneratorBase &other)=delete
Base class for data generators that accept image and ROI nodes as vectors.
QmitkImageAndRoiDataGeneratorBase(const QmitkImageAndRoiDataGeneratorBase &)=delete
QmitkImageAndRoiDataGeneratorBase(mitk::DataStorage::Pointer storage, QObject *parent=nullptr)
bool ChangedNodeIsRelevant(const mitk::DataNode *changedNode) const override
Determines whether a changed data node is relevant and should trigger a regeneration.
void SetImageNodes(const ConstNodeVectorType &imageNodes)
Sets the image nodes for data generation.
ConstNodeVectorType GetROINodes() const
Returns the currently set ROI nodes.
void SetROINodes(const ConstNodeVectorType &roiNodes)
Sets the ROI nodes for data generation.
void SetImageNodes(const NodeVectorType &imageNodes)
Convenience overload accepting mutable node pointers.
InputPairVectorType GetAllImageROICombinations() const override
Returns all image/ROI pairs for which data generation is needed.
void SetROINodes(const NodeVectorType &roiNodes)
Convenience overload accepting mutable node pointers.
ConstNodeVectorType GetImageNodes() const
Returns the currently set image nodes.
std::vector< mitk::DataNode::Pointer > NodeVectorType
Vector of mutable data node pointers.
std::vector< mitk::DataNode::ConstPointer > ConstNodeVectorType
Vector of const data node pointers.
Central node class of the MITK data tree, associating a data object with properties and mappers.
Definition: mitkDataNode.h:72