Parcourir la source

add xraylimit function code into the measure flow.

gsp il y a 3 ans
Parent
commit
f4cee77931

+ 16 - 2
OTSIncAMeasureApp/0-OTSModel/Measure/1-OTSInclution/SmplMeasureInclution.cs

@@ -183,12 +183,26 @@ namespace OTSModelSharp
             // get x-ray list (analysis) by particle features
             uint  nXRayAQTime = (uint)pXRayParam.GetMidAnalyAQTime();
             var nFastXrayAQTime =(uint) pXRayParam.GetFastXrayTime();
-            var quantifyMinSize = pXRayParam.GetQuantifyMinSize();
+            var quantifyMinSize = pXRayParam.GetFeatureModeMinSize();
 
+            var listXray = listXrayAnalysisparts.OrderByDescending(x => x.GetActualArea()).ToList();
+            var listXray1 = new List<COTSParticleClr>();
+
+            if (listXray.Count > pXRayParam.GetXrayLimit())
+            {
+                for (var i = 0; i < pXRayParam.GetXrayLimit(); i++)
+                {
+
+                    listXray1.Add(listXray[i]);
+                }
+  
+            }
             List<COTSParticleClr> smallparts = new List<COTSParticleClr>();
             List<COTSParticleClr> bigparts = new List<COTSParticleClr>();
 
-            foreach (var p in listXrayAnalysisparts)
+
+
+            foreach (var p in listXray1)
             {
                 double diameter = Math.Sqrt(p.GetActualArea() / 3.14159) * 2;
                 if (diameter >= quantifyMinSize)

+ 1 - 1
OTSIncAMeasureApp/0-OTSModel/Measure/2-OTSCleanliness/SmplMeasureCleanliness.cs

@@ -150,7 +150,7 @@ namespace OTSModelSharp
             }
             //2) according to the quantify threshold size value saperate the analysis particles into two group :the bigparticles and the smallparticles.
 
-            double quantifyThreshold = m_Sample.GetMsrParams().GetXRayParam().GetQuantifyMinSize();
+            double quantifyThreshold = m_Sample.GetMsrParams().GetXRayParam().GetFeatureModeMinSize();
 
             var smallparts = fld.ListSmallParticles;
             var bigparts = fld.ListBigParticles;

+ 1 - 1
OTSIncAMeasureApp/0-OTSModel/OTSDataType/COTSSample.cs

@@ -2007,7 +2007,7 @@ namespace OTSDataType
                     break;
                 case OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_QUANTIFY_MINSIZE:
                     {
-                        a_dValue = m_poMsrParams.GetXRayParam().GetQuantifyMinSize();
+                        a_dValue = m_poMsrParams.GetXRayParam().GetFeatureModeMinSize();
                     }
                     break;
 

+ 1 - 1
OTSIncAMeasureApp/0-OTSModel/OTSDataType/COTSXRayParam.cs

@@ -126,7 +126,7 @@ namespace OTSDataType
      
 
 
-        public double GetQuantifyMinSize() { return m_nQutantifyMinSize; }
+        public double GetFeatureModeMinSize() { return m_nQutantifyMinSize; }
         public void SetQuantifyMinSize(double a_nQuantifyMinSize)
         {
             m_nQutantifyMinSize = a_nQuantifyMinSize;

+ 1 - 1
OTSIncAMeasureApp/7-OTSProgMgrInfo/ProgMgrInfoForm.cs

@@ -666,7 +666,7 @@ namespace OTSMeasureApp
             //分析X-ray计数期望值
             IDC_EDIT_ANALYXRAYAIMVALUE.Text = m_cotsxrayprm.GetAnalyExpCount().ToString();
 
-            IDC_EDIT_QuantifyMinSize.Text = m_cotsxrayprm.GetQuantifyMinSize().ToString();
+            IDC_EDIT_QuantifyMinSize.Text = m_cotsxrayprm.GetFeatureModeMinSize().ToString();
 
             IDC_EDIT_SmallPartAQTime.Text = m_cotsxrayprm.GetFastXrayTime().ToString();
             //IDC_XRAY_MODE_SWITCH.Checked = m_cotsxrayprm.GetShowScanMode();