96 lines
2.2 KiB
C++
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;
|
|
};
|