Files
TOPIRRCaculet/IrisFODIS_CalibrationToolDlg.h
2022-05-18 09:36:31 +08:00

96 lines
2.2 KiB
C++

// IrisFODIS_CalibrationToolDlg.h: 头文件
//
#pragma once
#include <vector>
#include "CDlgInform.h"
typedef struct tagFODISCALDATAFRAME
{
int iExposureTime;
int iPixels;
double dTemperature;
float pfWaveLength[2048];
double pdGain[2048];
double pdOffset[2048];
}FPODISCalData;
typedef struct tagCalibrationFrame
{
UINT uiExposureTimeInMS;
float fTemperature;
int iPixels;
float fWaveLength[4096] = { 0 };
double dCal_Gain[4096] = { 0 };
double dCal_Offset[4096] = { 0 };
}CalFrame;
typedef struct tagDataFrame
{
UINT usExposureTimeInMS;
int lData[4096];
float fTemperature = 0;
double dTimes = 0;
}DataFrame;
typedef struct tagCalDataFrame
{
USHORT usExposureTime;
float fData[2048];
float fTemperature;
double dSyncTimes;
}CalDataFrame;
// CIrisFODISCalibrationToolDlg 对话框
class CIrisFODISCalibrationToolDlg : public CDialogEx
{
// 构造
public:
CIrisFODISCalibrationToolDlg(CWnd* pParent = nullptr); // 标准构造函数
// 对话框数据
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_IRISFODIS_CALIBRATIONTOOL_DIALOG };
#endif
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
private:
std::vector<CString> m_vecFodisFile;
CString m_cstrFODISFilePath,m_cstrCalFilePath,m_cstrOutputFilePath;
CWinThread * m_ptrdProcess;
CDlgInform * m_pdlgInfo;
private:
void ShowFileDialog(long lResID, LPCTSTR lpszDefExt, LPCTSTR lpszFilter, int iType);
void ShowFolderDialog(long lResID, LPCTSTR lpszDefExt);
void ResetListBoxHScrollBar(long lResID);
void CreateInformDialog(CString cstrInformation, int iShow);
public:
static UINT ThreadProcessFODISCal(LPVOID pParam);
// 实现
protected:
HICON m_hIcon;
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnBnClickedButtonFodisdata();
CEdit m_ceFODISFilePath;
CListBox m_lbFilePath;
afx_msg void OnBnClickedButtonCaldata();
afx_msg void OnBnClickedButtonOutputdata();
CEdit m_ceOutputPath;
afx_msg void OnBnClickedButtonStartcalc();
CEdit m_ceCalFilePath;
};