#pragma once
|
|
#include "CHReviewResultParser/ParsingGlassResult.h"
|
#include "CHResultFileManager/ResultFileData_CPJT.h"
|
#include "../ReviewSystem/DitGlassRawClient.h"
|
|
enum GlassOriginDir { GlassOrigin_LeftTop=0, GlassOrigin_RightTop, GlassOrigin_LeftBottom, GlassOrigin_RightBottom, GlassOrigin_Count };
|
enum CSOTDfectCode {CSOT_PARTICLE=1,COST_CRACK,CSOT_MURA,CSOT_PROTRUDE,CSOT_DENT,CSOT_TFE_ABNORMAL,CSOT_BUBBLE,CSOT_SCRATCH};
|
enum Judgement { Judge_OK = 0, Judge_RP, Judge_NG, Judge_TR, Judge_PR, Judge_ND, Judge_PT, Judge_Review, Judge_RC, Judge_Size, Judge_VI, Judge_Rework, Judge_Unknown };
|
enum JudgeCode { CODE_DEFAULT= 0,TRDF , BATR, DOBB, DOBS, DOWW, DOWB, DOWS };
|
|
#define LAYER_GT_50 _T("0114")
|
#define LAYER_GT_58 _T("0214")
|
#define LAYER_IGZO_50 _T("0134")
|
#define LAYER_IGZO_58 _T("0234")
|
#define LAYER_ESGI_50 _T("0144")
|
#define LAYER_ESGI_58 _T("0244")
|
#define LAYER_SD_50 _T("0154")
|
#define LAYER_SD_58 _T("0254")
|
#define LAYER_JAS_50 _T("0174")
|
#define LAYER_JAS_58 _T("0274")
|
#define LAYER_PIX_50 _T("0184")
|
#define LAYER_PIX_58 _T("0284")
|
|
//enum eCSOTRawData{
|
// eCSOTRaw_LotLayerInfoData = 0, // 10
|
// eCSOTRaw_LayerNumInfoData, // 11
|
// eCSOTRaw_GlassInfoData, // 30
|
// eCSOTRaw_PanelInfoData, // 41
|
// eCSOTRaw_DefectInfoData, // 50
|
// eCSOTRaw_ElectroInfoData, // 51
|
// eCSOTRaw_CCDInfoData, // 52
|
// eCSOTRaw_ReviewInfoData, // 53
|
// eCSOTRaw_AlignInfoData, // 55
|
// eCPJTRaw_Count
|
//};
|
|
//
|
//enum eCSOTRawGlassIndex{ // 30
|
// eCSOTRaw_Glass_Name = 0, // ������ȣ // AA - 30 ����
|
// eCSOTRaw_Glass_PanelNum, // �˻� Panel ���� // 9999 - ��
|
// eCSOTRaw_Glass_RecipeID, // Recipe ID // AAAA
|
// eCSOTRaw_Glass_ProcessTime, // Processing Time // 9999 - �� : ���Խ��� ~ ����Ϸ� �ð�
|
// eCSOTRaw_Glass_GlassID, // ����ID (VCR) // AAAAAAAAAAAA
|
//
|
// eCSOTRaw_Glass_ReadResult, // VCR �б� ��� // A
|
// eCSOTRaw_Glass_CPFlag, // CP Instruction Flag // A - 0 : QMS Don't CP Processing, 1 : QMS IN the CP Processing
|
// eCSOTRaw_Glass_ElectroNum, // ������ Monitor ���� ���� // 9 - ȸ
|
// eCSOTRaw_Glass_CCDNum, // CCD Monitor ���� // 99 - ȸ
|
// eCSOTRaw_Glass_ReviewNum, // Review ���� // 999 - ȸ
|
//
|
// eCSOTRaw_Glass_Alignment, // Alignment ���� // 9 - �ǽ� : 1, �̽ǽ� : 0
|
// // [2018/07/05 08:38:46 by jylee] related Format ����
|
// eCSOTRaw_Glass_Spare1, // ����� 1
|
// eCSOTRaw_Glass_Spare2 // ����� 2
|
//
|
//
|
//};
|
/*
|
enum eCSOTRawGlassIndex{ // 30
|
eCSOTRaw_Glass_Name = 0, // 1. ������ȣ // AA - 30 ����
|
eCSOTRaw_Glass_PanelNum, // 2. �˻� Panel ���� // 9999 - ��
|
eCSOTRaw_Glass_RecipeID, // 3. Recipe ID // AAAA
|
eCSOTRaw_Glass_ProcessTime, // 4. Processing Time // 9999 - �� : ���Խ��� ~ ����Ϸ� �ð�
|
eCSOTRaw_Glass_GlassID, // 5. ����ID (VCR) // AAAAAAAAAAAA
|
|
eCSOTRaw_Glass_ReadResult, // 6. VCR �б� ��� // A
|
eCSOTRaw_Glass_CPFlag, // 7. CP Instruction Flag // A - 0 : QMS Don't CP Processing, 1 : QMS IN the CP Processing
|
eCSOTRaw_Glass_ElectroNum, // 8. ������ Monitor ���� ���� // 9 - ȸ
|
eCSOTRaw_Glass_CCDNum, // 9. CCD Monitor ���� // 99 - ȸ
|
eCSOTRaw_Glass_ReviewNum, // 10. Review ���� // 999 - ȸ
|
|
eCSOTRaw_Glass_Alignment, // 11. Alignment ���� // 9 - �ǽ� : 1, �̽ǽ� : 0
|
eCSOTRaw_Glass_TotalDefect, // 12. �����Ѽ� // 99999
|
eCSOTRaw_Glass_REVDefect, // 13. ���� ���Լ� // 99999
|
eCSOTRaw_Glass_FIXDefect, // 14. ���� ���� ���Լ� // 99999
|
eCSOTRaw_Glass_MaskDefect, // 15. MASK ���Լ� // 99999
|
|
eCSOTRaw_Glass_CommonDefect, // 16. ���� ���Լ� // 99999
|
eCSOTRaw_Glass_Spare1, // 17. ����� 1
|
eCSOTRaw_Glass_Spare2 // 18. ����� 2
|
|
};
|
*/
|
//enum eCSOTRawPanelIndex{ // 41
|
// eCSOTRaw_Panel_Name = 0, // 1. ������ȣ // AA - 41 ����
|
// eCSOTRaw_Panel_CellNum, // 2. Cell ��ȣ // AAAA
|
// eCSOTRaw_Panel_Judge, // 3. Panel ���� ��� // A
|
// eCSOTRaw_Panel_Reason, // 4. �������� // AAAAA
|
// eCSOTRaw_Panel_CPFlag, // 5. CP Flag // AAA - 0 : �䱸 ��, 1: �ǽ�, 8: �̽ǽ�, 9:Data��
|
//
|
// eCSOTRaw_Panel_FrontCPDefectNum, // 6. CP �� �Ѱ��Լ� // 9999 - ��
|
// eCSOTRaw_Panel_RearCPDefectNum, // 7. CP �� �Ѱ��Լ� // 9999 - ��
|
// eCSOTRaw_Panel_Spare1, // 8. ����� 1
|
// eCSOTRaw_Panel_Spare2 // 9. ����� 2
|
//};
|
|
|
//enum eCSOTRawDefectIndex{ // 50
|
// eCSOTRaw_Defect_Name = 0, // ������ȣ // 50 ����
|
// eCSOTRaw_Defect_Code, // �����ڵ� // AAAAA
|
// eCSOTRaw_Defect_CenterOriX, // ������ǥX 1 // +-9999.999 mm ���� ���� �������� ��ǥ
|
// eCSOTRaw_Defect_CenterOriY, // ������ǥY 1 // +-9999.999 mm
|
// eCSOTRaw_Defect_Area, // ���� Size(����) // 999.99 um - ���� ���Ը���
|
//
|
// eCSOTRaw_Defect_SizeType, // ���� Size ���� // A - S/M/L/O
|
// eCSOTRaw_Defect_DefectType, // ���� Type // A - N: Normal, C: Common, M: Mask
|
// eCSOTRaw_Defect_Zone, // ���� ��ġ // A - Zone
|
// eCSOTRaw_Defect_Size, // ���� Size (CCD��) // 99999 um2 - Camera Pixel Size
|
// eCSOTRaw_Defect_SizeX, // ����Size DX // 999.99 um - ���� ���� X�� ����
|
//
|
// eCSOTRaw_Defect_SizeY, // ����Size DY // 999.99 um - ���� ���� Y�� ����
|
// eCSOTRaw_Defect_X, // ������ǥ X 2 // 9999.999 mm - QMS Calculation
|
// eCSOTRaw_Defect_Y, // ������ǥ Y 2 // 9999.999 mm
|
// eCSOTRaw_Defect_PixelX, // ���� Pixel ��ǥ X // 99999
|
// eCSOTRaw_Defect_PixelY, // ���� Pixel ��ǥ Y // 99999
|
//
|
// eCSOTRaw_Defect_CPResult, // CP ��� // AAA - 0: CP ��ġ ��, 1: CP��ġ, 8: �̽ǽ�
|
// eCSOTRaw_Defect_Flag, // ������� Flag // AAAAA - 0 : ������� ��, 1: �����ĺ�
|
// eCSOTRaw_Defect_ImageName, // �̹��� ��ȣ // AAAAA.A999.AAA - Rule : " ����ID " + " . " + " B " ( Before ) + " ֧�� " + ?��� " .AAA "
|
// eCSOTRaw_Defect_ImageSizeX, // �̹��� Size X // 9999.99 um
|
// eCSOTRaw_Defect_ImageSizeY, // �̹��� Size Y // 9999.99 um
|
//
|
// // [2018/07/05 08:42:57 by jylee] related Format ����
|
// eCSOTRaw_Defect_Spare1 // ����� 1
|
//};
|
|
/*
|
enum eCSOTRawDefectIndex{ // 50
|
eCSOTRaw_Defect_Name = 0, // 1. ������ȣ // 50 ����
|
eCSOTRaw_Defect_Code, // 2. �����ڵ� // AAAAA
|
eCSOTRaw_Defect_CenterOriX, // 3. ������ǥX 1 // +-9999.999 mm ���� ���� �������� ��ǥ
|
eCSOTRaw_Defect_CenterOriY, // 4. ������ǥY 1 // +-9999.999 mm
|
eCSOTRaw_Defect_Area, // 5. ���� Size(����) // 999.99 um - ���� ���Ը���
|
|
eCSOTRaw_Defect_SizeType, // 6. ���� Size ���� // A - S/M/L/O
|
eCSOTRaw_Defect_DefectType, // 7. ���� Type // A - N: Normal, C: Common, M: Mask
|
eCSOTRaw_Defect_Zone, // 8. ���� ��ġ // A - Zone
|
eCSOTRaw_Defect_Size, // 9. ���� Size (CCD��) // 99999 um2 - Camera Pixel Size
|
eCSOTRaw_Defect_SizeX, // 10. ����Size DX // 999.99 um - ���� ���� X�� ����
|
|
eCSOTRaw_Defect_SizeY, // 11. ����Size DY // 999.99 um - ���� ���� Y�� ����
|
eCSOTRaw_Defect_X, // 12. ������ǥ X 2 // 9999.999 mm - QMS Calculation
|
eCSOTRaw_Defect_Y, // 13. ������ǥ Y 2 // 9999.999 mm
|
eCSOTRaw_Defect_PixelX, // 14. ���� Pixel ��ǥ X // 99999
|
eCSOTRaw_Defect_PixelY, // 15. ���� Pixel ��ǥ Y // 99999
|
|
eCSOTRaw_Defect_CPResult, // 16. CP ��� // AAA - 0: CP ��ġ ��, 1: CP��ġ, 8: �̽ǽ�
|
eCSOTRaw_Defect_Flag, // 17. ������� Flag // AAAAA - 0 : ������� ��, 1: �����ĺ�
|
eCSOTRaw_Defect_ImageName, // 18. �̹��� ��ȣ // AAAAA.A999.AAA - Rule : " ����ID " + " . " + " B " ( Before ) + " ֧�� " + ?��� " .AAA "
|
eCSOTRaw_Defect_ImageSizeX, // 19. �̹��� Size X // 9999.99 um
|
eCSOTRaw_Defect_ImageSizeY, // 20. �̹��� Size Y // 9999.99 um
|
|
// [2018/07/05 08:42:57 by jylee] related Format ����
|
eCSOTRaw_Defect_CCDValue, // 21. CCD ��ġ // 99999
|
eCSOTRaw_Defect_CCDNum, // 22. ������ ī�� ��ȣ // 99
|
eCSOTRaw_Defect_SliceNum, // 23. ���� ���° ��ĵ ����// 99
|
eCSOTRaw_Defect_REVNum, // 24. ���� ������ � // 99
|
eCSOTRaw_Defect_DefectPosGray, // 25. ������ġ �ֵ��� // 999
|
|
eCSOTRaw_Defect_NormalPosGray, // 26. ������ġ �ֵ��� // 999
|
eCSOTRaw_Defect_Spare1, // 27. ����� 1
|
eCSOTRaw_Defect_Spare2 // 28. ����� 2
|
};
|
*/
|
|
//enum eCSOTRawElectroIndex{ // 51
|
// eCSOTRaw_Electro_Name = 0, // ������ȣ // 51 ����
|
// eCSOTRaw_Electro_Value, // ����ġ // +-9999.99
|
// eCSOTRaw_Electro_Spare1 // �����1
|
//};
|
|
//enum eCSOTRawCCDIndex{ // 52
|
// eCSOTRaw_CCD_Name = 0, // ������ȣ // 52 ����
|
// eCSOTRaw_CCD_CamNum, // CCD Camera ��ȣ // AA
|
// eCSOTRaw_CCD_AvgGrayScale, // ��� Gray-Scale // 999
|
// eCSOTRaw_CCD_Spare1 // �����1
|
//};
|
|
enum eCSOTRawReviewIndex{ // 53
|
eCSOTRaw_Review_Name = 0, // ������ȣ // 53 ����
|
eCSOTRaw_Review_PosX, // ������ġ X // +-9999.999 mm - ���� �߽�
|
eCSOTRaw_Review_PosY, // ������ġ Y // +-9999.999 mm
|
eCSOTRaw_Review_ImageName, // �̹����� // AAAAA.A999.AAA
|
eCSOTRaw_Review_SizeX, // �̹��� Size X // 9999.99 um
|
eCSOTRaw_Review_SizeY, // �̹��� Size Y // 9999.99 um
|
eCSOTRaw_Review_Spare1 // �����1
|
};
|
|
//enum eCSOTRawAlignmentIndex{ // 55
|
// eCSOTRaw_Alignment_Name = 0, // ������ȣ // 55 ����
|
// eCSOTRaw_Alignment_Result, // Alignment ��� // 99999 - G: OK, N: NG, S:������
|
// eCSOTRaw_Alignment_Rotation, // Alignment Rotation // +-9.999999 - ���� ȸ�� ����
|
// eCSOTRaw_Alignment_A1ShiftX, // A1 Shift��ġ X // +-9.999999
|
// eCSOTRaw_Alignment_A1ShiftY, // A1 Shift��ġ Y // +-9.999999
|
//
|
// eCSOTRaw_Alignment_A2ShiftX, // A2 Shift��ġ X // +-9.999999
|
// eCSOTRaw_Alignment_A2ShiftY, // A2 Shift��ġ Y // +-9.999999
|
// eCSOTRaw_Alignment_A3ShiftX, // A3 Shift��ġ X // +-9.999999
|
// eCSOTRaw_Alignment_A3ShiftY, // A3 Shift��ġ Y // +-9.999999
|
// eCSOTRaw_Alignment_A4ShiftX, // A4 Shift��ġ X // +-9.999999
|
//
|
// eCSOTRaw_Alignment_A4ShiftY, // A4 Shift��ġ Y // +-9.999999
|
// eCSOTRaw_Alignment_Spare1 // �����1
|
//};
|
|
enum eCSOTRTMSRawData{
|
eCSOT_RTMS_GlassInfoItem = 0, eCSOT_RTMS_GlassInfoData,
|
eCSOT_RTMS_CellInfoItem, eCSOT_RTMS_CellInfoData,
|
eCSOT_RTMS_DefectInfoItem, eCSOT_RTMS_DefectInfoData,
|
eCSOT_RTMS_CameraInfoItem, eCSOT_RTMS_CameraInfoData,
|
eCSOT_RTMS_Count
|
};
|
|
class AFX_EXT_CLASS CParsingGlassResult_CPJT : public CParsingGlassResult
|
{
|
public:
|
CParsingGlassResult_CPJT(void);
|
virtual ~CParsingGlassResult_CPJT(void);
|
|
|
|
// ������ ���� ���Լ� CMARK=================================================================================
|
// Memory -> GlassResult
|
virtual void MemoryParsingFileToGlassResult(CGlassResult* pGlassResult, CDitGlassRawClient* pDitRawClient);
|
virtual int MemoryParsingReviewResultDataToFile(CGlassResult* pGlassResult, CDitGlassRawClient* pRawMemoryMgr) ;
|
virtual int MemoryParsingWsiResultDataToFile(CGlassResult* pGlassResult, CDitGlassRawClient* pRawMemoryMgr) ;
|
virtual int MemoryParsingMeasureResultDataToFile(CGlassResult* pGlassResult, CDitGlassRawClient* pRawMemoryMgr) ;
|
virtual int MemoryParsingReflowResultDataToFile(CGlassResult* pGlassResult, CDitGlassRawClient* pRawMemoryMgr);
|
//====================================================================================================================
|
|
|
virtual int ParsingWsiReflowResultDataToFile(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr);
|
virtual void ParsingFileToGlassResult(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr);
|
virtual int ParsingReviewResultDataToFile(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr);
|
virtual int ParsingReviewResultDataCD(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr);
|
virtual int ParsingReviewResultDataSD(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr);
|
virtual int ParsingWsiResultDataToFile(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr);
|
virtual int ParsingReflowResultData(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr);
|
|
virtual int ParsingMeasureResultDataToFile(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr);
|
|
virtual void ParsingRTMSFileToGlassResult(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr);
|
virtual int ParsingReviewResultDataToRTMSFile(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr);
|
//virtual int ParsingDeepLearningFileToResultData( CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr );
|
|
BOOL CheckResultFileAndCopy( CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr, const SReviewResult *pResult, const CString& strFileName );
|
//BOOL CheckDeepLearningResult( CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr, int nDLIndex, const CString& strFileName );
|
|
// [2018/03/14 10:19:06 by jylee] related Deep Learning
|
//virtual int ParsingDeepLearningResultDataToGlassResult( CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr );
|
|
virtual int ParsingDataReloadToGlassResult( CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr, int nOrgGlass );
|
|
protected:
|
|
private:
|
|
BOOL StartParshing();
|
int GetDefectType(const CString& strValue);
|
int GetGrayType(const CString& strValue);
|
CString GetGrayType(const int& nValue);
|
int GetProcessType(const CString& strValue);
|
int GetSizeType(const CString& strValue);
|
int GetStackType(const CString& strValue);
|
int GetJudgeType(const CString& strValue);
|
int GetOpticType(int nDefectType);
|
int GetCSOTDefectType(const CString& strValue);
|
int GetZoneType(const CString& strValue); // [2018/07/28 10:57:49 by jylee] related Zone Data
|
//int GetFeatureType(const CString& strValue);
|
|
int GetDefectCodeType( const CString& strRecipeID, const CString& strValue ); // [2018/03/14 09:47:51 by jylee] related Deep Learning
|
int GetCSOTDefectCode(CString strDfectType);
|
CString GetGradeType(int nJudgementType);//DefectJudgement
|
int GetCodeType(CString strValue);
|
|
|
};
|