46 lines
1.1 KiB
C++
46 lines
1.1 KiB
C++
#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
|