|
@@ -890,16 +890,29 @@ namespace OTSModelSharp
|
|
|
|
|
|
private void FilterParticles(ref COTSFieldData curFldData)
|
|
|
{
|
|
|
- var allparts = curFldData.GetAllParticles();
|
|
|
+
|
|
|
+ var listXray = curFldData.GetAllParticles().OrderByDescending(x => x.GetActualArea()).ToList();
|
|
|
+ var listXray1 = new List<COTSParticleClr>();
|
|
|
+ var pXRayParam =m_Sample.GetMsrParams().GetXRayParam();
|
|
|
+ if (listXray.Count > pXRayParam.GetXrayLimit())
|
|
|
+ {
|
|
|
+ for (var i = 0; i < pXRayParam.GetXrayLimit(); i++)
|
|
|
+ {
|
|
|
|
|
|
- var analysisParts = new List<COTSParticleClr>();
|
|
|
+ listXray1.Add(listXray[i]);
|
|
|
+ }
|
|
|
|
|
|
- foreach (var p in allparts)
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
- analysisParts.Add(p);//there's not any filter rules now.
|
|
|
+ listXray1 = listXray;
|
|
|
}
|
|
|
|
|
|
- curFldData.SetListAnalysisParticles(analysisParts);
|
|
|
+ curFldData.SetListAnalysisParticles(listXray1);
|
|
|
+
|
|
|
+ log.Info("Analysis particles:" + listXray1.Count);
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public void GetOriginalParticles(ref COTSFieldData curFldData)
|
|
@@ -929,8 +942,12 @@ namespace OTSModelSharp
|
|
|
if (curFldData.NoParticle())
|
|
|
{ // empty fields
|
|
|
log.Info("ImageProcess: empty field.");
|
|
|
-
|
|
|
+ return;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ double dPixelSize = m_Sample.CalculatePixelSize();
|
|
|
+ curFldData.InitParticles(pImgProcessParam, dPixelSize);
|
|
|
return;
|
|
|
}
|
|
|
|