13 #ifndef QmitkFramesRegistrationJob_h
14 #define QmitkFramesRegistrationJob_h
21 #include <itkCommand.h>
29 #include <mapDeploymentDLLInfo.h>
30 #include <mapIterativeAlgorithmInterface.h>
31 #include <mapMultiResRegistrationAlgorithmInterface.h>
32 #include <mapRegistrationAlgorithmBase.h>
33 #include <mapRegistrationBase.h>
122 void LevelChanged(QString info,
bool hasLevelCount,
unsigned long currentLevel);
177 typedef map::algorithm::facet::IterativeAlgorithmInterface IIterativeAlgorithm;
178 typedef map::algorithm::facet::MultiResRegistrationAlgorithmInterface IMultiResAlgorithm;
180 mitk::Image::Pointer m_spMappedImageNode;
182 ::itk::MemberCommand<QmitkFramesRegistrationJob>::Pointer m_spCommand;
183 unsigned long m_ObserverID;
184 map::algorithm::RegistrationAlgorithmBase::Pointer m_spLoadedAlgorithm;
186 mitk::TimeFramesRegistrationHelper::Pointer m_helper;
191 void OnMapAlgorithmEvent(::itk::Object *,
const itk::EventObject &event);
#define MITKMATCHPOINTREGISTRATIONUI_EXPORT
QRunnable job that performs frame-by-frame registration of a 4D image in a background thread.
const map::algorithm::RegistrationAlgorithmBase * GetLoadedAlgorithm() const
Returns the registration algorithm used by this job.
void AlgorithmInfo(QString info)
Emitted for general algorithm information messages.
mitk::Image::ConstPointer m_spTargetMask
Optional mask image applied to the target during registration.
mitk::TimeFramesRegistrationHelper::IgnoreListType m_IgnoreList
List of time frame indices to exclude from registration.
mitk::NodeUIDType m_TargetMaskDataUID
UID of the target mask data node for provenance tracking.
QmitkFramesRegistrationJob(map::algorithm::RegistrationAlgorithmBase *pAlgorithm)
Constructs the frames registration job with the given algorithm.
void AlgorithmIterated(QString info, bool hasIterationCount, unsigned long currentIteration)
Emitted when the algorithm completes an iteration.
void FrameProcessed(double progress)
Emitted during frame processing with overall progress.
void FrameMapped(double progress)
Emitted when a single frame has been mapped.
void AlgorithmStatusChanged(QString info)
Emitted when the algorithm status changes (e.g., initializing, starting, stopping).
void ResultIsAvailable(mitk::Image::Pointer spResult, const QmitkFramesRegistrationJob *pJob)
Emitted when the registered result image is available.
void Finished()
Emitted when the job has completed (regardless of success or failure).
void Error(QString err)
Emitted when an error occurs during registration.
mitk::NodeUIDType m_TargetDataUID
UID of the target data node for provenance tracking.
void FrameRegistered(double progress)
Emitted when a single frame has been registered.
~QmitkFramesRegistrationJob() override
Destructor. Removes the algorithm event observer.
void LevelChanged(QString info, bool hasLevelCount, unsigned long currentLevel)
Emitted when the algorithm changes its multi-resolution level.
void run() override
Executes the frame-by-frame registration and mapping.
mitk::BaseData::ConstPointer m_spTargetData
The 4D target image data to be registered frame-by-frame.
Image class for storing multi-dimensional medical image data.
std::vector< mitk::TimeStepType > IgnoreListType
std::string NodeUIDType
Type alias for node/data UID strings.
Settings structure controlling the behavior of a mapping (image/point set transformation) job.