?? 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 + -