#ifndef SCANCONVERSION_H #define SCANCONVERSION_H #include #include #include "model/processor/IProcessStrategy.h" #include "utils/OpenCLHelper.h" typedef struct ScanConversion_t { cl_int width; cl_int gridXSize; cl_int gridZSize; }ScanConversion_t; class ScanConversion : public IProcessStrategy { Q_OBJECT public: Q_INVOKABLE ScanConversion(const Context context, const QString kernelPath, const QObject* parent); virtual void cpuProcess(ScenGenOutput_t parameters) override; virtual void finalize() override; private: KernelFunctor _kernelFunctor; virtual Image* processKernel(Image *frames, Buffer* scrathPad) override; ScanConversion_t _kernelParameters; quint64 _width; quint64 _height; myflt* _gridPixelXPos; myflt* _gridPixelZPos; myflt* _gridPixelR; myflt* _gridPixelTheta; myflt* _scanXPos; myflt* _scanZPos; Buffer* _gridX; Buffer* _gridZ; Buffer* _queryX; Buffer* _queryZ; }; #endif // SCANCONVERSION_H