13 #ifndef QmitkDataGeneratorBase_h
14 #define QmitkDataGeneratorBase_h
112 using InputPairVectorType = std::vector<std::pair<mitk::DataNode::ConstPointer, mitk::DataNode::ConstPointer>>;
154 bool m_AutoUpdate =
false;
164 mutable bool m_InGenerate =
false;
166 mutable bool m_RestartGeneration =
false;
168 mutable bool m_WIP =
false;
170 mutable bool m_AddingToStorage =
false;
175 unsigned long m_DataStorageDeletedTag;
#define MITKIMAGESTATISTICSUI_EXPORT
QmitkDataGenerationJobBase Base class for generation jobs used by QmitkDataGenerationBase and derived...
std::map< std::string, mitk::BaseData::Pointer > ResultMapType
QmitkDataGeneratorBase BaseClass that implements the organization of (statistic) data generation for ...
mitk::WeakPointer< mitk::DataStorage > m_Storage
virtual bool ChangedNodeIsRelevant(const mitk::DataNode *changedNode) const =0
void NewDataAvailable(mitk::DataStorage::SetOfObjects::ConstPointer data) const
Signal that is emitted if new final data is produced.
itk::TimeStamp m_GenerationTime
void SetAutoUpdate(bool autoUpdate)
QmitkDataGenerationJobBase::ResultMapType JobResultMapType
QmitkDataGeneratorBase(QObject *parent=nullptr)
std::string GetPairDescription(const InputPairVectorType::value_type &imageAndSeg) const
mitk::DataStorage::Pointer GetDataStorage() const
virtual ~QmitkDataGeneratorBase()
virtual mitk::DataNode::Pointer PrepareResultForStorage(const std::string &label, mitk::BaseData *result, const QmitkDataGenerationJobBase *job) const =0
virtual bool IsValidResultAvailable(const mitk::DataNode *imageNode, const mitk::DataNode *roiNode) const =0
void OnFinalResultsAvailable(JobResultMapType results, const QmitkDataGenerationJobBase *job) const
bool IsGenerating() const
void GenerationFinished() const
Signal that is emitted if all jobs are finished and everything is up to date.
void JobError(QString error, const QmitkDataGenerationJobBase *failedJob) const
Signal that is emitted in case of job errors.
void EnsureRecheckingAndGeneration() const
virtual void RemoveObsoleteDataNodes(const mitk::DataNode *imageNode, const mitk::DataNode *roiNode) const =0
virtual void IndicateFutureResults(const mitk::DataNode *imageNode, const mitk::DataNode *roiNode) const =0
void DataGenerationStarted(const mitk::DataNode *imageNode, const mitk::DataNode *roiNode, const QmitkDataGenerationJobBase *job) const
Signal that is emitted if a data generation job is started to generate outdated/inexistent data.
QmitkDataGeneratorBase(const QmitkDataGeneratorBase &other)=delete
InputPairVectorType FilterImageROICombinations(InputPairVectorType &&imageROICombinations) const
bool GetAutoUpdate() const
void SetDataStorage(mitk::DataStorage *storage)
std::vector< std::pair< mitk::DataNode::ConstPointer, mitk::DataNode::ConstPointer > > InputPairVectorType
static mitk::DataNode::Pointer CreateWIPDataNode(mitk::BaseData *dataDummy, const std::string &nodeName)
QmitkDataGeneratorBase & operator=(const QmitkDataGeneratorBase &other)=delete
QmitkDataGeneratorBase(mitk::DataStorage::Pointer storage, QObject *parent=nullptr)
Constructor.
void OnJobError(QString error, const QmitkDataGenerationJobBase *failedJob) const
virtual std::pair< QmitkDataGenerationJobBase *, mitk::DataNode::Pointer > GetNextMissingGenerationJob(const mitk::DataNode *imageNode, const mitk::DataNode *roiNode) const =0
Is called to generate the next job instance that needs to be done and is associated dummy node in ord...
virtual InputPairVectorType GetAllImageROICombinations() const =0
Base of all data objects.
Class for nodes of the DataTree.
Data management class that handles 'was created by' relations.