File imageContainer.h
File List > src > imageContainer.h
Go to the documentation of this file
/*******************************************************
* Author: Intelligent Medical Systems
* License: see LICENSE.md file
*******************************************************/
#ifndef IMAGE_CONTAINER_H
#define IMAGE_CONTAINER_H
#include <xiApi.h>
#include <QObject>
#include <boost/thread.hpp>
#include "util.h"
#include "xiAPIWrapper.h"
class ImageContainer : public QObject
{
Q_OBJECT
public:
std::unique_ptr<FileImage> m_imageFile;
std::shared_ptr<XiAPIWrapper> m_apiWrapper;
ImageContainer();
void Initialize(const std::shared_ptr<XiAPIWrapper> &apiWrapper);
void InitializeFile(const char *filePath);
void CloseFile();
~ImageContainer() override;
void PollImage(const HANDLE *cameraHandle, int pollingRate);
XI_IMG GetCurrentImage();
void StopPolling();
void StartPolling();
bool m_PollImage;
signals:
void NewImage();
private:
XI_IMG m_Image{};
boost::mutex m_mutexImageAccess;
};
#endif // IMAGE_CONTAINER_H