| | |
| | | memset(this, 0, sizeof(_grmGlassData)); |
| | | } |
| | | |
| | | //int |
| | | int m_nCellNum; |
| | | int m_nDefectNum; |
| | | int m_nOriginDirection; //{ GD_LeftTop = 0, GD_RightTop = 1, GD_LeftBottom = 10, GD_RightBottom = 11 }; |
| | | int m_nConerCutDirection; |
| | | int m_nScanCoordinateY; //여기가 0이면 일반, 1이면 Scan방향이 y축(즉 scan방향이 단축, offline 설비 같은) |
| | | int m_nGlassSizeWidth; |
| | | int m_nGlassSizeHeight; |
| | | int m_nVcrResultCode; |
| | | //결함 갯수 관리 변수 |
| | | int m_nDefectNumSizeSmall; |
| | | int m_nDefectNumSizeMid; |
| | | int m_nDefectNumSizeLarge; |
| | | int m_nDefectNumSizeHuge; |
| | | int m_nDefectNumSizeUltra; |
| | | int m_nDefectNumLocActive; |
| | | int m_nDefectNumLocPad; |
| | | int m_nDefectNumLocCrack; |
| | | int m_nDefectNumLocBM; |
| | | int m_nDefectNumTypeTB; |
| | | int m_nDefectNumTypeTW; |
| | | int m_nDefectNumTypeRB; |
| | | int m_nDefectNumTypeRW; |
| | | int m_nDefectNumTypeMD; |
| | | int m_nDefectNumTypeCD; |
| | | int m_nDefectNumTypeMC; |
| | | int m_nDefectNumJudgeOKWhite; |
| | | int m_nDefectNumJudgeOKBlack; |
| | | int m_nDefectNumJudgeNG; |
| | | int m_nDefectNumJudgeRW; |
| | | int m_nDefectNumJudgeRP; |
| | | int m_nDefectNumJudgeRV; |
| | | int m_nDefectNumJudgeTR; |
| | | int m_nDefectNumJudgePR; |
| | | int m_nDefectNumJudgeLine; |
| | | int m_nDefectNumStackTD; |
| | | int m_nDefectNumStackSD; |
| | | int m_nDefectNumStackPD; |
| | | int m_nDefectNumStackSP; |
| | | int m_nSlot_No; |
| | | int m_nReviewNum; |
| | | int m_nStackNum; |
| | | int m_nCutOffDefectNum; |
| | | int m_nRawMergeNum; |
| | | //KYH ND 판정 추가 |
| | | int m_nDefectNumJudgeND; |
| | | //DUMY DATA |
| | | int Dumy_int[9]; |
| | | |
| | | //double |
| | | double m_nAlignCcdTheta; |
| | | double m_nAlignCcdShitftX; |
| | | double m_nAlignCcdShitftY; |
| | | double m_nAlignPreTheta; |
| | | double m_nAlignPreShitftX; |
| | | double m_nAlignPreShitftY; |
| | | double m_nAlignBasicTheta; |
| | | double m_nAlignBasicShitftX; |
| | | double m_nAlignBasicShitftY; |
| | | //DUMY DATA |
| | | double Dumy_double[10]; |
| | | |
| | | //char |
| | | //Glass 정보 |
| | | char m_strFileName[64]; |
| | | char m_strPath[256]; |
| | | |
| | | int m_nCellNum; |
| | | int m_nDefectNum; |
| | | |
| | | int m_nOriginDirection; //{ GD_LeftTop = 0, GD_RightTop = 1, GD_LeftBottom = 10, GD_RightBottom = 11 }; |
| | | int m_nConerCutDirection; |
| | | int m_nScanCoordinateY; //여기가 0이면 일반, 1이면 Scan방향이 y축(즉 scan방향이 단축, offline 설비 같은) |
| | | |
| | | int m_nGlassSizeWidth; |
| | | int m_nGlassSizeHeight; |
| | | /* <KYH 211129 : #3796 ADD Start> */ |
| | | int m_nDefectNumJudgeND; |
| | | /* <KYH 211129 : #3796 ADD End> */ |
| | | //DUMY DATA |
| | | int Dumy_int[9]; |
| | | |
| | | //설비정보 |
| | | char m_strLine[32]; |
| | | char m_strEquipType[32]; |
| | | char m_strEquipID[32]; |
| | | char m_strStepID[32]; |
| | | char m_strOperID[32]; |
| | | |
| | | CTime m_tmGlassLoading; //3. START_TIME |
| | | CTime m_tmInspectionStart; //3. START_TIME |
| | | CTime m_tmInspectionEND; //4. END_TIME |
| | | CTime m_tmReviewLoading; |
| | | CTime m_tmReviewEnd; |
| | | |
| | | //기본 물류정보 |
| | | char m_strGlassID[32]; //Glass ID |
| | | char m_strPPID[32]; |
| | |
| | | char m_strGlassJudge[32]; //GLASS_JUDGE |
| | | char m_strGlassCode[32]; //Grade or Code |
| | | char m_strProductID[16]; //4. PRODUCT_ID |
| | | |
| | | //VCR |
| | | int m_nVcrResultCode; |
| | | char m_strVCRResult[32]; |
| | | char m_strVCRGlassID[32]; |
| | | |
| | | |
| | | //결함 갯수 관리 변수 |
| | | int m_nDefectNumSizeSmall; |
| | | int m_nDefectNumSizeMid; |
| | | int m_nDefectNumSizeLarge; |
| | | int m_nDefectNumSizeHuge; |
| | | int m_nDefectNumSizeUltra; |
| | | |
| | | int m_nDefectNumLocActive; |
| | | int m_nDefectNumLocPad; |
| | | int m_nDefectNumLocCrack; |
| | | int m_nDefectNumLocBM; |
| | | |
| | | int m_nDefectNumTypeTB; |
| | | int m_nDefectNumTypeTW; |
| | | int m_nDefectNumTypeRB; |
| | | int m_nDefectNumTypeRW; |
| | | int m_nDefectNumTypeMD; |
| | | int m_nDefectNumTypeCD; |
| | | int m_nDefectNumTypeMC; |
| | | |
| | | int m_nDefectNumJudgeOKWhite; |
| | | int m_nDefectNumJudgeOKBlack; |
| | | int m_nDefectNumJudgeNG; |
| | | int m_nDefectNumJudgeRW; |
| | | int m_nDefectNumJudgeRP; |
| | | int m_nDefectNumJudgeRV; |
| | | int m_nDefectNumJudgeTR; |
| | | int m_nDefectNumJudgePR; |
| | | /*< LHS 20211029 - #3783 MOD Start >*/ |
| | | int m_nDefectNumJudgeLine; |
| | | /*< LHS 20211029 - #3783 MOD End >*/ |
| | | int m_nDefectNumStackTD; |
| | | int m_nDefectNumStackSD; |
| | | int m_nDefectNumStackPD; |
| | | int m_nDefectNumStackSP; |
| | | |
| | | |
| | | //카메라/스캔 정보 [김태현 2018/12/5] |
| | | short m_nCameraNum; |
| | | short m_nScanNum; |
| | | unsigned char m_nGrayLevelAvg[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM*RAWMESSENGER_MAXHLINUM]; |
| | | unsigned char m_nGrayLevelMin[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM*RAWMESSENGER_MAXHLINUM]; |
| | | unsigned char m_nGrayLevelMax[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM*RAWMESSENGER_MAXHLINUM]; |
| | | |
| | | //얼라인 정보 um[김태현 2018/12/10] |
| | | double m_nAlignCcdTheta; |
| | | double m_nAlignCcdShitftX; |
| | | double m_nAlignCcdShitftY; |
| | | double m_nAlignPreTheta; |
| | | double m_nAlignPreShitftX; |
| | | double m_nAlignPreShitftY; |
| | | double m_nAlignBasicTheta; |
| | | double m_nAlignBasicShitftX; |
| | | double m_nAlignBasicShitftY; |
| | | char m_strAlignFirst[64]; |
| | | char m_strAlignSecond[64]; |
| | | // char m_strAlignPath[256]; |
| | | |
| | | //CSOT용 물류 정보 [김태현 2018/12/5] |
| | | char m_strCassetteSequenceNo[16]; |
| | | char m_strOwnerCode[16]; //2. OWNER_CODE |
| | | char m_strOwnerType[16]; //3. OWNER_TYPE |
| | | |
| | | char m_strProcessID[21]; //5. PROCESS_ID |
| | | char m_strProductGroup[16]; //6. PRODUCT_GROUP |
| | | char m_strCSTID[16]; //8. CST_ID |
| | |
| | | char m_strPreRecipeID[32]; //13.PRE_RECIPE_ID |
| | | char m_strGroupID[16]; //14.GROUP_ID |
| | | char m_cAutoSampleFlag; //15.AUTOSAMPLEFLAG |
| | | |
| | | // CPRJ용 물류 정보 |
| | | char m_strProdType[3]; |
| | | char m_strBatchID[13]; |
| | |
| | | char m_strFlowHistory[2]; |
| | | char m_strCount1[2]; |
| | | char m_strCount2[2]; |
| | | char m_StrMergeList[10][12]; |
| | | //Mura Data 0412 nwh |
| | | char m_strMaxAvgGray[12]; |
| | | char m_strMaxPortion[12]; |
| | | char m_strShrinked[6]; |
| | | |
| | | |
| | | //1226NWH |
| | | char m_strReadingFlag[2]; |
| | | char m_StrMergeList[10][12]; |
| | | //DUMY DATA |
| | | char m_strRawMergeStepID[32]; |
| | | char Dumy_char[104]; |
| | | |
| | | //unsigned char |
| | | unsigned char m_nGrayLevelAvg[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM*RAWMESSENGER_MAXHLINUM]; |
| | | unsigned char m_nGrayLevelMin[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM*RAWMESSENGER_MAXHLINUM]; |
| | | unsigned char m_nGrayLevelMax[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM*RAWMESSENGER_MAXHLINUM]; |
| | | //DUMY DATA |
| | | unsigned char Dumy_unsigned_char[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM*RAWMESSENGER_MAXHLINUM]; |
| | | |
| | | //CTime |
| | | CTime m_tmGlassLoading; //3. START_TIME |
| | | CTime m_tmInspectionStart; //3. START_TIME |
| | | CTime m_tmInspectionEND; //4. END_TIME |
| | | CTime m_tmReviewLoading; |
| | | CTime m_tmReviewEnd; |
| | | //DUMY DATA |
| | | CTime Dumy_CTime[10]; |
| | | |
| | | //short |
| | | short m_nCameraNum; |
| | | short m_nScanNum; |
| | | //DUMY DATA |
| | | short Dumy_short[10]; |
| | | |
| | | //BYTE |
| | | BYTE m_nUniqueID[4]; |
| | | BYTE m_nGlassDataBitSignal[4]; |
| | | //DUMY DATA |
| | | BYTE Dumy_BYTE[10]; |
| | | int m_nSlot_No; |
| | | |
| | | //BOOL |
| | | BOOL m_bJob_end; |
| | | BYTE m_nGlassDataBitSignal[4]; |
| | | bool m_bJob_end; |
| | | |
| | | //201217 CJH - 찍은 Defect Review 개수 |
| | | int m_nReviewNum; |
| | | //201221 CJH - 파싱한 Stack 결과 |
| | | int m_nStackNum; |
| | | BOOL m_bStackRead; |
| | | |
| | | /*< KJG 20211024 - #3487 ADD Start >*/ |
| | | int m_nRawMergeNum; |
| | | BOOL m_bRawMergeRead; |
| | | /*< KJG 20211024 - #3487 ADD End >*/ |
| | | //210203 CJH - CutOff 대상 결함 수 |
| | | int m_nCutOffDefectNum; |
| | | //210323 CJH - Server/Frame Shrink 정보 추가 |
| | | char m_strShrinked[6]; |
| | | //210326 CJH - RAW 입력 Defect 수량 상한 사용여부 |
| | | BOOL m_bRawCutoff; |
| | | //210907 KJG - EdgeCrack 검사 사용 유무 |
| | | BOOL m_bEdgeCrackUse; |
| | | BOOL m_bRawMergeUse; |
| | | //DUMY DATA |
| | | BOOL Dumy_BOOL[9]; |
| | | /* < KJG 20220225 - #3850 ADD Start >*/ |
| | | char m_strRawMergeStepID[32]; |
| | | /* < KJG 20220225 - #3850 ADD End >*/ |
| | | }; |
| | | struct _grmBlockData |
| | | { |
| | |
| | | { |
| | | memset(this, 0, sizeof(_grmBlockData)); |
| | | } |
| | | //char |
| | | char m_strBlockID[16]; //1. BLOCK_ID |
| | | char m_cBlockJudgeAOI; //2. BLOCK_JUDGE_AOI |
| | | char m_cBlockJudgeATS; //4. BLOCK_JUDGE_ATS |
| | | char m_cBlockJudgeTEG; //5. BLOCK_JUDGE_TEG |
| | | //int |
| | | int m_nGlassIdDCR; //22. GLASS_ID_DCR |
| | | }; |
| | | struct _grmCellData |
| | |
| | | memset(this, 0, sizeof(_grmCellData)); |
| | | } |
| | | int getTotalDefectNum(){return m_nDefectNumTypeTB+m_nDefectNumTypeTW+m_nDefectNumTypeRB+m_nDefectNumTypeRW; }; |
| | | int m_nCellID; //1. PANEL_ID |
| | | short m_nModelIdx; // 몇 번째 모델인가? |
| | | |
| | | //int |
| | | int m_nCellID; //1. PANEL_ID |
| | | int m_rectCellLeft; |
| | | int m_rectCellTop; |
| | | int m_rectCellRight; |
| | | int m_rectCellBottom; |
| | | /*Judgement*/ |
| | | int m_nJudgement; |
| | | int m_nJudgeFlag; |
| | | int m_nJudgeGlade; |
| | | char m_strCellName[32]; |
| | | int m_rectCellLeft; |
| | | int m_rectCellTop; |
| | | int m_rectCellRight; |
| | | int m_rectCellBottom; |
| | | |
| | | int/*Judgement*/ m_nJudgement; |
| | | int m_nJudgeFlag; |
| | | int m_nJudgeGlade; |
| | | |
| | | |
| | | //결함 갯수 관리 변수 |
| | | int m_nDefectNumSizeSmall; |
| | | int m_nDefectNumSizeMid; |
| | | int m_nDefectNumSizeLarge; |
| | | int m_nDefectNumSizeHuge; |
| | | int m_nDefectNumSizeUltra; |
| | | |
| | | int m_nDefectNumLocActive; |
| | | int m_nDefectNumLocPad; |
| | | int m_nDefectNumLocCrack; |
| | | int m_nDefectNumLocBM; |
| | | |
| | | int m_nDefectNumTypeTB; |
| | | int m_nDefectNumTypeTW; |
| | | int m_nDefectNumTypeRB; |
| | |
| | | int m_nDefectNumTypeMD; |
| | | int m_nDefectNumTypeCD; |
| | | int m_nDefectNumTypeMC; |
| | | int m_nDefectNumJudgeOKWhite; |
| | | int m_nDefectNumJudgeOKBlack; |
| | | int m_nDefectNumJudgeNG; |
| | | int m_nDefectNumJudgeRW; |
| | | int m_nDefectNumJudgeRP; |
| | | int m_nDefectNumJudgeRV; |
| | | int m_nDefectNumJudgeTR; |
| | | int m_nDefectNumJudgePR; |
| | | int m_nDefectNumJudgeLine; |
| | | int m_nReflowResult[8]; // 0: Reflow X 1: Reflow OK 2: Reflow NG |
| | | // Filtering된 Stack별 수 |
| | | int m_nDefectTDCount; |
| | | int m_nDefectSDCount; |
| | | int m_nDefectPDCount; |
| | | int m_nDefectSPCount; |
| | | // Gate/Data 총 갯수 |
| | | int m_nGateNum; |
| | | int m_nDataNum; |
| | | // 210129 CJH - Cell Origin 방향 |
| | | int m_nCellXDir; |
| | | int m_nCellYDir; |
| | | //KYH ND 판정 추가 |
| | | /* <KYH 211129 : #3796 ADD Start> */ |
| | | int m_nDefectNumJudgeND; |
| | | /* <KYH 211129 : #3796 ADD End> */ |
| | | //DUMY DATA |
| | | int Dumy_int[9]; |
| | | |
| | | //double |
| | | //DUMY DATA |
| | | double Dumy_double[10]; |
| | | |
| | | //char |
| | | char m_strCellName[32]; |
| | | //Mura Data nwh 0404 |
| | | char m_strProImage[32]; |
| | | char m_strAvgGray_0[12]; |
| | |
| | | char m_strFFTVah_0[12]; |
| | | char m_strFFTVaq_0[12]; |
| | | char m_strFFTPK_0[12]; |
| | | |
| | | char m_strAvgGray_1[12]; |
| | | char m_strPortion_1[12]; |
| | | //kyh Mura Data 추가 0622 |
| | |
| | | char m_strFFTVah_1[12]; |
| | | char m_strFFTVaq_1[12]; |
| | | char m_strFFTPK_1[12]; |
| | | |
| | | char m_strAvgGray_2[12]; |
| | | char m_strPortion_2[12]; |
| | | //kyh Mura Data 추가 0622 |
| | |
| | | char m_strFFTVah_2[12]; |
| | | char m_strFFTVaq_2[12]; |
| | | char m_strFFTPK_2[12]; |
| | | |
| | | char m_strAvgGray_3[12]; |
| | | char m_strPortion_3[12]; |
| | | //kyh Mura Data 추가 0622 |
| | |
| | | char m_strFFTVah_3[12]; |
| | | char m_strFFTVaq_3[12]; |
| | | char m_strFFTPK_3[12]; |
| | | //DUMY DATA |
| | | char Dumy_char[256]; |
| | | |
| | | //unsigned char |
| | | int m_nDefectNumJudgeOKWhite; |
| | | int m_nDefectNumJudgeOKBlack; |
| | | int m_nDefectNumJudgeNG; |
| | | int m_nDefectNumJudgeRW; |
| | | int m_nDefectNumJudgeRP; |
| | | int m_nDefectNumJudgeRV; |
| | | int m_nDefectNumJudgeTR; |
| | | int m_nDefectNumJudgePR; |
| | | /*< LHS 20211029 - #3783 MOD Start >*/ |
| | | int m_nDefectNumJudgeLine; |
| | | /*< LHS 20211029 - #3783 MOD End >*/ |
| | | int m_nReflowResult[8]; // 0: Reflow X 1: Reflow OK 2: Reflow NG |
| | | |
| | | //CTime |
| | | // Filtering된 Stack별 수 |
| | | int m_nDefectTDCount; |
| | | int m_nDefectSDCount; |
| | | int m_nDefectPDCount; |
| | | int m_nDefectSPCount; |
| | | |
| | | //short |
| | | short m_nModelIdx; // 몇 번째 모델인가? |
| | | //DUMY DATA |
| | | short Dumy_short[10]; |
| | | // Gate/Data 총 갯수 |
| | | int m_nGateNum; |
| | | int m_nDataNum; |
| | | |
| | | //BYTE |
| | | //DUMY DATA |
| | | BYTE Dumy_BYTE[10]; |
| | | |
| | | //BOOL |
| | | //DUMY DATA |
| | | BOOL Dumy_BOOL[10]; |
| | | |
| | | |
| | | |
| | | // 210129 CJH - Cell Origin 방향 |
| | | int m_nCellXDir; |
| | | int m_nCellYDir; |
| | | }; |
| | | |
| | | struct _grmDefectReviewData |
| | |
| | | memset(this, 0, sizeof(_grmDefectReviewData)); |
| | | } |
| | | |
| | | ////////////////////////////////////////////////////////////////////////// |
| | | //여기서 부터 리뷰 영역 [김태현 2019/1/19] |
| | | ditRaw::ReviewPlanType m_nPlanType ; |
| | | //int |
| | | int m_nResultCode; //0:None, 1:Success |
| | | int m_nShotIndex; //리뷰 찍은 순번 [김태현 2018/12/5] |
| | | int m_nModuleIndex; |
| | | int m_nMagnificIndex; |
| | | int m_nMeasure_Index; |
| | | int m_nMeasure_ResultCode; //0:None, 1:Success |
| | | int m_nWsi_ResultCode; //0:None, 1:Success |
| | | int m_nWsi_Type; // 함몰 / 돌기 |
| | | int m_nWsiReflowPositionIndex; // WsiReflowPositionIndex |
| | | int m_nWsi_pReflowResultData[8]; |
| | | int m_nReflow_Index; |
| | | int m_nReflow_ResultCode; //0:None, // 검출한 Line의 개수. 3 미만 : DAM2 Reflow 판정, 4~5 : DAM1 Reflow 판정, 6 : no Reflow 판정 / -1 : image not loaded, -2 : roi setting error, -3 : roi length error, -5 : select wrong side |
| | | int m_nReflow_Side; |
| | | int m_nReflow_InspectionMode; |
| | | //DUMY DATA |
| | | int Dumy_int[10]; |
| | | |
| | | //double |
| | | double m_dWsi_DamDistance; |
| | | double m_dWsiMmMotorX; // WSI 모터 좌표 20180223 HJH |
| | | double m_dWsiMmMotorY; |
| | | //DUMY DATA |
| | | double Dumy_double[10]; |
| | | |
| | | //char |
| | | char m_strRevImageName[256]; |
| | | char m_strRevImagePath[256]; |
| | | char m_strWsi_2DImageFilename[256]; |
| | | char m_strWsi_3DImageFilename[256]; |
| | | //DUMY DATA |
| | | char Dumy_char[256]; |
| | | |
| | | //unsigned char |
| | | |
| | | //CTime |
| | | |
| | | //short |
| | | |
| | | //BYTE |
| | | //DUMY DATA |
| | | BYTE Dumy_BYTE[10]; |
| | | |
| | | //BOOL |
| | | //DUMY DATA |
| | | BOOL Dumy_BOOL[10]; |
| | | |
| | | //float |
| | | float m_fManification; |
| | | float m_fManificResoultion; |
| | | float m_fMesure_ResultData[8]; // 0:Type, 1:ShiftX, 2:ShiftY |
| | | float m_fWsi_ResultData[8]; // 0:Type, 1:Height(um), 2:Width |
| | | float m_fWsiManification; // WSI 배율 |
| | | float m_fReflow_LinePosData[8]; |
| | | //DUMY DATA |
| | | float Dumy_float[10]; |
| | | char m_strRevImageName[256]; |
| | | char m_strRevImagePath[256]; |
| | | |
| | | ////////////////////////////////////////////////////////////////////////// |
| | | // Measure 영역 |
| | | int m_nMeasure_Index; |
| | | int m_nMeasure_ResultCode; //0:None, 1:Success |
| | | float m_fMesure_ResultData[8]; // 0:Type, 1:ShiftX, 2:ShiftY |
| | | |
| | | ////////////////////////////////////////////////////////////////////////// |
| | | // WSI영역 |
| | | int m_nWsi_ResultCode; //0:None, 1:Success |
| | | int m_nWsi_Type; // 함몰 / 돌기 |
| | | float m_fWsi_ResultData[8]; // 0:Type, 1:Height(um), 2:Width |
| | | char m_strWsi_2DImageFilename[256]; |
| | | char m_strWsi_3DImageFilename[256]; |
| | | int m_nWsiReflowPositionIndex; // WsiReflowPositionIndex |
| | | int m_nWsi_pReflowResultData[8]; |
| | | double m_dWsi_DamDistance; |
| | | |
| | | double m_dWsiMmMotorX; // WSI 모터 좌표 20180223 HJH |
| | | double m_dWsiMmMotorY; |
| | | float m_fWsiManification; // WSI 배율 |
| | | |
| | | ////////////////////////////////////////////////////////////////////////// |
| | | // Reflow 영역 |
| | | int m_nReflow_Index; |
| | | int m_nReflow_ResultCode; //0:None, // 검출한 Line의 개수. 3 미만 : DAM2 Reflow 판정, 4~5 : DAM1 Reflow 판정, 6 : no Reflow 판정 / -1 : image not loaded, -2 : roi setting error, -3 : roi length error, -5 : select wrong side |
| | | float m_fReflow_LinePosData[8]; |
| | | int m_nReflow_Side; |
| | | int m_nReflow_InspectionMode; |
| | | }; |
| | | |
| | | struct _grmDefectData |
| | |
| | | memset(this, 0, sizeof(_grmDefectData)); |
| | | } |
| | | |
| | | _grmDefectReviewData m_ReviewDefect; |
| | | |
| | | //int |
| | | int m_nDefectIdx; // 카메라에서의 결함 인덱스 201207 CJH - 자릿 수 넘침. int형으로 변경 |
| | | int m_nPixelConv; // pixel 단위 좌표 |
| | | int m_nPixelScan; // pixel 단위 좌표 |
| | | int m_nDefectRScale; // 픽셀단위 결함 높이 -------------------------RS |
| | | int m_nPixelGlassStart; // Glass 시작 픽셀 |
| | | int m_nUMOriginX; // um단위 x좌표 (원점기준) |
| | | int m_nUMOriginY; // um단위 y조표 (원점기준) |
| | | int m_nUMCenterAlignX; // um단위 X좌표 (Glass Center 기준, 얼라인보정 후) |
| | | int m_nUMCenterAlignY; // um단위 Y좌표 (Glass Center 기준, 얼라인보정 후) |
| | | int m_nUMCenterX; // um단위 X좌표 (Glass Center 기준, 얼라인보정 전) |
| | | int m_nUMCenterY; // um단위 Y좌표 (Glass Center 기준, 얼라인보정 전) |
| | | int m_nUMSizeX; // um단위 X 크기 -----------------------------UX |
| | | int m_nUMSizeY; // um단위 Y 크기 -----------------------------UY |
| | | int m_nUMSize; // um단위 크기. |
| | | int m_nPadRegionIdx; // PAD 영역 인덱스 |
| | | int m_nUMCellX; // 셀 원점 기준 x 좌표 |
| | | int m_nUMCellY; // 셀 원점 기준 y 좌표 |
| | | int m_nUMShotX; // 샷 기준 X좌표 |
| | | int m_nUMShotY; // 샷 기준 Y좌표 |
| | | int m_StackInfo; // Stack Flag |
| | | int m_ClassificationType; // enum ClassificationType { ClassType_None= 0, ClassType_PI_Over= 1, ClassType_PI_Under= 2, ClassType_TFE_Circle= 3, ClassType_Bubble, ClassType_Scratch, ClassType_Particle}; Classification Type, PI나 TFE등 추가 분류 알고리즘 적용 결과. |
| | | int m_nAtomWidth; // TFE 핵 너비 |
| | | int m_nAtomHeight; // TFE 핵 높이 |
| | | int m_nDefectMerge; // 현재 디펙의 머지 여부 |
| | | int m_nPixelSizeOrigin; |
| | | int m_nScratchRatio; |
| | | int m_nDensity; // 원형 결함 구분을 위한 밀도 [2017.8.2 bhs] |
| | | int m_nAngle; // 각도 |
| | | int m_nMajor; // 장축 길이(Long) |
| | | int m_nMinor; // 단축 길이(Short) |
| | | int m_nCompact; // Blob 장축을 지름으로 하는 원의 넓이와 Blob 넓이의 비율 |
| | | int m_nThickness; // Blob 넓이와 장축의 비율 (Area / Major) |
| | | int m_nHliLayers; // 해당결함에 포함된 레이어 bit처리 |
| | | int m_nAlignRectLeft; |
| | | int m_nAlignRectTop; |
| | | int m_nAlignRectBottom; |
| | | int m_nAlignRectRight; |
| | | //DUMY DATA |
| | | int Dumy_int[10]; |
| | | |
| | | //double |
| | | double m_dScanResolution; |
| | | double m_dConvResolution; |
| | | //DUMY DATA |
| | | double Dumy_double[10]; |
| | | |
| | | //char |
| | | char m_strStackFirst[60]; // Stack Step. //201221 CJH - 최대 사이즈 60bytes |
| | | char m_strUnitID[16]; // 유닛아이디 |
| | | char m_strDefectCode[32]; // Defect Code |
| | | char m_strAoiImageName[256]; // Defect Image Name(CCD Image) |
| | | char m_strDefectName[16]; |
| | | char m_strDefectType[16]; |
| | | char m_strAoiImagePath[255]; |
| | | char m_strReviewImagePath[255]; |
| | | char m_strLNDefectCode[12]; |
| | | //DUMY DATA |
| | | char Dumy_char[256]; |
| | | |
| | | //unsigned char |
| | | |
| | | //CTime |
| | | |
| | | //short |
| | | short m_nDefectID; |
| | | short m_nCameraID; |
| | | short m_nScanIdx; |
| | | //short m_nDefectIdx; // 카메라에서의 결함 인덱스 |
| | | int m_nDefectIdx; // 카메라에서의 결함 인덱스 201207 CJH - 자릿 수 넘침. int형으로 변경 |
| | | |
| | | int m_nPixelConv; // pixel 단위 좌표 |
| | | int m_nPixelScan; // pixel 단위 좌표 |
| | | |
| | | short m_nPixelSize; // 결함크기 ---------------------------------PS |
| | | short/*SERVER_DefectType*/ m_DefectType; // 결함 타입 ---------------------------------DT |
| | | short/*SERVER_DefectSubType*/ m_DefectSubType; // 결함의 판정상태. |
| | | short/*SERVER_DefectBDType*/ m_DefectBDType; // 결함 타입 - Bright, Dark, Both |
| | | |
| | | short m_sPixelWidth; // 픽셀단위 결함 너비 |
| | | short m_sPixelHeight; // 픽셀단위 결함 높이 |
| | | short m_nLevelSrcMin; // 결함 밝기 Min -----------------------------SN |
| | |
| | | short m_nLevelDiffMin; // 비교차 Min ---------------------------------DN |
| | | short m_nLevelDiffMax; // 비교차 Max ---------------------------------DX |
| | | short m_nLevelDiffAvg; // 비교차 Avg ---------------------------------DA |
| | | |
| | | int m_nDefectRScale; // 픽셀단위 결함 높이 -------------------------RS |
| | | short m_sThreshold; // 결함을 검출할 때의 Threshold |
| | | short m_sThresholdAvg; // 결함을 검출할 때의 Threshold AVG |
| | | short m_sDefectPeak; // 결함의 Peak. |
| | | short m_sDefectLevel; // (DiffAvg - Th) BOE 8G 요청사항 |
| | | |
| | | int m_nPixelGlassStart; // Glass 시작 픽셀 |
| | | short m_sDefectLoc; |
| | | |
| | | short m_sZoneClassPixelCount[16]; |
| | | short m_sZonePixelCount[16]; // Zone별 결함 Pixel 수 |
| | | short m_sZoneValueMin[16]; // Zone별 결함 Min |
| | | short m_sZoneValueMax[16]; // Zone별 결함 Max |
| | | short m_sZoneValueAvg[16]; // Zone별 결함 Avg |
| | | short m_sZonePixelPercent[16]; // --------------------------------------Z0~ZF |
| | | |
| | | //210127 CJH - Zone별 Source Gray 입력 |
| | | short m_sZoneValueSrcMin[16]; // Zone별 Source Min |
| | | short m_sZoneValueSrcMax[16]; // Zone별 Source Max |
| | | short m_sZoneValueSrcAvg[16]; // Zone별 Source Avg |
| | | |
| | | int m_nUMOriginX; // um단위 x좌표 (원점기준) |
| | | int m_nUMOriginY; // um단위 y조표 (원점기준) |
| | | int m_nUMCenterAlignX; // um단위 X좌표 (Glass Center 기준, 얼라인보정 후) |
| | | int m_nUMCenterAlignY; // um단위 Y좌표 (Glass Center 기준, 얼라인보정 후) |
| | | int m_nUMCenterX; // um단위 X좌표 (Glass Center 기준, 얼라인보정 전) |
| | | int m_nUMCenterY; // um단위 Y좌표 (Glass Center 기준, 얼라인보정 전) |
| | | int m_nUMSizeX; // um단위 X 크기 -----------------------------UX |
| | | int m_nUMSizeY; // um단위 Y 크기 -----------------------------UY |
| | | int m_nUMSize; // um단위 크기. |
| | | CRect m_RectUM; // 디펙 센터 기준 사각형. |
| | | |
| | | short/*SERVER_DefectSizeType*/ m_DefectSizeType; // 결함 크기 종류enum SERVER_DefectSizeType { SizeType_Unknown = 0, SizeType_Small, SizeType_Mid, SizeType_Large, SizeType_Huge, SizeType_Ultra }; |
| | | short/*SERVER_DefectPeakType*/ m_DefectPeakType; // Peak의 종류. |
| | | short/*Judgement*/ m_DefectJudgement; // 결함 판정. |
| | | BOOL m_bDefectCutoff; // 컷 오프 디펙(TRUE= Cutoff, FALSE) |
| | | short/*MAP16_DefectClass*/ m_DefectClass; // BOE Defect Class 16등분 구분 |
| | | int m_nPadRegionIdx; // PAD 영역 인덱스 |
| | | |
| | | int m_nUMCellX; // 셀 원점 기준 x 좌표 |
| | | int m_nUMCellY; // 셀 원점 기준 y 좌표 |
| | | short m_nModelIdx; // 몇 번째 모델인가? |
| | | short m_nCellIdx; // 몇번째 셀인가? |
| | | short m_nCellGate; // 셀별 Gate라인(얼라인 보정 전) |
| | | short m_nCellData; // 셀별 Data라인(얼라인 보정 전) |
| | | short m_nCellGateAlign; // 셀별 Gate라인(얼라인 보정 후) |
| | | short m_nCellDataAlign; // 셀별 Data라인(얼라인 보정 후) |
| | | short/*MAP16_DefectClass*/ m_DefectClass; // BOE Defect Class 16등분 구분 |
| | | |
| | | int m_nUMShotX; // 샷 기준 X좌표 |
| | | int m_nUMShotY; // 샷 기준 Y좌표 |
| | | short m_nMaskDefectIdx; // 한 Glass에서 발견된 마스크결함 묶음의 인덱스. |
| | | short m_nShotIdx; // 노광샷 번호 |
| | | short m_nMatchShotCount; // 동일한 마스크 결함의 수. |
| | | short m_nMatchMaxSize; // 동일한 마스크 중 가장 큰 결함의 크기. |
| | | |
| | | short m_nRepeatCount; // 연속결함발견위한 동일좌표 반복수 |
| | | short m_nMaskRepeatCount; |
| | | int m_StackInfo; // Stack Flag |
| | | BOOL m_bRealStack; // Stack 머지에 의한 TD(TRUE) 인지, 필터링에 의한 TD(FALSE)구분할 수 있다. |
| | | short m_nStackStepCount; // Stack 수 |
| | | short m_nStackColorIdx; // Color를 선택하는 인덱스. |
| | | short/*ReKind*/ m_DefectKind; // 결함 종류 |
| | | short m_nHliLevelIdx; // 몇 번째 레벨(채널)인가? |
| | | short/*LineDefectType*/ m_LineDefectType; |
| | | //DUMY DATA |
| | | short Dumy_short[100]; |
| | | |
| | | //BYTE |
| | | //DUMY DATA |
| | | BYTE Dumy_BYTE[10]; |
| | | |
| | | //BOOL |
| | | BOOL m_bDefectCutoff; // 컷 오프 디펙(TRUE= Cutoff, FALSE) |
| | | BOOL m_bRealStack; // Stack 머지에 의한 TD(TRUE) 인지, 필터링에 의한 TD(FALSE)구분할 수 있다. |
| | | BOOL m_bMergeState; // Merge Status |
| | | BOOL m_bShrinked; //210323 CJH - Frame Shrink 정보 추가 |
| | | //DUMY DATA |
| | | BOOL Dumy_BOOL[10]; |
| | | |
| | | //float |
| | | |
| | | //CRect |
| | | CRect m_RectUM; // 디펙 센터 기준 사각형. |
| | | //CString m_strStackStep[CFDEFECT_STACKCOUNT]; // Stack Step. |
| | | char m_strStackFirst[60]; // Stack Step. //201221 CJH - 최대 사이즈 60bytes |
| | | char m_strUnitID[16]; // 유닛아이디 |
| | | |
| | | int m_ClassificationType; // enum ClassificationType { ClassType_None= 0, ClassType_PI_Over= 1, ClassType_PI_Under= 2, ClassType_TFE_Circle= 3, ClassType_Bubble, ClassType_Scratch, ClassType_Particle}; Classification Type, PI나 TFE등 추가 분류 알고리즘 적용 결과. |
| | | int m_nAtomWidth; // TFE 핵 너비 |
| | | int m_nAtomHeight; // TFE 핵 높이 |
| | | short/*ReKind*/ m_DefectKind; // 결함 종류 |
| | | |
| | | char m_strDefectCode[32]; // Defect Code |
| | | BOOL m_bMergeState; // Merge Status |
| | | char m_strAoiImageName[256]; // Defect Image Name(CCD Image) |
| | | int m_nDefectMerge; // 현재 디펙의 머지 여부 |
| | | |
| | | |
| | | int m_nPixelSizeOrigin; |
| | | int m_nScratchRatio; |
| | | int m_nDensity; // 원형 결함 구분을 위한 밀도 [2017.8.2 bhs] |
| | | |
| | | char m_strDefectName[16]; |
| | | char m_strDefectType[16]; |
| | | |
| | | double m_dScanResolution; |
| | | double m_dConvResolution; |
| | | |
| | | int m_nAngle; // 각도 |
| | | int m_nMajor; // 장축 길이(Long) |
| | | int m_nMinor; // 단축 길이(Short) |
| | | int m_nCompact; // Blob 장축을 지름으로 하는 원의 넓이와 Blob 넓이의 비율 |
| | | int m_nThickness; // Blob 넓이와 장축의 비율 (Area / Major) |
| | | |
| | | short m_nHliLevelIdx; // 몇 번째 레벨(채널)인가? |
| | | int m_nHliLayers; // 해당결함에 포함된 레이어 bit처리 |
| | | |
| | | BOOL m_bShrinked; //210323 CJH - Frame Shrink 정보 추가 |
| | | |
| | | char m_strAoiImagePath[255]; |
| | | char m_strReviewImagePath[255]; |
| | | |
| | | int m_nAlignRectLeft; |
| | | int m_nAlignRectTop; |
| | | int m_nAlignRectBottom; |
| | | int m_nAlignRectRight; |
| | | /*< LHS 20211029 - #3783 MOD Start >*/ |
| | | char m_strLNDefectCode[12]; |
| | | short/*LineDefectType*/ m_LineDefectType; |
| | | /*< LHS 20211029 - #3783 MOD End >*/ |
| | | |
| | | _grmDefectReviewData m_ReviewDefect; |
| | | }; |
| | | |
| | | |
| | |
| | | { |
| | | //공유 메모리 생성할 공간 결정 [김태현 2018/11/12] |
| | | size_t m_nGlassRawDataSize; |
| | | |
| | | //int |
| | | int m_nGlassMaxDataNum; |
| | | int m_nBlockMaxDataNum; |
| | | int m_nCellMaxDataNum; |
| | | int m_nDefectMaxDataNum; |
| | | int m_nStackMaxDataNum; |
| | | /*< KJG 20211024 - #3487 ADD Start >*/ |
| | | int m_nRawMergeMaxDataNum; |
| | | /*< KJG 20211024 - #3487 ADD End >*/ |
| | | |
| | | //Char 기준 자료가 있는 시작 위치 [김태현 2018/11/12] |
| | | int m_nGlassDataPoint; |
| | | int m_nBlockDataPoint; |
| | | int m_nCellDataPoint; |
| | | int m_nDefectDataPoint; |
| | | int m_nStackDataPoint; |
| | | /*< KJG 20211024 - #3487 ADD Start >*/ |
| | | int m_nRawMergeDataPoint; |
| | | /*< KJG 20211024 - #3487 ADD End >*/ |
| | | |
| | | int m_nSizeOfGlassData; |
| | | int m_nSizeOfBlockData; |
| | | int m_nSizeOfCellData; |
| | | int m_nSizeOfDefectData; |
| | | int m_nSizeOfStackData; |
| | | /*< KJG 20211024 - #3487 ADD Start >*/ |
| | | int m_nSizeOfRawMergeData; |
| | | //DUMY DATA |
| | | int Dumy_int[10]; |
| | | /*< KJG 20211024 - #3487 ADD End >*/ |
| | | }; |
| | | struct _grmDitGlassRawInfo : public _grmDitMemInfo, public _grmDitCommand |
| | | { |
| | |
| | | |
| | | size_t m_nGlassRawDataSize; |
| | | |
| | | //int |
| | | int m_nGlassMaxDataNum; |
| | | int m_nBlockMaxDataNum; |
| | | int m_nCellMaxDataNum; |
| | | int m_nDefectMaxDataNum; |
| | | int m_nStackMaxDataNum; |
| | | |
| | | int m_nGlassDataPoint; |
| | | int m_nBlockDataPoint; |
| | | int m_nCellDataPoint; |
| | | int m_nDefectDataPoint; |
| | | int m_nStackDataPoint; |
| | | |
| | | int m_nSizeOfGlassData; |
| | | int m_nSizeOfBlockData; |
| | | int m_nSizeOfCellData; |
| | | int m_nSizeOfDefectData; |
| | | int m_nSizeOfStackData; |
| | | |
| | | //DUMY DATA |
| | | int Dumy_int[10]; |
| | | //DUMY DATA |
| | | double Dumy_double[10]; |
| | | //DUMY DATA |
| | | char Dumy_char[256]; |
| | | //DUMY DATA |
| | | short Dumy_short[10]; |
| | | //DUMY DATA |
| | | BYTE Dumy_BYTE[10]; |
| | | //DUMY DATA |
| | | BOOL Dumy_BOOL[10]; |
| | | |
| | | private: |
| | | //bool |
| | | bool m_bRefAlloc; |
| | | }; |