CTL  0.6.1
Computed Tomography Library
detectorsaturationextension.h
1 #ifndef CTL_DETECTORSATURATIONEXTENSION_H
2 #define CTL_DETECTORSATURATIONEXTENSION_H
3 
4 #include "acquisition/acquisitionsetup.h"
5 #include "projectorextension.h"
6 
7 namespace CTL {
8 
58 {
60 
61  // abstract interface
62  public: void configure(const AcquisitionSetup& setup) override;
63 
64 public:
65  DetectorSaturationExtension() = default;
67  explicit DetectorSaturationExtension(uint nbSpectralSamples);
68 
69  // ProjectorExtension interface
70  bool isLinear() const override;
71  void setIntensitySampling(uint nbSamples);
72 
73  // SerializationInterface interface
74  QVariant toVariant() const override;
75  QVariant parameter() const override;
76  void setParameter(const QVariant& parameter) override;
77 
78 protected:
79  ProjectionData extendedProject(const MetaProjector& nestedProjector) override;
80 
81 private:
82  void processCounts(ProjectionData& projections);
83  void processExtinctions(ProjectionData& projections);
84  void processIntensities(ProjectionData& projections);
85 
87  uint _nbSamples{ 0u };
88 };
89 
90 } // namespace CTL
91 
92 #endif // CTL_DETECTORSATURATIONEXTENSION_H
void processExtinctions(ProjectionData &projections)
Definition: detectorsaturationextension.cpp:161
void configure(const AcquisitionSetup &setup) override
Configures the projector.
Definition: detectorsaturationextension.cpp:13
uint _nbSamples
Number of samples used to extract spectrally resolved information.
Definition: detectorsaturationextension.h:87
void processCounts(ProjectionData &projections)
Definition: detectorsaturationextension.cpp:124
bool isLinear() const override
Definition: detectorsaturationextension.cpp:32
Holds a CTSystem together with the information about the system settings for all views from which pro...
Definition: acquisitionsetup.h:175
QVariant toVariant() const override
Stores the contents of this instance in a QVariant.
Definition: detectorsaturationextension.cpp:46
The ProjectionData class is the container class used to store all projections from all views.
Definition: projectiondata.h:19
Definition: projectorextension.h:173
void setParameter(const QVariant &parameter) override
Sets the parameters of this instance based on the passed QVariant parameter. Parameters need to follo...
Definition: detectorsaturationextension.cpp:74
void setIntensitySampling(uint nbSamples)
Definition: detectorsaturationextension.cpp:43
The DetectorSaturationExtension class is an extension for forward projectors that considers over- and...
Definition: detectorsaturationextension.h:57
#define CTL_TYPE_ID(newIndex)
Definition: serializationinterface.h:189
unsigned int uint
Qt style alias for unsigned int.
Definition: modulelayout.h:6
ProjectionData extendedProject(const MetaProjector &nestedProjector) override
Definition: detectorsaturationextension.cpp:88
void processIntensities(ProjectionData &projections)
Definition: detectorsaturationextension.cpp:188
QVariant parameter() const override
Definition: detectorsaturationextension.cpp:64
AcquisitionSetup _setup
A copy of the acquisition setup.
Definition: detectorsaturationextension.h:86
The ProjectorExtension class provides the interface to extend projectors with additional functionalit...
Definition: projectorextension.h:136