#pragma once
|
|
#include <vector>
|
#include <map>
|
/*
|
ITEM NAME SIZE DESCRIPTION
|
DATE DATE 8 °Ë»ç Á¾·á ÀÏÀÚ
|
TIME TIME 6 °Ë»ç Á¾·á ½Ã°£
|
DEFECT NO DEFECTNO 8 °áÇÔ ¹øÈ£
|
RECIPE NAME RECIPE 20 °Ë»ç ·¹½ÃÇÇ À̸§
|
GLASSID GLASSID 15 񃒀 ID
|
CELLID CELLID 16 °áÇÔ À§Ä¡ CELL ID
|
COORD X COORD_X1 8 XÁÂÇ¥(°áÇÔ Á᫐ ÁÂÇ¥, ´ÜÀ§ : um)
|
COORD Y COORD_Y1 8 YÁÂÇ¥(°áÇÔ Á᫐ ÁÂÇ¥, ´ÜÀ§ : um)
|
NOMURA NOMURA 6 ºñ°áÇÔ ¿©ºÎ(1 - ºñ°áÇÔ, 0 - À¯È¿°áÇÔ)
|
WIDTH SIZE_W 8 °áÇÔ ³Êºñ(X ±æÀÌ, ´ÜÀ§ : um)
|
LENGTH SIZE_L 8 °áÇÔ ³ôÀÌ(Y ±æÀÌ, ´ÜÀ§ : um)
|
SQUARE SIZE_S 15 °áÇÔ Å©±â(¸éÀû, ´ÜÀ§ : um©÷)
|
MAIN TYPE MAIN_TYPE 15 °áÇÔ Å¸ÀÔ(Area, VLineB, HLineB, SpotB, SpotW, NonFilling, NFGroup, OrangePeel, VLineW, HLineW, VLineF, HLineF, Depo)
|
SUB TYPE SUB_TYPE 15 °ËÃâ ŸÀÔ(Normal, Common, Mask, CommonMask)
|
PEAK PEAK 6 °áÇÔ ÇÇÅ© Á¤º¸(´ÜÀ§ : DN)
|
MIN G_MIN 6 °áÇÔ ¿µ¿ª ÃÖ¼Ò ¹à±â(´ÜÀ§ : DN)
|
MAX G_MAX 6 °áÇÔ ¿µ¿ª ÃÖ´ë ¹à±â(´ÜÀ§ : DN)
|
AVERAGE G_AVG 6 °áÇÔ ¿µ¿ª Æò±Õ ¹à±â(´ÜÀ§ : DN)
|
CAM NO CAM 3 °ËÃâ Ä«¸Þ¶ó Index
|
SCAN NO SCAN 4 °ËÃâ ½ºÄµ Index
|
PIXEL PEAK PIXEL_PEAK 10 °áÇÔ Çȼ¿ ÇÇÅ© Á¤º¸(´ÜÀ§ : DN)
|
REGION TYPE REGION 6 °ËÃâ ¿µ¿ª(Active, Pad)
|
SIZE TYPE SIZE_T 6 Å©±â ŸÀÔ(Small, Medium, Large, Huge)
|
PEAK TYPE PEAK_T 6 ÇÇÅ© ŸÀÔ(Pale, Medium, Deep, Over)
|
IMAGE FILE NAME IMG_FILE_NAME 50 °áÇÔº° À̹ÌÁö ÆÄÀÏ À̸§(¼¿¹øÈ£.°áÇÔ¹øÈ£_ÀϽÃ.jpg)
|
*/
|
/* CSOT T4 IJP Type
|
ITEM Start Length
|
ITEM,DEFECTDATA 0 15
|
DEFECTNO 17 8
|
CELLID 26 20
|
COORD_X1 47 8
|
COORD_Y1 56 8
|
COORD_PX1 65 9
|
COORD_PY1 75 9
|
NOMURA 85 6
|
JUDGE 92 8
|
SIZE_W 101 8
|
SIZE_L 110 8
|
SIZE_S 119 15
|
MAIN_TYPE 135 15
|
SUB_TYPE 151 15
|
PEAK 167 6
|
G_MIN 174 6
|
G_MAX 181 6
|
G_AVG 188 6
|
CAM 195 3
|
SCAN 199 4
|
PIXEL_PEAK 204 10
|
REGION 215 6
|
MASK_T 222 8
|
SIZE_T 231 6
|
PEAK_T 238 6
|
IMG_FILE_NAME 245 69
|
*/
|
struct _MacroDefect
|
{
|
CString ITEM ;
|
int DEFECTNO ;
|
CString CELLID ;
|
int COORD_X1 ;
|
int COORD_Y1 ;
|
int COORD_PX1 ;
|
int COORD_PY1 ;
|
int NOMURA ;
|
CString JUDGE ;
|
int SIZE_W ;
|
int SIZE_L ;
|
int SIZE_S ;
|
CString MAIN_TYPE ;
|
CString SUB_TYPE ;
|
int PEAK ;
|
int G_MIN ;
|
int G_MAX ;
|
int G_AVG ;
|
int CAM ;
|
int SCAN ;
|
int PIXEL_PEAK ;
|
CString REGION ;
|
CString MASK_T ;
|
CString SIZE_T ;
|
CString PEAK_T ;
|
CString IMG_FILE_NAME ;
|
|
_MacroDefect()
|
{
|
ITEM = "0";
|
DEFECTNO = 0;
|
CELLID = "0";
|
COORD_X1 = 0;
|
COORD_Y1 = 0;
|
COORD_PX1 = 0;
|
COORD_PY1 = 0;
|
NOMURA = 0;
|
JUDGE = "0";
|
SIZE_W = 0;
|
SIZE_L = 0;
|
SIZE_S = 0;
|
MAIN_TYPE = "0";
|
SUB_TYPE = "0";
|
PEAK = 0;
|
G_MIN = 0;
|
G_MAX = 0;
|
G_AVG = 0;
|
CAM = 0;
|
SCAN = 0;
|
PIXEL_PEAK = 0;
|
REGION = "0";
|
MASK_T = "0";
|
SIZE_T = "0";
|
PEAK_T = "0";
|
IMG_FILE_NAME = "0";
|
|
}
|
};
|
|
|
///0404nwh
|
struct _MacroSubPanel
|
{
|
CString PRO_IMAGE;
|
CString AVG_GRAY_0; // 0 Scan 0 Model
|
CString PORTION_0;
|
CString AVG_GRAY_1; // 0 Scan 1 Model
|
CString PORTION_1;
|
CString AVG_GRAY_2; // 1 Scan 0 Model
|
CString PORTION_2;
|
CString AVG_GRAY_3; // 1 Scan 1 Model
|
CString PORTION_3;
|
};
|
|
class CMacroResultFile
|
{
|
public:
|
CMacroResultFile(void);
|
virtual ~CMacroResultFile(void);
|
|
public:
|
BOOL openFile(char* pFileName);
|
BOOL openFile_Mura(char* pFileName);//nwh0404
|
|
BOOL IsRead() { return m_bReadSuccess; }
|
int GetDefectNum() { return (int)m_vecMacroDefect.size();}
|
int GetDefectNum(int iCell) ;
|
_MacroDefect* GetDefect(int i) { return &m_vecMacroDefect[i]; }
|
|
/////////////////////////////////////0404nwh
|
int GetSubPanelNum() { return (int)m_vecMacroSubPanel.size(); }
|
int GetSubPanelNum(int iCell);
|
_MacroSubPanel* GetSubPanel(int i) { return &m_vecMacroSubPanel[i]; }
|
/////////////////////////////////////0404nwh
|
BOOL readOptionFile(char* pFileName = "C:\\AOIServer\\ConfigFile\\MacroInfo.cfg");
|
|
_MacroDefect* FindDefect(int nX, int nY, int nFindRange = 2000/*um*/);
|
public:
|
BOOL m_bMacroResultFile;//¸¶Å©·Î ¼³ºñ °á°úÆÄÀÏ ÅëÇÕ ¿©ºÎ ÅÂÇö[2017/3/29]
|
CString m_strMacroResultRawPath;
|
CString m_strMacroResultImagePath;
|
CString m_strServerResultRawPath;
|
CString m_strServerResultImagePath;
|
|
DWORD m_dwMacroReadTime;
|
|
protected:
|
char* getParsingData(char* pBuf, int nLen, CString* pOutData);
|
char* getParsingData(char* pBuf, int nLen, int* pOutData);
|
|
protected:
|
BOOL m_bReadSuccess;
|
std::vector<_MacroDefect> m_vecMacroDefect;
|
std::vector<_MacroSubPanel> m_vecMacroSubPanel; //0404nwh
|
|
std::multimap<int,_MacroDefect*> m_mapFind;
|
|
};
|