SDC C-Project CF Review 프로그램
LYW
2021-08-17 9aa3a8ff940e89bb0b5c75bc8abd0864e4c85874
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
#pragma once
 
namespace CHReviewResult
{
    enum ResultFileType            { RESULT_FILE_TD = 0, RESULT_FILE_CD, RESULT_FILE_SD, RESULT_FILE_TYPE_COUNT };
    enum DefectType                { DEFECT_TYPE_NONE = 0, DEFECT_TYPE_D, DEFECT_TYPE_B, DEFECT_TYPE_BD, DEFECT_TYPE_PD, DEFECT_TYPE_PB, DEFECT_TYPE_PBD, DEFECT_TYPE_MNT, DEFECT_TYPE_EC, DEFECT_TYPE_MURA, DEFECT_TYPE_VLINE, DEFECT_TYPE_HLINE, DEFECT_TYPE_SPOT, DEFECT_TYPE_DENT, DEFECT_TYPE_PROTRUDE };// 20171003 smok. MURA ¼¼ºÎ °á°ú
    enum DefectGrayType            { DEFECT_GRAY_NONE = 0, DEFECT_GRAY_BLACK, DEFECT_GRAY_WHITE };
    enum DefectOpticType        { DEFECT_OPTIC_NONE = 0, DEFECT_OPTIC_DARK, DEFECT_OPTIC_BRIGHT, DEFECT_OPTIC_DKBR };
    enum DefectOpticType_A3P_EA    { DEFECT_OPTIC_A3P_EA_NONE = 0, DEFECT_OPTIC_A3P_EA_TRANSMIT, DEFECT_OPTIC_A3P_EA_REFLECT };
    enum DefectStackType        { DEFECT_STACK_NONE = 0, DEFECT_STACK_CD, DEFECT_STACK_TD, DEFECT_STACK_SD };
 
    enum DefectSizeType            { DEFECT_SIZE_NONE = 0, DEFECT_SIZE_SMALL, DEFECT_SIZE_MEDIUM, DEFECT_SIZE_LARGE, DEFECT_SIZE_HUGE };
    enum DefectJudgeType        { DEFECT_JUDGE_NONE = 0, DEFECT_JUDGE_OK, DEFECT_JUDGE_TR, DEFECT_JUDGE_PR};
    enum DefectSubType            { DEFECT_SUBTYPE_NONE = 0, DEFECT_SUBTYPE_NR, DEFECT_SUBTYPE_MD, DEFECT_SUBTYPE_CD, DEFECT_SUBTYPE_MC };
    enum DefectProcessType        { DEFECT_PROCESS_NONE = 0, DEFECT_PROCESS_NORMAL, DEFECT_PROCESS_MASK, DEFECT_PROCESS_COMMON, DEFECT_PROCESS_CRACK };
    enum DefectPositionType        { DEFECT_POSITION_NONE = -1, DEFECT_POSITION_FRONT, DEFECT_POSITION_BACK };
 
    enum SERVER_DefectType        { DefectType_TBlack = 0, DefectType_TWhite, DefectType_RBlack, DefectType_RWhite, DefectType_Unknown }; //°Ë»ç±â
    enum SERVER_DefectLocation    { DefectLoc_Pattern = 0, DefectLoc_Crack, DefectLoc_BM, DefectLoc_ASG, DefectLoc_PAD, DefectLoc_C2C, DefectLoc_Align }; //°Ë»ç±â
    enum SERVER_DefectSubType    { DefectSubType_Normal = 0, DefectSubType_Edge, DefectSubType_MC, DefectSubType_Mask, DefectSubType_Common, DefectSubType_NoDefect, DefectSubType_Align }; //°Ë»ç±â
 
    enum SERVER_DefectPosition    { DefectPos_Front = 0, DefectPos_Back };
}
 
class AFX_EXT_CLASS CCellResult
{
public:
    CCellResult();
    virtual ~CCellResult();
    void Reset();
 
public:
    int            nCellIdx;
    int            nUMOriginX;
    int            nUMOriginY;
    int            nUMOriginWidth;
    int            nUMOriginHeight;
    int            nDefectCount;
    CString        strCellID;
    CString        strCellJudge;
};
 
class AFX_EXT_CLASS CDefectResult
{
public:
    CDefectResult();
    virtual ~CDefectResult();
    void Reset();
 
public:
    BOOL        bReviewAdded;
    BOOL        bWsiAdded;
 
    BOOL        bMeasurePoint;
    BOOL        bInRange;
    BOOL        bRework;
    BOOL        bReworkSelected;
 
    // [2017:5:12]-[WEZASW] : DFS Result File Format º¯°æ
    // defect raw data
    int            nTotalDefectCount;                // Mura Defect Filter¿ë Total Defect(Vector) Index
    int            nDefectCode;                    // Defect Code Number
 
    int            nDefectIdx;                        // Defect No. 
    CString        strDefectCode;                    // Defect Code
    CString        strDefectName;                    // Defect Name
 
    CString        strDefectType;                    // PARTICLE/CRACK/DENT / PROTRUSION/TFE_ABNORMAL / BUBBLE
    int            nDefectType;                    
 
    int            nUMOriginX;                        // LTPS±Û¶ó½º ¼¾ÅÍ ±âÁØ ÁÂÇ¥ X
    int            nUMOriginY;                        // LTPS±Û¶ó½º ¼¾ÅÍ ±âÁØ ÁÂÇ¥ Y
    int            nUMTransX;                        // Stage »óÀÇ ±Û¶ó½º Left Bottom ÄÆÆÃ¸é ±âÁØ »ó´ëÁÂÇ¥ X
    int            nUMTransY;                        // Stage »óÀÇ ±Û¶ó½º Left Bottom ÄÆÆÃ¸é ±âÁØ »ó´ëÁÂÇ¥ Y
 
    CString        strMarkType;                    // POINT/LINE/RECT/CIRCLE/TRIANGLE/ARC
    int            nMarkType;                    
 
 
    // [2017:5:18]-[WEZASW] : Defect ÁÂÇ¥ ±âÁØ º¯°æ(Glass Conner to Center)
    int            nUMCenterOriginX;                // Glass Center ±âÁØ ÁÂÇ¥ X
    int            nUMCenterOriginY;                // Glass Center ±âÁØ ÁÂÇ¥ X
    
 
    CString        strCellID;                        // Defected Panel ID
 
    CString        strSizeType;                    // S/M/L/EX_L/UL_L
    int            nSizeType;
 
    int            nAOISizeW;                        // Defect¡¯s X axis size (um)
    int            nAOISizeH;                        // Defect¡¯s Y axis size (um)
    int            nAOISizeLength;                    // Defect¡¯s Diagonal Length (um)  
    int            nAOIArea;                        // 
    int            nAOIPeak;                        // 
 
    CString        strDefectType1;                    // Black(B) / White(W)
    int            nDefectType1;    
 
    CString        strDefectType2;                    // Back(B) / TOP(T)????  => Lami AOI »ó/ÇÏ Camera¿¡ ´ëÇÑ ºÐ·ù ¸ñÀû
    int            nDefectType2;    
 
    CString        strUploadImgFileName;            // Review Image File Name
    CString        strUploadImgFileName2;            // image name 2
 
    // [2017:4:10]-[WEZASW] : °í°´»ç ¿äû¿¡ ÀÇÇÑ bmp ÆÄÀÏ Ãß°¡ ÀúÀå. (Àӽûç¿ë)
    CString        strOrignalImgFileName;
 
 
 
 
 
//////////////////////////////////////////////////////////////////////////
 
    // cd, sd index
    int            nCDDefectIdx;
    int            nSDDefectIdx;
 
    int            nAOISizeS;                        // 
    int            nAOISize;                        // 
 
    int            nLocation;
    int            nAOIScanIdx;
    int            nAOICameraIdx;
 
    int            nDark_Thres;
    int            nBright_Thres;
    int            nSizeJudge;
 
    CString        strDefectInfo;
    CString        strDefectZone;
 
 
 
    int            nGrayType;
    CString        strGrayType;
 
    int            nOpticType;
    CString        strOpticType;
 
    CString        strStackType;            
    int            nStackType;                
 
    int            nStackStepCount; 
    CString        strStackStep;        
 
 
    CString        strProcessType;            
    int            nProcessType;
 
    CString        strDefectPos;
    int            nDefectPos;
 
    // filtering info (for fic)
    CString        strJudgeType;        
    int            nJudgeType;        
 
    CString        strSubType;
    int            nSubType;
 
    
 
    int            nSortSection;
 
// not used FIC
    int            nZonePercent;            // (13) ZONE_Percent       //»ç¿ë¾ÈÇÔ.                   or MNT Data 0
    int            nBF_Width;                // (14) bf_width_um        //µðÆå width  (¼¼·Î) BF Size  or MNT Data 1
    int            nBF_Length;                // (15) bf_length_um       //µðÆå Length (°¡·Î) BF Size  or MNT Data 2
    int            nBF_Min;                // (16) bf_min             //BF_DEFECTÀÇ GRAY MIN        or MNT Data 3
    int            nBF_Avg;                // (17) bf_avg             //BF_DEFECTÀÇ GRAY AVG        or MNT Data 0
    int            nBF_AvgDiff;            // (18) bf_avg_diff
 
    int            nDF_Width;                // (19) df_width_um        //µðÆå width  (¼¼·Î) DF Size
    int            nDF_Length;                // (20) df_lengt_um        //µðÆå Length (°¡·Î) DF Size
 
    int            nBefore_SizeWidth;        
    int            nBefore_SizeHeight;        
    int            nAfter_NPixel;            
    int            nAfter_SizeWidth;        
    int            nAfter_SizeHeight;        
    double        dAfter_Area;        
};