1 #ifndef CTL_PROJECTIONPIPELINE_H 2 #define CTL_PROJECTIONPIPELINE_H 139 #endif // CTL_PROJECTIONPIPELINE_H void appendExtension(ExtensionPtr extension)
Definition: projectionpipeline.cpp:243
void setProjector(ProjectorPtr projector)
Definition: projectionpipeline.cpp:279
ExtensionPtr _finalProjector
The fully-assembled projector (incl. all extensions).
Definition: projectionpipeline.h:118
AbstractProjector * _projector
Pointer to the actual projector object.
Definition: projectionpipeline.h:119
std::unique_ptr< AbstractProjector > ProjectorPtr
Alias name for std::unique_ptr<AbstractProjector>.
Definition: projectionpipeline.h:83
The ProjectionPipeline class is a convenience class to manage a composition of a projector and additi...
Definition: projectionpipeline.h:74
ProjectionData project(const VolumeData &volume) override
Creates projection data from volume.
Definition: projectionpipeline.cpp:24
void removeExtension(uint pos)
Definition: projectionpipeline.cpp:268
Holds a CTSystem together with the information about the system settings for all views from which pro...
Definition: acquisitionsetup.h:175
void configure(const AcquisitionSetup &setup) override
Sets the acquisition setup for the simulation to setup.
Definition: projectionpipeline.cpp:13
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
ExtensionPtr takeExtension(uint pos)
Definition: projectionpipeline.cpp:233
ProjectorExtension * releaseExtension(uint pos)
Definition: projectionpipeline.cpp:205
bool isLinear() const override
Definition: projectionpipeline.cpp:54
std::vector< ProjectorExtension * > _extensions
(Ordered) list of pointers to all extensions.
Definition: projectionpipeline.h:117
The CompositeVolume class is a container to hold multiple volume datasets of any type from the CTL.
Definition: compositevolume.h:108
std::unique_ptr< ProjectorExtension > ExtensionPtr
Alias name for std::unique_ptr<ProjectorExtension>.
Definition: projectionpipeline.h:84
ProjectorExtension * extension(uint pos) const
Definition: projectionpipeline.cpp:292
#define CTL_TYPE_ID(newIndex)
Definition: serializationinterface.h:189
void stashExtensions(uint nbExt)
Definition: projectionpipeline.cpp:326
unsigned int uint
Qt style alias for unsigned int.
Definition: modulelayout.h:6
The SpectralVolumeData class holds voxelized data (for a single material) along with information on i...
Definition: spectralvolumedata.h:40
ProjectionData projectComposite(const CompositeVolume &volume) override
Creates projection data from the composite volume volume.
Definition: projectionpipeline.cpp:35
Helper class that can emit signals during calculations of a certain projector.
Definition: abstractprojector.h:53
AbstractProjector * projector() const
Definition: projectionpipeline.cpp:304
ProjectionData projectSparse(const SparseVoxelVolume &volume) override
Creates projection data from the sparse volume volume.
Definition: projectionpipeline.cpp:46
void restoreExtensions(uint nbExt)
Definition: projectionpipeline.cpp:343
uint nbExtensions() const
Definition: projectionpipeline.cpp:315
void fromVariant(const QVariant &variant) override
Sets the contents of the object based on the QVariant variant.
Definition: projectionpipeline.cpp:59
QVariant toVariant() const override
Stores the contents of this instance in a QVariant.
Definition: projectionpipeline.cpp:76
void insertExtension(uint pos, ExtensionPtr extension)
Definition: projectionpipeline.cpp:257
ProjectorNotifier * notifier() override
Returns a pointer to the notifier of the projector.
Definition: projectionpipeline.cpp:94
The ProjectorExtension class provides the interface to extend projectors with additional functionalit...
Definition: projectorextension.h:136