CTL  0.6.1
Computed Tomography Library
geometryencoder.h
Go to the documentation of this file.
1 #ifndef CTL_GEOMETRYENCODER_H
2 #define CTL_GEOMETRYENCODER_H
3 
4 #include "acquisitionsetup.h"
5 #include "viewgeometry.h"
6 #include "mat/matrix_types.h"
7 
8 #include <QSize>
9 #include <QVector>
10 
11 namespace CTL {
12 
13 // typedefs
16 
57 {
58 public:
60 
61  void assignSystem(const SimpleCTSystem* system);
63  const SimpleCTSystem* system() const;
64  float effectivePixelArea(uint module) const;
65  std::vector<float> effectivePixelAreas() const;
67  Matrix3x3 finalModuleRotation(uint module) const;
69 
70  // static methods
72  static FullGeometry encodeSubsetGeometry(AcquisitionSetup setup,
73  const std::vector<uint>& viewIds);
75  static float effectivePixelArea(const SimpleCTSystem& system, uint module);
76  static std::vector<float> effectivePixelAreas(const SimpleCTSystem& system);
80 
81 private:
82  // methods
83  static Matrix3x3 intrinsicParameterMatrix(const Vector3x1CTS& principalPointDeviation,
84  const QSize& nbPixel,
85  const QSizeF& pixelSize,
86  double skewAngle);
87 
88  // member variables
90 };
91 
92 } // namespace CTL
93 
96 #endif // CTL_GEOMETRYENCODER_H
const SimpleCTSystem * system() const
Definition: geometryencoder.cpp:23
void assignSystem(const SimpleCTSystem *system)
Definition: geometryencoder.cpp:60
The GeometryEncoder class translates the system geometry into a corresponding set of projection matri...
Definition: geometryencoder.h:56
const SimpleCTSystem * _system
Pointer to system whose geometry shall be encoded.
Definition: geometryencoder.h:89
Holds a list of projection matrices corresponding to the detector modules of a single view.
Definition: viewgeometry.h:21
std::vector< float > effectivePixelAreas() const
Definition: geometryencoder.cpp:47
Vector3x1WCS finalSourcePosition() const
Definition: geometryencoder.cpp:202
Holds a CTSystem together with the information about the system settings for all views from which pro...
Definition: acquisitionsetup.h:175
float effectivePixelArea(uint module) const
Definition: geometryencoder.cpp:34
GeometryEncoder(const SimpleCTSystem *system)
Definition: geometryencoder.cpp:15
Holds a list of SingleViewGeometry instances to represent the acquisition geometry of a full CT scan.
Definition: viewgeometry.h:71
Vector3x1WCS finalModulePosition(uint module) const
Definition: geometryencoder.cpp:175
SingleViewGeometry encodeSingleViewGeometry() const
Definition: geometryencoder.cpp:68
Matrix3x3 finalModuleRotation(uint module) const
Definition: geometryencoder.cpp:188
unsigned int uint
Qt style alias for unsigned int.
Definition: modulelayout.h:6
static Matrix3x3 intrinsicParameterMatrix(const Vector3x1CTS &principalPointDeviation, const QSize &nbPixel, const QSizeF &pixelSize, double skewAngle)
Definition: geometryencoder.cpp:317
static FullGeometry encodeFullGeometry(AcquisitionSetup setup)
Definition: geometryencoder.cpp:83
The SimpleCTSystem class is a specialized sub-class of CTSystem for simple systems (i....
Definition: simplectsystem.h:95