STIR 6.4.0
MatchTrackerAndScanner.h
Go to the documentation of this file.
1//
2//
3/*
4 Copyright (C) 2003- 2010 , Hammersmith Imanet Ltd
5 For GE Internal use only
6*/
7
8#ifndef __stir_motion_MatchTrackerAndScanner_H__
9#define __stir_motion_MatchTrackerAndScanner_H__
22#include "stir/Succeeded.h"
23#include "stir/shared_ptr.h"
24#include "stir/ParsingObject.h"
26#include <string>
27
28START_NAMESPACE_STIR
89class MatchTrackerAndScanner : public ParsingObject
90{
91public:
92 MatchTrackerAndScanner(const char* const par_filename);
93
95
97 Succeeded run();
98
99 const TimeFrameDefinitions& get_time_frame_defs() const;
100
101 double get_frame_start_time(unsigned frame_num) const { return frame_defs.get_start_time(frame_num) + scan_start_time; }
102
103 double get_frame_end_time(unsigned frame_num) const { return frame_defs.get_end_time(frame_num) + scan_start_time; }
104
105 const std::string& get_image_filename_prefix() const { return _image_filename_prefix; }
106
107 const RigidObject3DMotion& get_motion() const { return *_ro3d_sptr; }
108
109 const RigidObject3DTransformation& get_transformation_from_scanner_coords() const
110 {
111 return _transformation_from_scanner_coords;
112 }
113
114protected:
115 // all of these really should be in a AbsTimeFrameDefinitions class or so
116 TimeFrameDefinitions frame_defs;
117 int scan_start_time_secs_since_1970_UTC;
118 double _current_frame_end_time;
119 double _current_frame_start_time;
120
122 void set_defaults() override;
123 void initialise_keymap() override;
124 bool post_processing() override;
125
128
129 double scan_start_time;
130
131 std::string _image_filename_prefix;
132
133 float relative_threshold;
134
135private:
136 shared_ptr<RigidObject3DMotion> _ro3d_sptr;
137
138 // will be set to new value
139 RigidObject3DTransformation _transformation_from_scanner_coords;
140};
141
142END_NAMESPACE_STIR
143
144#endif
Declaration of class stir::ParsingObject.
Declaration of class stir::RigidObject3DMotion.
Declaration of class stir::RigidObject3DTransformation.
Declaration of class stir::Succeeded.
Declaration of class stir::TimeFrameDefinitions.
void initialise_keymap() override
Initialise all keywords.
Definition MatchTrackerAndScanner.cxx:50
std::string frame_definition_filename
parsing variables
Definition MatchTrackerAndScanner.h:127
bool post_processing() override
This will be called at the end of the parsing.
Definition MatchTrackerAndScanner.cxx:76
Succeeded run()
finds the match when all parameters have been set
Definition MatchTrackerAndScanner.cxx:138
void set_defaults() override
parsing functions
Definition MatchTrackerAndScanner.cxx:42
Base class for 3D rigid motion.
Definition RigidObject3DMotion.h:47
Class to perform rigid object transformations in 3 dimensions.
Definition RigidObject3DTransformation.h:66
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44
Class used for storing time frame durations.
Definition TimeFrameDefinitions.h:39
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...