|
@@ -26,7 +26,7 @@ namespace OTSModelSharp
|
|
|
protected bool bSaveThreadWorking;
|
|
|
protected System.Threading.Thread m_thread_ptr;
|
|
|
|
|
|
- protected COTSSample m_pSample;
|
|
|
+ protected COTSSample m_Sample;
|
|
|
protected CMsrThread m_pMsrThread;
|
|
|
string m_strWorkingFolder;
|
|
|
|
|
@@ -67,14 +67,14 @@ namespace OTSModelSharp
|
|
|
m_ScanHardwareMgr = new ScanController();
|
|
|
m_EDSHardwareMgr = new EDSController();
|
|
|
m_listHoleBSEImg = new CHoleBSEImgsList();
|
|
|
- m_pSample = a_pSample;
|
|
|
+ m_Sample = a_pSample;
|
|
|
|
|
|
}
|
|
|
|
|
|
public void SetSample(COTSSample a_pSample)
|
|
|
{
|
|
|
|
|
|
- m_pSample = a_pSample;
|
|
|
+ m_Sample = a_pSample;
|
|
|
m_pSampleRstFile.SetSample(a_pSample);
|
|
|
}
|
|
|
|
|
@@ -88,7 +88,7 @@ namespace OTSModelSharp
|
|
|
|
|
|
bool SetSEMDataMrs()
|
|
|
{
|
|
|
- var pSEMDataMsr = m_pSample.GetSEMDataMsr();
|
|
|
+ var pSEMDataMsr = m_Sample.GetSEMDataMsr();
|
|
|
//ASSERT(pSEMDataMsr);
|
|
|
double dMag = pSEMDataMsr.GetMagnification();
|
|
|
double dWorkDis = pSEMDataMsr.GetWorkingDistance();
|
|
@@ -167,7 +167,7 @@ namespace OTSModelSharp
|
|
|
|
|
|
|
|
|
// scan parameters
|
|
|
- var pMsrParam = m_pSample.GetMsrParams();
|
|
|
+ var pMsrParam = m_Sample.GetMsrParams();
|
|
|
var pImgScanParam = pMsrParam.GetImageScanParam();
|
|
|
|
|
|
// get image size
|
|
@@ -256,16 +256,16 @@ namespace OTSModelSharp
|
|
|
a_strWorkingFolder += "\\";
|
|
|
}
|
|
|
|
|
|
- m_strWorkingFolder = a_strWorkingFolder + m_pSample.GetName() + "\\";
|
|
|
+ m_strWorkingFolder = a_strWorkingFolder + m_Sample.GetName() + "\\";
|
|
|
}
|
|
|
bool CalculateUnMeasuredFieldsCenters(out List<System.Drawing.Point> a_listFieldCenter)
|
|
|
{
|
|
|
|
|
|
// sample measure parameters
|
|
|
- CSampleParam pMsrParam = m_pSample.GetMsrParams();
|
|
|
+ CSampleParam pMsrParam = m_Sample.GetMsrParams();
|
|
|
COTSImgScanPrm poImageScanParam = pMsrParam.GetImageScanParam();
|
|
|
- CSEMDataMsr poSEMDataMsr = m_pSample.GetSEMDataMsr();
|
|
|
- CMsrSampleStatus pStatus = m_pSample.GetMsrStatus();
|
|
|
+ CSEMDataMsr poSEMDataMsr = m_Sample.GetSEMDataMsr();
|
|
|
+ CMsrSampleStatus pStatus = m_Sample.GetMsrStatus();
|
|
|
|
|
|
// measured field centers list
|
|
|
List<System.Drawing.Point> listCompletedCenter = pStatus.GetCompletedFieldsCenter();
|
|
@@ -274,7 +274,7 @@ namespace OTSModelSharp
|
|
|
CFieldPositionMgr pFieldMgr = new CFieldPositionMgr();
|
|
|
|
|
|
// init field centers list manager
|
|
|
- if (!pFieldMgr.Init(m_pSample.GetMsrArea(), poImageScanParam, poSEMDataMsr, listCompletedCenter))
|
|
|
+ if (!pFieldMgr.Init(m_Sample.GetMsrArea(), poImageScanParam, poSEMDataMsr, listCompletedCenter))
|
|
|
{
|
|
|
loger.Error("CalculateFieldsCenters: failed to init field centres list manager.");
|
|
|
a_listFieldCenter = new List<System.Drawing.Point>();
|
|
@@ -302,10 +302,10 @@ namespace OTSModelSharp
|
|
|
int nStopField = a_pScanParam.GetStopParamFields();
|
|
|
|
|
|
// completed fields number
|
|
|
- CMsrSampleStatus pMsrSampleStatus = m_pSample.GetMsrStatus();
|
|
|
+ CMsrSampleStatus pMsrSampleStatus = m_Sample.GetMsrStatus();
|
|
|
int nCompeltedField = pMsrSampleStatus.GetCompletedFields();
|
|
|
|
|
|
- CMsrDisplayResults pMsrResults = m_pSample.GetMsrResults();
|
|
|
+ CMsrDisplayResults pMsrResults = m_Sample.GetMsrResults();
|
|
|
List<CMsrResultItem> listMsrResult = pMsrResults.GetResultItems();
|
|
|
int nNumParticle = 0;
|
|
|
foreach (var pResult in listMsrResult)
|
|
@@ -450,7 +450,7 @@ namespace OTSModelSharp
|
|
|
using (AutoResetSEMControl autoReset = new AutoResetSEMControl(this)) //when this method exit ,the SetSEMExternalOff and ResetScan will be called automatically.
|
|
|
{
|
|
|
// let the main thread to know that this sample measurement starts
|
|
|
- var pStatus = m_pSample.GetMsrStatus();
|
|
|
+ var pStatus = m_Sample.GetMsrStatus();
|
|
|
pStatus.SetStatus(OTS_MSR_SAMPLE_STATUS.INPROCESS);
|
|
|
|
|
|
|
|
@@ -461,11 +461,11 @@ namespace OTSModelSharp
|
|
|
ST_MSTMsg MsgSmpStart = new ST_MSTMsg();
|
|
|
MsgSmpStart.iMsgType = ENUM_MSG_TYPE.MSAMPLESTATUS;
|
|
|
MsgSmpStart.STMSampleStu.iMsrSampleStatu = OTS_MSR_SAMPLE_STATUS.INPROCESS;
|
|
|
- MsgSmpStart.STMSampleStu.cSampleName = m_pSample.GetName();
|
|
|
+ MsgSmpStart.STMSampleStu.cSampleName = m_Sample.GetName();
|
|
|
|
|
|
m_pMsrThread.SendMessageToMeasureApp(MsgSmpStart);
|
|
|
|
|
|
- loger.Info(m_pSample.GetName() + " Measurement started!");
|
|
|
+ loger.Info(m_Sample.GetName() + " Measurement started!");
|
|
|
// get SEM controller to set magnification and working distance
|
|
|
if (!SetSEMDataMrs())
|
|
|
{
|
|
@@ -559,7 +559,7 @@ namespace OTSModelSharp
|
|
|
}
|
|
|
|
|
|
// check if sample measurement completes
|
|
|
- COTSImgScanPrm pScanParam = m_pSample.GetMsrParams().GetImageScanParam();
|
|
|
+ COTSImgScanPrm pScanParam = m_Sample.GetMsrParams().GetImageScanParam();
|
|
|
int nTotalFieldSize = (int)umMeasuredlistFieldCenter.Count;
|
|
|
|
|
|
|
|
@@ -651,7 +651,7 @@ namespace OTSModelSharp
|
|
|
uint measuredArea = 0; // this area should be the field area
|
|
|
var a_pBSEImg = curFldData.GetBSEImage();
|
|
|
|
|
|
- double dPixelSize = m_pSample.CalculatePixelSize();
|
|
|
+ double dPixelSize = m_Sample.CalculatePixelSize();
|
|
|
|
|
|
measuredArea = (uint)(a_pBSEImg.GetHeight() * a_pBSEImg.GetWidth()* dPixelSize * dPixelSize + 0.5); //Get measured area
|
|
|
if (!CumulateFieldData(curFldData.ListAnalysisParticles, measuredArea))
|
|
@@ -691,9 +691,9 @@ namespace OTSModelSharp
|
|
|
//merging particles
|
|
|
loger.Info("Merging big particles on the field edge!");
|
|
|
CImageHandler imgpro = new CImageHandler();
|
|
|
- int scanfldsize = m_pSample.GetSEMDataMsr().GetScanFieldSize();
|
|
|
+ int scanfldsize = m_Sample.GetSEMDataMsr().GetScanFieldSize();
|
|
|
List<COTSParticleClr> mergedParticles = new List<COTSParticleClr>();
|
|
|
- imgpro.MergeBigBoundaryParticles(m_pSampleRstFile.GetFieldData(), m_pSample.CalculatePixelSize(), scanfldsize, m_pSample.GetResolutionSize(), ref mergedParticles);
|
|
|
+ imgpro.MergeBigBoundaryParticles(m_pSampleRstFile.GetFieldData(), m_Sample.CalculatePixelSize(), scanfldsize, m_Sample.GetResolutionSize(), ref mergedParticles);
|
|
|
|
|
|
|
|
|
|
|
@@ -713,7 +713,7 @@ namespace OTSModelSharp
|
|
|
ST_MSTMsg MsgSmplEnd = new ST_MSTMsg();
|
|
|
MsgSmplEnd.iMsgType = ENUM_MSG_TYPE.MSAMPLESTATUS;
|
|
|
MsgSmplEnd.STMSampleStu.iMsrSampleStatu = OTS_MSR_SAMPLE_STATUS.SUCCESSED;
|
|
|
- MsgSmplEnd.STMSampleStu.cSampleName = m_pSample.GetName();
|
|
|
+ MsgSmplEnd.STMSampleStu.cSampleName = m_Sample.GetName();
|
|
|
m_pMsrThread.SendMessageToMeasureApp(MsgSmplEnd);
|
|
|
}
|
|
|
}
|
|
@@ -724,7 +724,7 @@ namespace OTSModelSharp
|
|
|
{
|
|
|
|
|
|
// let the main thread to know that this sample measurement starts
|
|
|
- CMsrSampleStatus pStatus = m_pSample.GetMsrStatus();
|
|
|
+ CMsrSampleStatus pStatus = m_Sample.GetMsrStatus();
|
|
|
pStatus.SetStatus(OTS_MSR_SAMPLE_STATUS.INPROCESS);
|
|
|
|
|
|
// set current time to current time
|
|
@@ -734,7 +734,7 @@ namespace OTSModelSharp
|
|
|
ST_MSTMsg MsgSmpStart=new ST_MSTMsg();
|
|
|
MsgSmpStart.iMsgType = ENUM_MSG_TYPE.MSAMPLESTATUS;
|
|
|
MsgSmpStart.STMSampleStu.iMsrSampleStatu = OTS_MSR_SAMPLE_STATUS.INPROCESS;
|
|
|
- MsgSmpStart.STMSampleStu.cSampleName=m_pSample.GetName();
|
|
|
+ MsgSmpStart.STMSampleStu.cSampleName=m_Sample.GetName();
|
|
|
|
|
|
|
|
|
// get SEM controller to set magnification and working distance
|
|
@@ -808,7 +808,7 @@ namespace OTSModelSharp
|
|
|
}
|
|
|
|
|
|
// check if sample measurement completes
|
|
|
- COTSImgScanPrm pScanParam = m_pSample.GetMsrParams().GetImageScanParam();
|
|
|
+ COTSImgScanPrm pScanParam = m_Sample.GetMsrParams().GetImageScanParam();
|
|
|
int nTotalFieldSize = listFieldCenter.Count;
|
|
|
|
|
|
|
|
@@ -939,7 +939,7 @@ namespace OTSModelSharp
|
|
|
{
|
|
|
|
|
|
// get measure result items of the sample
|
|
|
- CMsrDisplayResults pMsrResults = m_pSample.GetMsrResults();
|
|
|
+ CMsrDisplayResults pMsrResults = m_Sample.GetMsrResults();
|
|
|
|
|
|
// cumulate field data info
|
|
|
//pMsrResults.CumulateMeasureResults(listResultItems);
|