1 #ifndef CTL_RADIATIONENCODER_H 2 #define CTL_RADIATIONENCODER_H 4 #include "acquisitionsetup.h" 6 #include "models/intervaldataseries.h" 11 class SpectralInformation;
44 std::vector<double> intensities;
45 std::vector<double> adjustedFluxMods;
49 uint nbEnergyBins()
const;
50 float binWidth()
const;
52 const std::vector<double>& totalIntensity()
const;
54 float highestReso()
const;
56 void reserveMemory(
uint nbBins,
uint nbViews);
60 std::vector<BinInformation> _bins;
61 std::vector<double> _totalIntensities;
62 Range<float> _fullCoverage = { std::numeric_limits<float>::max(), 0.0f };
63 float _bestReso = std::numeric_limits<float>::max();
65 void extractViewSpectrum(
const RadiationEncoder* encoder,
uint viewIdx);
67 friend class RadiationEncoder;
72 #endif // CTL_RADIATIONENCODER_H float detectiveQuantumEfficiency() const
Definition: radiationencoder.cpp:122
void assignSystem(const SimpleCTSystem *system)
Definition: radiationencoder.cpp:20
Definition: radiationencoder.h:13
Holds a CTSystem together with the information about the system settings for all views from which pro...
Definition: acquisitionsetup.h:175
std::vector< float > photonsPerPixel() const
Definition: radiationencoder.cpp:101
double finalPhotonFlux() const
Definition: radiationencoder.cpp:64
The IntervalDataSeries class is a container for a series of values sampled in equidistant steps (i....
Definition: intervaldataseries.h:65
float detectiveMeanEnergy() const
Definition: radiationencoder.cpp:139
float photonsPerPixelMean() const
Definition: radiationencoder.cpp:82
const SimpleCTSystem * _system
Pointer to system whose radiation shall be encoded.
Definition: radiationencoder.h:36
unsigned int uint
Qt style alias for unsigned int.
Definition: modulelayout.h:6
The SimpleCTSystem class is a specialized sub-class of CTSystem for simple systems (i....
Definition: simplectsystem.h:95
IntervalDataSeries finalSpectrum(uint nbSamples) const
Definition: radiationencoder.cpp:32