Files
HPPA/HPPA/JinspFiberImager.h
tangchao0503 e326dcb20c add:
山地所贡嘎山3:
2026-07-08 10:54:22 +08:00

69 lines
1.7 KiB
C++

//
// Created by 73505 on 2023/5/7.
//
#pragma once
#include <qthread.h>
//#include <QFileDialog>
#include <QDateTime>
#include <QTimer>
#include <iostream>
#include <fstream>
#include "JinspSpectralmeterControl.h"
#include "FiberSpectrometerOperationBase.h"
#include "utility_tc.h"
#include "AppSettings.h"
class JinspFiberImager :public QObject,public FiberSpectrometerOperationBase
{
Q_OBJECT
public:
JinspFiberImager(bool bIsUSBMode, std::string ucPortNumber, std::string strDeviceName);
~JinspFiberImager();
JinspSpectralmeterControl* m_FiberSpectrometer;
void connectFiberSpectrometer(QString& sn, QString& pixelCount, QString& wavelengthInfo);
void disconnectFiberSpectrometer();
void getDeviceAttribute(DeviceAttribute& deviceAttribute);
void getDeviceInfo(DeviceInfo& deviceInfo);
void setExposureTime(int iExposureTimeInMS);
void getExposureTime(int &iExposureTimeInMS);//ok
void getDeviceTemperature(float &fTemperature);//ok
void singleShot(DataFrame &dfData);
void getNonlinearityCoeffs(coeffsFrame &coeffs);
ZZ_S32 GetMaxValue(ZZ_S32 * dark, int number);
bool getRecordStatus() const { return m_record; }
void setCaptureInterval(int captureIntervalSeconds);
// DataFrame m_IntegratingSphereData;
// DataFrame m_DarkData;
protected:
private:
std::string mUcPortNumber;
bool m_record;
int m_captureIntervalMilliseconds;
// ZZ_U32 m_MaxValueOfFiberSpectrometer;
public slots:
void recordDark(QString path);
void recordTarget(int recordTimes, QString path);
void autoExpose();
void OpenFiberImagerAndRecord();
signals:
void sendExposureTimeSignal(int exposureTime);
void spectalCaptured(DeviceAttribute attribute, DataFrame dataFrame);
};