From e5fa774d622d6852fe8e1f033045aed221649108 Mon Sep 17 00:00:00 2001 From: LYW <leeyeanwoo@diteam.co.kr> Date: 금, 15 10월 2021 13:24:54 +0900 Subject: [PATCH] Ongoing80 #3662 CF AOI Review 전설비 알람 발생 조치 --- ReviewHistory/ReveiwHistory/MacroResultFile.h | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 231 insertions(+), 0 deletions(-) diff --git a/ReviewHistory/ReveiwHistory/MacroResultFile.h b/ReviewHistory/ReveiwHistory/MacroResultFile.h new file mode 100644 index 0000000..f746014 --- /dev/null +++ b/ReviewHistory/ReveiwHistory/MacroResultFile.h @@ -0,0 +1,231 @@ +#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 CORNER_GRAY_0; // kyh 결과파일 포맷 수정 + CString AVG_AMP_0; + CString FFT_VAR_0; + CString FFT_VAH_0; + CString FFT_VAQ_0; + CString FFT_PK_0; // kyh end + CString AVG_GRAY_1; // 0 Scan 1 Model + CString PORTION_1; + CString CORNER_GRAY_1; // kyh 결과파일 포맷 수정 + CString AVG_AMP_1; + CString FFT_VAR_1; + CString FFT_VAH_1; + CString FFT_VAQ_1; + CString FFT_PK_1; // kyh end + CString AVG_GRAY_2; // 1 Scan 0 Model + CString PORTION_2; + CString CORNER_GRAY_2; // kyh 결과파일 포맷 수정 + CString AVG_AMP_2; + CString FFT_VAR_2; + CString FFT_VAH_2; + CString FFT_VAQ_2; + CString FFT_PK_2; // kyh end + CString AVG_GRAY_3; // 1 Scan 1 Model + CString PORTION_3; + CString CORNER_GRAY_3; // kyh 결과파일 포맷 수정 + CString AVG_AMP_3; + CString FFT_VAR_3; + CString FFT_VAH_3; + CString FFT_VAQ_3; + CString FFT_PK_3; // kyh end +}; + +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; + +}; + + + + + + + + + + + + + + + + + + + + + + + + + + -- Gitblit v1.9.3