#include "StdAfx.h"
|
#include "CHReviewRecipe/Rcp_RsAlignManager.h"
|
|
CRcp_RsAlignManager::CRcp_RsAlignManager(void)
|
{
|
}
|
|
CRcp_RsAlignManager::~CRcp_RsAlignManager(void)
|
{
|
}
|
|
void CRcp_RsAlignManager::SetProfile(CMacroFile& macroFile)
|
{
|
CString strItem;
|
|
// Align SKip Mode
|
strItem.Format(_T("RCP_ALIGN_USE_SKIPMODE"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bAlignSkipMode);
|
|
// TotalPitch
|
strItem.Format(_T("RCP_ALIGN_USE_TOTALPITCH"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bTotalPitchMeasure);
|
|
// image matching
|
strItem.Format(_T("RCP_ALIGN_USE_IMAGE"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bUseImage);
|
|
strItem.Format(_T("RCP_ALIGN_MATCH_RATE"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dMatchingRate);
|
|
strItem.Format(_T("RCP_ALIGN_FIRST_IMAGE_FILE"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_strFirstImageFile);
|
|
strItem.Format(_T("RCP_ALIGN_SECOND_IMAGE_FILE"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_strSecondImageFile);
|
|
/*< LYW 20211012 - #3671 ADD Start >*/
|
strItem.Format(_T("RCP_ALIGN_FIRST_ASSISTANT_IMAGE_FILE"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_strFirstAssistantImageFile);
|
|
strItem.Format(_T("RCP_ALIGN_SECOND_ASSISTANT_IMAGE_FILE"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_strSecondAssistantImageFile);
|
/*< LYW 20211012 - #3671 ADD End >*/
|
|
strItem.Format(_T("RCP_ALIGN_TOTAL_PITCH_IMAGE_FILE"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_strTotalPitchImageFile);
|
|
|
// edge find param
|
strItem.Format(_T("RCP_ALIGN_USE_EDGE"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bUseEdge);
|
|
strItem.Format(_T("RCP_ALIGN_EDGE_WIDTH"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_nEdgeWidth);
|
|
strItem.Format(_T("RCP_ALIGN_EDGE_HEIGHT"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_nEdgeHeight);
|
|
strItem.Format(_T("RCP_ALIGN_EDGE_THRESHOLD"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_nEdgeThreshold);
|
|
strItem.Format(_T("RCP_ALIGN_MERGE_RANGE"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_nMergeRange);
|
|
strItem.Format(_T("RCP_ALIGN_EDGE_RATE"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dEdgeRate);
|
|
// EdgeAlign
|
strItem.Format(_T("RCP_ALGIN_EDGEALIGN_PROCESS"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bEdgeAlignProcess);
|
|
// manual light control
|
strItem.Format(_T("RCP_ALIGN_MANUAL_PROCESS"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bManualProcess);
|
|
strItem.Format(_T("RCP_ALIGN_FIRST_CAM_EXPOSURE"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dFirstCamExposure);
|
|
strItem.Format(_T("RCP_ALIGN_SECOND_CAM_EXPOSURE"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dSecondCamExposure);
|
|
// auto light control
|
strItem.Format(_T("RCP_ALIGN_AUTO_PROCESS"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bAutoProcess);
|
|
strItem.Format(_T("RCP_ALIGN_TARGET_MIN"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dTargetMin);
|
|
strItem.Format(_T("RCP_ALIGN_TARGET_MAX"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dTargetMax);
|
|
strItem.Format(_T("RCP_ALIGN_EXPOSURE_MIN"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dExposureMin);
|
|
strItem.Format(_T("RCP_ALIGN_EXPOSURE_MAX"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dExposureMax);
|
|
// rotate
|
strItem.Format(_T("RCP_ALIGN_ROTATE_PROCESS"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bRotateProcess);
|
|
strItem.Format(_T("RCP_ALIGN_RETRY_COUNT"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_nRetryCount);
|
|
strItem.Format(_T("RCP_ALIGN_ANGLE_MIN"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dGlassAngleMin);
|
|
strItem.Format(_T("RCP_ALIGN_ANGLE_MAX"));
|
macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dGlassAngleMax);
|
}
|
|
void CRcp_RsAlignManager::GetProfile(CMacroFile& macroFile)
|
{
|
CString strItem;
|
|
m_rsRcpAlignInfo.Reset();
|
|
// Align SKip Mode
|
strItem.Format(_T("RCP_ALIGN_USE_SKIPMODE"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bAlignSkipMode, 0);
|
|
strItem.Format(_T("RCP_ALIGN_USE_TOTALPITCH"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bTotalPitchMeasure, 0);
|
|
// image matching
|
strItem.Format(_T("RCP_ALIGN_USE_IMAGE"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bUseImage, 1);
|
|
strItem.Format(_T("RCP_ALIGN_MATCH_RATE"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dMatchingRate, 0.8);
|
|
strItem.Format(_T("RCP_ALIGN_FIRST_IMAGE_FILE"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_strFirstImageFile, _T(""));
|
|
strItem.Format(_T("RCP_ALIGN_SECOND_IMAGE_FILE"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_strSecondImageFile, _T(""));
|
|
/*< LYW 20211012 - #3671 ADD Start >*/
|
strItem.Format(_T("RCP_ALIGN_FIRST_ASSISTANT_IMAGE_FILE"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_strFirstAssistantImageFile, _T(""));
|
|
strItem.Format(_T("RCP_ALIGN_SECOND_ASSISTANT_IMAGE_FILE"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_strSecondAssistantImageFile, _T(""));
|
/*< LYW 20211012 - #3671 ADD End >*/
|
|
strItem.Format(_T("RCP_ALIGN_TOTAL_PITCH_IMAGE_FILE"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_strTotalPitchImageFile, _T(""));
|
|
|
// edge find param
|
strItem.Format(_T("RCP_ALIGN_USE_EDGE"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bUseEdge, TRUE);
|
|
strItem.Format(_T("RCP_ALIGN_EDGE_WIDTH"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_nEdgeWidth, 160);
|
|
strItem.Format(_T("RCP_ALIGN_EDGE_HEIGHT"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_nEdgeHeight, 160);
|
|
strItem.Format(_T("RCP_ALIGN_EDGE_THRESHOLD"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_nEdgeThreshold, 30);
|
|
strItem.Format(_T("RCP_ALIGN_MERGE_RANGE"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_nMergeRange, 4);
|
|
strItem.Format(_T("RCP_ALIGN_EDGE_RATE"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dEdgeRate, 0.8);
|
|
strItem.Format(_T("RCP_ALGIN_EDGEALIGN_PROCESS"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bEdgeAlignProcess, FALSE);
|
|
// manual light control
|
strItem.Format(_T("RCP_ALIGN_MANUAL_PROCESS"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bManualProcess, 1);
|
|
strItem.Format(_T("RCP_ALIGN_FIRST_CAM_EXPOSURE"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dFirstCamExposure, 50);
|
|
strItem.Format(_T("RCP_ALIGN_SECOND_CAM_EXPOSURE"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dSecondCamExposure, 50);
|
|
// auto light control
|
strItem.Format(_T("RCP_ALIGN_AUTO_PROCESS"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bAutoProcess, 0);
|
|
strItem.Format(_T("RCP_ALIGN_TARGET_MIN"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dTargetMin, 50);
|
|
strItem.Format(_T("RCP_ALIGN_TARGET_MAX"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dTargetMax, 100);
|
|
strItem.Format(_T("RCP_ALIGN_EXPOSURE_MIN"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dExposureMin, 0);
|
|
strItem.Format(_T("RCP_ALIGN_EXPOSURE_MAX"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dExposureMax, 255);
|
|
// rotate
|
strItem.Format(_T("RCP_ALIGN_ROTATE_PROCESS"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bRotateProcess, 0);
|
|
strItem.Format(_T("RCP_ALIGN_RETRY_COUNT"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_nRetryCount, 3);
|
|
strItem.Format(_T("RCP_ALIGN_ANGLE_MIN"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dGlassAngleMin, 0.001);
|
|
strItem.Format(_T("RCP_ALIGN_ANGLE_MAX"));
|
macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dGlassAngleMax, 0.1);
|
}
|