ENLIGHTEN
Cross-platform desktop GUI for Wasatch Photonics spectrometers
Loading...
Searching...
No Matches
acquisitionworker.h
Go to the documentation of this file.
1
27
28#ifndef ACQUISITIONWORKER_H
29#define ACQUISITIONWORKER_H
30
31#include <peak/peak.hpp>
32#include <peak_ipl/peak_ipl.hpp>
33
34#include <QImage>
35#include <QObject>
36#include <atomic>
37
38class AcquisitionWorker : public QObject
39{
40 Q_OBJECT
41
42public:
43 explicit AcquisitionWorker(QObject* parent = nullptr);
44 ~AcquisitionWorker() override = default;
45
46 void Start();
47 void Stop();
48 void SetDataStream(std::shared_ptr<peak::core::DataStream> dataStream);
49
50private:
51 std::shared_ptr<peak::core::DataStream> m_dataStream;
52 std::shared_ptr<peak::core::NodeMap> m_nodemapRemoteDevice;
53
54 std::atomic<bool> m_running{true};
55
56 unsigned int m_frameCounter{0};
57 unsigned int m_errorCounter{0};
58
59 size_t m_imageWidth{0};
60 size_t m_imageHeight{0};
61
62 std::unique_ptr<peak::ipl::ImageConverter> m_imageConverter;
63
64signals:
65 void imageReceived(QImage image);
66 void counterChanged(unsigned int frameCounter, unsigned int errorCounter);
67};
68
69#endif // ACQUISITIONWORKER_H
Definition acquisitionworker.h:41
AcquisitionWorker(QObject *parent=nullptr)
void SetDataStream(std::shared_ptr< peak::core::DataStream > dataStream)
unsigned int m_frameCounter
Definition acquisitionworker.h:62
std::shared_ptr< peak::core::NodeMap > m_nodemapRemoteDevice
Definition acquisitionworker.h:57
size_t m_imageWidth
Definition acquisitionworker.h:65
void counterChanged(unsigned int frameCounter, unsigned int errorCounter)
std::shared_ptr< peak::core::DataStream > m_dataStream
Definition acquisitionworker.h:56
bool m_running
Definition acquisitionworker.h:60
unsigned int m_errorCounter
Definition acquisitionworker.h:63
size_t m_imageHeight
Definition acquisitionworker.h:66
void imageReceived(QImage image)
std::unique_ptr< peak::ipl::ImageConverter > m_imageConverter
Definition acquisitionworker.h:68
~AcquisitionWorker() override=default