📄 hyperspectraldatauncompressdlg.h
字号:
// HyperspectralDataUnCompressDlg.h : header file
//
#if !defined(AFX_HYPERSPECTRALDATAUNCOMPRESSDLG_H__D68B8BCB_1E75_4FEF_A201_9240A21611A5__INCLUDED_)
#define AFX_HYPERSPECTRALDATAUNCOMPRESSDLG_H__D68B8BCB_1E75_4FEF_A201_9240A21611A5__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define MAXBANDNUMBER 512
#define MIN_LINES_PER_BLOCK 64
#define MAX_COMPRESS_FILE_NUMBER 130
/////////////////////////////////////////////////////////////////////////////
// CHyperspectralDataUnCompressDlg dialog
#define WM_USER_HYPERSPECTRAL_UNCOMPRESS_DLG (WM_USER+2)
class HyperspectralUnCompressThread;
class CHyperspectralDataUnCompressDlg : public CDialog
{
// Construction
public:
CHyperspectralDataUnCompressDlg(CWnd* pParent = NULL); // standard constructor
CString lpImageFile[MAXBANDNUMBER];//纯图像方式时用于比较的单波段文件名表列
CString lpConstructFile[MAXBANDNUMBER];//存放纯图像时重建单波段文件名列表
CString lpCompressFile[MAX_COMPRESS_FILE_NUMBER];//存放多压缩数据文件列表
int CompressFileNumbers;//压缩文件数目
BOOL AllowReport;
CString Report;
int CompleteUnCompressFileNumber;//当前完成的解压缩文件数目
CString PredictBandList;//波段预测配置
TCHAR HyperspectralDataFormat;//高光谱数据格式
int BandNumber;
int Width;
int BytesPerPixel;
BOOL CanCompare;//可以比较标志
BOOL CanUnCompress;//可以解压缩标志
BOOL UnCompressComplete;//解压缩完成标志
BOOL IsHyperspectralCompressData;//是否为高光谱压缩数据标志
HyperspectralUnCompressThread *m_pUnCompressThread;//解压缩线程
BOOL UnCompressThreadRun;//解压缩线程运行标志
BOOL LoadHyperspectralCompressHead(CString &CompressFile);//加载压缩头
void ProduceConstructFileName(LPCTSTR lpInputConstructFileName=NULL);//由压缩文件名产生默认的重建图像文件名
void OkUnCompressProce();
void CalculateOneLineImageErr(LPBYTE ImageLine,//图像行
LPBYTE CompareImageLine,//比较用的图像行
int BytesPerPix,//每象素字节数
int OneLineWidth,//每行象素数
int &MaxError,//存放误差最大值
double &ErrMse);//存放误差平方和
void OutString(CString str,LPCTSTR lpOutFile=NULL);
// Dialog Data
//{{AFX_DATA(CHyperspectralDataUnCompressDlg)
enum { IDD = IDD_HYPERSPECTRALDATAUNCOMPRESS_DIALOG };
BOOL m_AllowCompare;
CString m_AuxWidth;
CString m_BandNumber;
CString m_BandPrediction;
CString m_BitsPerPixel;
CString m_CompressFileName;
CString m_CompressRate;
CString m_ConstuctFileName;
CString m_ImageFileName;
CString m_ImageFormat;
CString m_ImageHeight;
CString m_ImageWidth;
CString m_MaxError;
CString m_MaxErrPerPixel;
CString m_NoticeNumber;
CString m_PSNRString;
CString m_RateString;
CString m_NoticeString;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CHyperspectralDataUnCompressDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CHyperspectralDataUnCompressDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnDestroy();
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnClose();
afx_msg void OnKillfocusCompressFileName();
afx_msg void OnCompressFilenameFindButton();
afx_msg void OnMulbandImageFilenameFindButton();
afx_msg void OnConstructFilenameFindButton();
afx_msg void OnUncompressCancel();
afx_msg void OnUncompressOk();
afx_msg void OnAllowCompareCheck();
afx_msg void OnKillfocusConstructImageFileName();
//}}AFX_MSG
LRESULT OnHyperspectralDataUnCompressRecvMessage(WPARAM wParam, LPARAM lParam);
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
// HyperspectralUnCompressThread thread
class HyperspectralUnCompressThread : public CWinThread
{
DECLARE_DYNCREATE(HyperspectralUnCompressThread)
protected:
// Attributes
public:
HyperspectralUnCompressThread(); // protected constructor used by dynamic creation
CHyperspectralDataUnCompressDlg* m_pOwner;
BOOL m_bDone;
void SetOwner(CHyperspectralDataUnCompressDlg* pOwner) { m_pOwner = pOwner; };
virtual ~HyperspectralUnCompressThread();
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(HyperspectralUnCompressThread)
public:
virtual BOOL InitInstance();
virtual int ExitInstance();
virtual int Run();
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(HyperspectralUnCompressThread)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_HYPERSPECTRALDATAUNCOMPRESSDLG_H__D68B8BCB_1E75_4FEF_A201_9240A21611A5__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -