You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

46 lines
1.1 KiB

#ifndef SCANCONVERSION_H
#define SCANCONVERSION_H
#include <QObject>
#include <QMetaType>
#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<Image2D, Image2D, Buffer, Buffer, Buffer, Buffer, ScanConversion_t> _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