Line data Source code
1 : #include "PlanarHelixTrajectoryGenerator.h" 2 : #include "PlanarDetectorDescriptor.h" 3 : 4 : #include <optional> 5 : 6 : namespace elsa 7 : { 8 : std::unique_ptr<PlanarDetectorDescriptor> PlanarHelixTrajectoryGenerator::createTrajectory( 9 : const DataDescriptor& volumeDescriptor, std::vector<real_t> thetas, real_t pitch, 10 : real_t sourceToCenter, real_t centerToDetector, 11 : std::optional<RealVector_t> principalPointOffset, 12 : std::optional<RealVector_t> centerOfRotOffset, std::optional<IndexVector_t> detectorSize, 13 : std::optional<RealVector_t> detectorSpacing) 14 15 : { 15 15 : auto [coeffs, spacing, geometryList] = BaseHelixTrajectoryGenerator::createTrajectoryData( 16 15 : volumeDescriptor, thetas, pitch, sourceToCenter, centerToDetector, principalPointOffset, 17 15 : centerOfRotOffset, detectorSize, detectorSpacing); 18 : 19 15 : return std::make_unique<PlanarDetectorDescriptor>(std::move(coeffs), std::move(spacing), 20 15 : std::move(geometryList)); 21 15 : } 22 : } // namespace elsa