1 #ifndef CTL_STANDARDPIPELINE_H 2 #define CTL_STANDARDPIPELINE_H 9 class RayCasterProjector;
11 class ArealFocalSpotExtension;
12 class DetectorSaturationExtension;
13 class PoissonNoiseExtension;
14 class SpectralEffectsExtension;
126 void fromVariant(
const QVariant& variant)
override;
162 explicit Settings(Ext& ext) : _instance(ext) {}
163 Ext& extension()
const {
return _instance.get(); }
166 std::reference_wrapper<Ext> _instance;
172 void setInterpolation(
bool enabled);
173 void setRaysPerPixel(
const QSize& sampling);
174 void setRaySampling(
float sampling);
175 void setVolumeUpSampling(
uint upSamplingFactor);
178 using Settings::Settings;
181 } _settingsRayCaster;
186 void setDiscretization(
const QSize& discretization);
187 void enableLowExtinctionApproximation(
bool enable =
true);
190 using Settings::Settings;
198 void setSpectralSamples(
uint nbSamples);
201 using Settings::Settings;
209 void setFixedSeed(
uint seed);
210 void setRandomSeedMode();
211 void setParallelizationMode(
bool enabled);
214 using Settings::Settings;
222 void setSamplingResolution(
float energyBinWidth);
225 using Settings::Settings;
248 #endif // CTL_STANDARDPIPELINE_H The RayCasterProjector class is an implementation of a simple OpenCL-based ray casting projector that...
Definition: raycasterprojector.h:20
DetectorSaturationExtension * _extDetSat
Pointer to the DetectorSaturationExtension.
Definition: standardpipeline.h:146
SpectralEffectsExtension * _extSpectral
Pointer to the SpectralEffectsExtension.
Definition: standardpipeline.h:148
ApproximationPolicy _approxMode
approximation level for the simulation
Definition: standardpipeline.h:235
ProjectionData projectComposite(const CompositeVolume &volume) override
Creates projection data from the composite volume volume.
Definition: standardpipeline.cpp:137
Definition: standardpipeline.h:107
Definition: standardpipeline.h:183
The PoissonNoiseExtension class is an extension for forward projectors that adds Poisson-distributed ...
Definition: poissonnoiseextension.h:62
Definition: standardpipeline.h:219
The ProjectionPipeline class is a convenience class to manage a composition of a projector and additi...
Definition: projectionpipeline.h:74
ProjectorNotifier * notifier() override
Returns a pointer to the notifier of the projector.
Definition: standardpipeline.cpp:158
bool _detSatEnabled
enabled/disabled state variable for detector saturation
Definition: standardpipeline.h:237
ArealFocalSpotExtension * _extAFS
Pointer to the ArealFocalSpotExtension.
Definition: standardpipeline.h:145
The SpectralEffectsExtension class is an extension for forward projectors that provides functionality...
Definition: spectraleffectsextension.h:75
bool _poissonEnabled
enabled/disabled state variable for Poisson noise
Definition: standardpipeline.h:239
ApproximationPolicy
Definition: standardpipeline.h:104
The StandardPipeline class is a convenience class to work with a predefined processing pipeline for c...
Definition: standardpipeline.h:93
SettingsRayCaster & settingsRayCaster()
Definition: standardpipeline.cpp:401
StandardPipeline(ApproximationPolicy policy=StandardPipeline::Default_Approximation)
Definition: standardpipeline.cpp:18
Definition: standardpipeline.h:195
void enableDetectorSaturation(bool enable=true)
Definition: standardpipeline.cpp:230
bool isLinear() const override
Definition: standardpipeline.cpp:156
SettingsAFS & settingsArealFocalSpot()
Definition: standardpipeline.cpp:303
ProjectionData projectSparse(const SparseVoxelVolume &volume) override
Creates projection data from the sparse volume volume.
Definition: standardpipeline.cpp:148
ProjectionData project(const VolumeData &volume) override
Creates projection data from volume.
Definition: standardpipeline.cpp:126
Holds a CTSystem together with the information about the system settings for all views from which pro...
Definition: acquisitionsetup.h:175
The ProjectionData class is the container class used to store all projections from all views.
Definition: projectiondata.h:19
Definition: sparsevoxelvolume.h:14
The AbstractProjector class is the abstract base class defining the interfaces for forward projectors...
Definition: abstractprojector.h:68
Definition: standardpipeline.h:108
void configure(const AcquisitionSetup &setup) override
Sets the acquisition setup for the simulation to setup.
Definition: standardpipeline.cpp:118
uint posAFS() const
Definition: standardpipeline.cpp:414
The CompositeVolume class is a container to hold multiple volume datasets of any type from the CTL.
Definition: compositevolume.h:108
SettingsDetectorSaturation & settingsDetectorSaturation()
Definition: standardpipeline.cpp:325
OCL::RayCasterProjector * _projector
Pointer to the ray caster projector.
Definition: standardpipeline.h:144
SettingsSpectralEffects & settingsSpectralEffects()
Definition: standardpipeline.cpp:372
The ArealFocalSpotExtension class is an extension for forward projectors that considers the finite di...
Definition: arealfocalspotextension.h:65
Definition: standardpipeline.h:206
Definition: standardpipeline.h:106
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
uint posSpectral() const
Definition: standardpipeline.cpp:446
unsigned int uint
Qt style alias for unsigned int.
Definition: modulelayout.h:6
uint posDetSat() const
Definition: standardpipeline.cpp:423
PoissonNoiseExtension * _extPoisson
Pointer to the PoissonNoiseExtension.
Definition: standardpipeline.h:147
The SpectralVolumeData class holds voxelized data (for a single material) along with information on i...
Definition: spectralvolumedata.h:40
void enableSpectralEffects(bool enable=true)
Definition: standardpipeline.cpp:271
ProjectionPipeline _pipeline
The pipeline object; owns the projector and all extensions.
Definition: standardpipeline.h:142
QVariant toVariant() const override
Stores the contents of this instance in a QVariant.
Definition: standardpipeline.cpp:187
bool _spectralEffEnabled
enabled/disabled state variable for spectral effects
Definition: standardpipeline.h:238
Helper class that can emit signals during calculations of a certain projector.
Definition: abstractprojector.h:53
bool _arealFSEnabled
enabled/disabled state variable for areal focal spot
Definition: standardpipeline.h:236
SettingsPoissonNoise & settingsPoissonNoise()
Definition: standardpipeline.cpp:351
void enableArealFocalSpot(bool enable=true)
Definition: standardpipeline.cpp:210
uint posPoisson() const
Definition: standardpipeline.cpp:434
Definition: standardpipeline.h:151
void fromVariant(const QVariant &variant) override
Sets the contents of the object based on the QVariant variant.
Definition: standardpipeline.cpp:160
void enablePoissonNoise(bool enable=true)
Definition: standardpipeline.cpp:246
Definition: standardpipeline.h:169