File cameraInterface.h
File List > src > cameraInterface.h
Go to the documentation of this file
/*******************************************************
* Author: Intelligent Medical Systems
* License: see LICENSE.md file
*******************************************************/
#ifndef CAMERA_INTERFACE_H
#define CAMERA_INTERFACE_H
#include <xiApi.h>
#include <QtCore>
#include <boost/asio/io_service.hpp>
#include <boost/scoped_ptr.hpp>
#include "camera.h"
#include "constants.h"
#include "imageContainer.h"
#include "xiAPIWrapper.h"
class CameraInterface : public QObject
{
Q_OBJECT
public:
CameraInterface() : m_cameraHandle(INVALID_HANDLE_VALUE){};
void Initialize(const std::shared_ptr<XiAPIWrapper> &apiWrapper);
std::shared_ptr<XiAPIWrapper> m_apiWrapper;
~CameraInterface();
void SetCamera(const QString &cameraType, const QString &cameraFamily);
int OpenDevice(DWORD cameraDeviceID);
void StartAcquisition(QString cameraIdentifier);
int StopAcquisition() const;
void CloseDevice();
void SetCameraProperties(const QString &cameraModel);
void SetCameraIndex(int index);
QMap<QString, float> m_cameraTemperature = {
{CHIP_TEMP, 0.},
{HOUSE_TEMP, 0.},
{HOUSE_BACK_TEMP, 0.},
{SENSOR_BOARD_TEMP, 0.},
};
HANDLE GetHandle() const;
QMap<QString, DWORD> m_availableCameras;
QStringList GetAvailableCameraIdentifiers();
QString GetCameraIdentifier(HANDLE cameraHandle) const;
QString m_cameraIdentifier;
QString m_cameraSN;
QString m_cameraType;
int m_cameraIndex;
std::unique_ptr<Camera> m_camera;
std::unique_ptr<CameraFamily> m_cameraFamily;
QString m_cameraFamilyName;
HANDLE m_cameraHandle;
};
#endif // CAMERA_INTERFACE_H