SEMS-data-collection/include/spectral_camera.h

46 lines
1.1 KiB
C
Raw Normal View History

2024-09-11 17:14:49 +08:00
#ifndef _SPECTRAL_CAMERA_H
#define _SPECTRAL_CAMERA_H
#include "SI_sensor.h"
#include "SI_errors.h"
#include <fstream>
class SpectralCamera
{
public:
SpectralCamera();
~SpectralCamera();
void listDevices(void);
int init(int deviceTypeIndex, double FrameRate, double ExposureTime, int BinningSpatial, int BinningSpectral, bool BinningAverage, long long RingBufferSize);
int read(void);
void close(void);
int reset_ExposureTime( double Value);
int reset_FrameRate( double Value);
int start(void);
int stop(void);
void save(std::ofstream &h_raw_spectral_file, std::ofstream &h_header_file);
int deviceTypeIndex;
SI_WC deviceName[4096];
double FrameRate;
double ExposureTime;
int BinningSpatial;
int BinningSpectral;
bool BinningAverage;
SI_U8 *pFrameBuffer = 0;
SI_64 nBufferSize = 0;
SI_64 nFrameSize = 0;
SI_64 nFrameNumber = 0;
SI_64 nHeight = 0;
SI_64 nWidth = 0;
int nWavelengthCount = 0;
double *pWavelengths = NULL;
double dTemperature = 0.0;
long long RingBufferSize;
private:
SI_H deviceHandle;
};
#endif