#ifndef _SPECTRAL_CAMERA_H #define _SPECTRAL_CAMERA_H #include "SI_sensor.h" #include "SI_errors.h" #include 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