CTL  0.6.1
Computed Tomography Library
preparationprotocols.h
1 #ifndef CTL_PREPARATIONPROTOCOLS_H
2 #define CTL_PREPARATIONPROTOCOLS_H
3 
4 // trajectories as special protocol are separated into "trajectories.h"
5 #include "trajectories.h"
6 
7 namespace CTL {
8 namespace protocols {
9 
11 {
12 public:
13  FlyingFocalSpot(std::vector<Vector3x1> positions, bool alternating = false);
14 
15  static FlyingFocalSpot twoAlternatingSpots(const Vector3x1& position1,
16  const Vector3x1& position2);
17  static FlyingFocalSpot fourAlternatingSpots(const Vector3x1& position1,
18  const Vector3x1& position2,
19  const Vector3x1& position3,
20  const Vector3x1& position4);
21 
22  std::vector<std::shared_ptr<AbstractPrepareStep>> prepareSteps(uint viewNb, const AcquisitionSetup& setup) const override;
23  bool isApplicableTo(const AcquisitionSetup& setup) const override;
24 
25 private:
26  FlyingFocalSpot() = default;
27 
28  std::vector<Vector3x1> _positions;
29  bool _alternating = false;
30 };
31 
33 {
34 public:
35  TubeCurrentModulation(std::vector<double> currents);
36 
37  std::vector<std::shared_ptr<AbstractPrepareStep>> prepareSteps(uint viewNb, const AcquisitionSetup& setup) const override;
38  bool isApplicableTo(const AcquisitionSetup& setup) const override;
39 
40 private:
41  std::vector<double> _currents;
42 };
43 
44 } // namespace protocols
45 } // namespace CTL
46 
47 #endif // CTL_PREPARATIONPROTOCOLS_H
Definition: preparationprotocols.h:10
Base class for entire preparation protocols (i.e. for multiple views) that can be used in combination...
Definition: abstractpreparestep.h:84
Definition: preparationprotocols.h:32
bool isApplicableTo(const AcquisitionSetup &setup) const override
Definition: preparationprotocols.cpp:90
bool isApplicableTo(const AcquisitionSetup &setup) const override
Definition: preparationprotocols.cpp:59
Holds a CTSystem together with the information about the system settings for all views from which pro...
Definition: acquisitionsetup.h:175
std::vector< std::shared_ptr< AbstractPrepareStep > > prepareSteps(uint viewNb, const AcquisitionSetup &setup) const override
Definition: preparationprotocols.cpp:75
unsigned int uint
Qt style alias for unsigned int.
Definition: modulelayout.h:6
This template class is an abstraction of a small matrix with a size known at compile time.
Definition: matrix.h:21
std::vector< std::shared_ptr< AbstractPrepareStep > > prepareSteps(uint viewNb, const AcquisitionSetup &setup) const override
Definition: preparationprotocols.cpp:42