CTL
0.6.1
Computed Tomography Library
|
Base class for entire preparation protocols (i.e. for multiple views) that can be used in combination with an AcquisitionSetup. More...
#include <abstractpreparestep.h>
Public Member Functions | |
virtual std::vector< std::shared_ptr< AbstractPrepareStep > > | prepareSteps (uint viewNb, const AcquisitionSetup &setup) const =0 |
virtual bool | isApplicableTo (const AcquisitionSetup &setup) const |
virtual | ~AbstractPreparationProtocol ()=default |
Protected Member Functions | |
AbstractPreparationProtocol (const AbstractPreparationProtocol &)=default | |
AbstractPreparationProtocol (AbstractPreparationProtocol &&)=default | |
AbstractPreparationProtocol & | operator= (const AbstractPreparationProtocol &)=default |
AbstractPreparationProtocol & | operator= (AbstractPreparationProtocol &&)=default |
Base class for entire preparation protocols (i.e. for multiple views) that can be used in combination with an AcquisitionSetup.
A preparation protocol holds the information about all necessary preparation steps for each view in an entire acquisition. Its abstract interface prepareSteps() can be interpreted as a factory method that constructs all prepare steps required for the preparation of a certain view in the desired protocol.
For convenience, AbstractPreparationProtocol can also provide a method to confirm its applicability to a given AcquisitionSetup - just as AbstractPrepareStep does for a given CTSystem. This should be reimplemented in sub-classes to cover all dependencies of the particular protocol.
|
virtualdefault |
Default (virtual) destructor.
|
inlinevirtual |
Returns true if this protocol can be used with setup.
Typically, this method will check whether the system used in setup contains all components that shall be prepared by this instance and whether the available information in this instance is compatible with the number of views specified in setup.
Reimplemented in CTL::protocols::TomosynthesisLinearTrajectory, CTL::protocols::TomosynthesisCrossTrajectory, CTL::protocols::TomosynthesisMultiArcTrajectory< 2 >, CTL::protocols::TomosynthesisMultiArcTrajectory< nbArcs >, CTL::protocols::TomosynthesisCircleTrajectory, CTL::protocols::AxialScanTrajectory, CTL::protocols::ShortScanTrajectory, CTL::protocols::CirclePlusLineTrajectory, CTL::protocols::WobbleTrajectory, CTL::protocols::TubeCurrentModulation, CTL::protocols::FlyingFocalSpot, and CTL::protocols::HelicalTrajectory.
|
pure virtual |
Returns a vector containing all preparation steps required to prepare the system in setup for acquisition of view viewNb.
Implemented in CTL::protocols::TomosynthesisLinearTrajectory, CTL::protocols::TomosynthesisCrossTrajectory, CTL::protocols::TomosynthesisMultiArcTrajectory< 2 >, CTL::protocols::TomosynthesisMultiArcTrajectory< nbArcs >, CTL::protocols::TomosynthesisCircleTrajectory, CTL::protocols::AxialScanTrajectory, CTL::protocols::ShortScanTrajectory, CTL::protocols::CirclePlusLineTrajectory, CTL::protocols::TubeCurrentModulation, CTL::protocols::WobbleTrajectory, CTL::protocols::FlyingFocalSpot, and CTL::protocols::HelicalTrajectory.