Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
ParameterFitBackgroundJob Class Reference

QRunnable-based background job for executing a parameter fit image generation. More...

#include <QmitkParameterFitBackgroundJob.h>

Inheritance diagram for ParameterFitBackgroundJob:
Collaboration diagram for ParameterFitBackgroundJob:

Signals

void Finished ()
 Emitted when the job has completed (regardless of success or failure). More...
 
void Error (QString err)
 Emitted when an error occurs during fitting. More...
 
void ResultsAreAvailable (mitk::modelFit::ModelFitResultNodeVectorType resultMap, const ParameterFitBackgroundJob *pJob)
 Emitted when the fit results are available. More...
 
void JobProgress (double progress)
 Emitted to report the progress of the fitting process. More...
 
void JobStatusChanged (QString info)
 Emitted to report status changes during the fitting process. More...
 

Public Member Functions

 ParameterFitBackgroundJob (mitk::ParameterFitImageGeneratorBase *generator, const mitk::modelFit::ModelFitInfo *fitInfo, mitk::DataNode *parentNode=nullptr)
 Constructs a ParameterFitBackgroundJob. More...
 
 ParameterFitBackgroundJob (mitk::ParameterFitImageGeneratorBase *generator, const mitk::modelFit::ModelFitInfo *fitInfo, mitk::DataNode *parentNode, mitk::modelFit::ModelFitResultNodeVectorType additionalRelevantNodes)
 Constructs a ParameterFitBackgroundJob with additional relevant nodes. More...
 
 ~ParameterFitBackgroundJob () override
 Destructor. Removes the ITK observer from the generator. More...
 
void run () override
 Executes the fitting process. More...
 
mitk::DataNode * GetParentNode () const
 Returns the parent data node for result storage. More...
 
mitk::modelFit::ModelFitResultNodeVectorType GetAdditionalRelevantNodes () const
 Returns the additional relevant data nodes. More...
 

Protected Member Functions

void OnFitEvent (::itk::Object *, const itk::EventObject &event)
 

Protected Attributes

mitk::ParameterFitImageGeneratorBase::Pointer m_Generator
 
mitk::modelFit::ModelFitInfo::ConstPointer m_ModelFitInfo
 
mitk::DataNode::Pointer m_ParentNode
 
mitk::modelFit::ModelFitResultNodeVectorType m_AdditionalRelevantNodes
 
mitk::modelFit::ModelFitResultNodeVectorType m_Results
 
::itk::MemberCommand< ParameterFitBackgroundJob >::Pointer m_spCommand
 
unsigned long m_ObserverID
 

Detailed Description

QRunnable-based background job for executing a parameter fit image generation.

This class wraps a mitk::ParameterFitImageGeneratorBase and runs the fitting process asynchronously in a thread pool. It observes ITK progress, start, and end events from the generator and relays them as Qt signals. Upon completion, the generated result nodes (parameter images, derived parameter images, criterion images, and evaluation parameter images) are made available via the ResultsAreAvailable signal.

See also
mitk::ParameterFitImageGeneratorBase
mitk::modelFit::ModelFitInfo
mitk::modelFit::CreateResultNodeMap

Definition at line 47 of file QmitkParameterFitBackgroundJob.h.

Constructor & Destructor Documentation

◆ ParameterFitBackgroundJob() [1/2]

ParameterFitBackgroundJob::ParameterFitBackgroundJob ( mitk::ParameterFitImageGeneratorBase *  generator,
const mitk::modelFit::ModelFitInfo *  fitInfo,
mitk::DataNode *  parentNode = nullptr 
)

Constructs a ParameterFitBackgroundJob.

Parameters
[in]generatorPointer to the fit image generator to execute. Must not be nullptr.
[in]fitInfoPointer to the model fit information. Must not be nullptr.
[in]parentNodeOptional parent data node for the result nodes. May be nullptr.
Exceptions
mitk::Exceptionif generator or fitInfo is nullptr.

◆ ParameterFitBackgroundJob() [2/2]

ParameterFitBackgroundJob::ParameterFitBackgroundJob ( mitk::ParameterFitImageGeneratorBase *  generator,
const mitk::modelFit::ModelFitInfo *  fitInfo,
mitk::DataNode *  parentNode,
mitk::modelFit::ModelFitResultNodeVectorType  additionalRelevantNodes 
)

Constructs a ParameterFitBackgroundJob with additional relevant nodes.

Parameters
[in]generatorPointer to the fit image generator to execute. Must not be nullptr.
[in]fitInfoPointer to the model fit information. Must not be nullptr.
[in]parentNodeOptional parent data node for the result nodes. May be nullptr.
[in]additionalRelevantNodesAdditional data nodes that are relevant for the fit session (e.g., input data nodes).
Exceptions
mitk::Exceptionif generator or fitInfo is nullptr.

◆ ~ParameterFitBackgroundJob()

ParameterFitBackgroundJob::~ParameterFitBackgroundJob ( )
override

Destructor. Removes the ITK observer from the generator.

Member Function Documentation

◆ Error

void ParameterFitBackgroundJob::Error ( QString  err)
signal

Emitted when an error occurs during fitting.

Parameters
[in]errDescription of the error.

◆ Finished

void ParameterFitBackgroundJob::Finished ( )
signal

Emitted when the job has completed (regardless of success or failure).

◆ GetAdditionalRelevantNodes()

mitk::modelFit::ModelFitResultNodeVectorType ParameterFitBackgroundJob::GetAdditionalRelevantNodes ( ) const

Returns the additional relevant data nodes.

Returns
Vector of additional data nodes associated with this job.

◆ GetParentNode()

mitk::DataNode* ParameterFitBackgroundJob::GetParentNode ( ) const

Returns the parent data node for result storage.

Returns
Pointer to the parent node, or nullptr if none was specified.

◆ JobProgress

void ParameterFitBackgroundJob::JobProgress ( double  progress)
signal

Emitted to report the progress of the fitting process.

Parameters
[in]progressThe current progress value (0.0 to 1.0).

◆ JobStatusChanged

void ParameterFitBackgroundJob::JobStatusChanged ( QString  info)
signal

Emitted to report status changes during the fitting process.

Parameters
[in]infoA human-readable status message.

◆ OnFitEvent()

void ParameterFitBackgroundJob::OnFitEvent ( ::itk::Object *  ,
const itk::EventObject &  event 
)
protected

◆ ResultsAreAvailable

void ParameterFitBackgroundJob::ResultsAreAvailable ( mitk::modelFit::ModelFitResultNodeVectorType  resultMap,
const ParameterFitBackgroundJob *  pJob 
)
signal

Emitted when the fit results are available.

Parameters
[in]resultMapVector of data nodes containing the generated result images.
[in]pJobPointer to this job instance for identification.

◆ run()

void ParameterFitBackgroundJob::run ( )
override

Executes the fitting process.

Calls Generate() on the fit image generator, then creates result nodes from the generated images. Emits ResultsAreAvailable on success, or Error on failure. Always emits Finished at the end.

Member Data Documentation

◆ m_AdditionalRelevantNodes

mitk::modelFit::ModelFitResultNodeVectorType ParameterFitBackgroundJob::m_AdditionalRelevantNodes
protected

Definition at line 132 of file QmitkParameterFitBackgroundJob.h.

◆ m_Generator

mitk::ParameterFitImageGeneratorBase::Pointer ParameterFitBackgroundJob::m_Generator
protected

Definition at line 129 of file QmitkParameterFitBackgroundJob.h.

◆ m_ModelFitInfo

mitk::modelFit::ModelFitInfo::ConstPointer ParameterFitBackgroundJob::m_ModelFitInfo
protected

Definition at line 130 of file QmitkParameterFitBackgroundJob.h.

◆ m_ObserverID

unsigned long ParameterFitBackgroundJob::m_ObserverID
protected

Definition at line 138 of file QmitkParameterFitBackgroundJob.h.

◆ m_ParentNode

mitk::DataNode::Pointer ParameterFitBackgroundJob::m_ParentNode
protected

Definition at line 131 of file QmitkParameterFitBackgroundJob.h.

◆ m_Results

mitk::modelFit::ModelFitResultNodeVectorType ParameterFitBackgroundJob::m_Results
protected

Definition at line 135 of file QmitkParameterFitBackgroundJob.h.

◆ m_spCommand

::itk::MemberCommand<ParameterFitBackgroundJob>::Pointer ParameterFitBackgroundJob::m_spCommand
protected

Definition at line 137 of file QmitkParameterFitBackgroundJob.h.


The documentation for this class was generated from the following file: