Browse Source

Merge branch 'GSP' of http://36.129.163.148:30080/gogsadmin/OTS into GSP

gsp 1 năm trước cách đây
mục cha
commit
de1ebff122

+ 4 - 11
OTSIncAMeasureApp/0-OTSModel/OTSDataType/COTSSample.cd

@@ -6,7 +6,7 @@
       <Compartment Name="Methods" Collapsed="true" />
     </Compartments>
     <TypeIdentifier>
-      <HashCode>cCUIgsIiY0gCgCAQgEiCAigAACKERxABCIAPYEIgTJk=</HashCode>
+      <HashCode>MCAIgMIiY0AAgCAAgEiCAggAACIEBAABCIAHYEAATIk=</HashCode>
       <FileName>0-OTSModel\OTSDataType\COTSSample.cs</FileName>
     </TypeIdentifier>
     <ShowAsAssociation>
@@ -44,22 +44,15 @@
     <Position X="0.75" Y="4.75" Width="1.5" />
     <TypeIdentifier>
       <HashCode>AAAACCAAAAAiIAACgQAQgAAAAAAAIgABAwACAAAAAAE=</HashCode>
-      <FileName>0-OTSModel\Measure\3-MeasureFlow\CMsrResultItems.cs</FileName>
+      <FileName>1-OTSMeasure\Measure\3-MeasureFlow\CMsrResultItems.cs</FileName>
     </TypeIdentifier>
   </Class>
   <Class Name="OTSModelSharp.COTSFieldData" Collapsed="true">
     <Position X="10" Y="5.5" Width="1.5" />
     <TypeIdentifier>
-      <HashCode>MQBAAgAGFEGhJA0gQiCACEAIcSoAMgIAQFIDDAIUQIQ=</HashCode>
-      <FileName>0-OTSModel\Measure\BSEPicData\COTSFieldData.cs</FileName>
+      <HashCode>MQBAAgACFEGBJA0gQiCACEAIcSoAMgIAQEIDDAIQQIQ=</HashCode>
+      <FileName>1-OTSMeasure\Measure\BSEPicData\COTSFieldData.cs</FileName>
     </TypeIdentifier>
   </Class>
-  <Enum Name="OTSDataType.OTS_ITEM_TYPES" Collapsed="true">
-    <Position X="1" Y="0.75" Width="1.5" />
-    <TypeIdentifier>
-      <HashCode>AAAAAAAAAAAAAAAAAAAABAIAAQAMABIgAAAAIAAAAAA=</HashCode>
-      <FileName>0-OTSModel\OTSDataType\COTSSample.cs</FileName>
-    </TypeIdentifier>
-  </Enum>
   <Font Name="Microsoft YaHei UI" Size="9" />
 </ClassDiagram>

+ 28 - 11
OTSIncAMeasureApp/0-OTSModel/OTSDataType/COTSXRayParam.cs

@@ -21,8 +21,9 @@ namespace OTSDataType
         const int DEFAULE_XRAY_ANALY_MID_TIME = 1000;
         const double DEFAULE_XRAY_QUANTIFY_MINSIZE = 50;
 
-        const int DEFAULE_FASTXRAYTIME = 100;
+        const double DEFAULE_XRAY_QUANTIFY_MINSIZE = 50;
 
+        const int DEFAULE_FASTXRAYTIME = 100;
         const int Default_Xray_Limit = 50;
         private OTS_X_RAY_SCAN_MODE m_nScanMode;
 
@@ -30,7 +31,9 @@ namespace OTSDataType
         private int m_nAnalyLowestCount;
      
         private int m_nMidAnalyAQTime;
-  
+
+        private double m_nQutantifyMinSize;
+        private int m_nSmallPartXrayTime;
 
         private bool m_nUsingXray;
         private bool m_UseFilter;
@@ -49,7 +52,8 @@ namespace OTSDataType
             m_nQutantifyMinSize = DEFAULE_XRAY_QUANTIFY_MINSIZE;
             m_nFastXrayTime = DEFAULE_FASTXRAYTIME;
             m_XrayLimit = Default_Xray_Limit;
-         
+            m_nQutantifyMinSize = DEFAULE_XRAY_QUANTIFY_MINSIZE;
+            m_nSmallPartXrayTime = DEFAULE_FASTXRAYTIME;
         }
         public COTSXRayParam()
         {
@@ -70,6 +74,8 @@ namespace OTSDataType
             m_nUsingXray = a_oSource.m_nUsingXray;
             m_UseFilter = a_oSource.m_UseFilter;
             m_XrayLimit = a_oSource.m_XrayLimit;
+            m_nQutantifyMinSize = a_oSource.m_nQutantifyMinSize;
+            m_nSmallPartXrayTime = a_oSource.m_nSmallPartXrayTime;
 
         }
         // copy constructor
@@ -86,7 +92,8 @@ namespace OTSDataType
                 m_nAnalyLowestCount == a_oSource.m_nAnalyLowestCount &&
 
                 m_nMidAnalyAQTime == a_oSource.m_nMidAnalyAQTime &&
-
+                 m_nQutantifyMinSize == a_oSource.m_nQutantifyMinSize &&
+                m_nSmallPartXrayTime == a_oSource.m_nSmallPartXrayTime &&
                 m_nUsingXray == a_oSource.m_nUsingXray &&
                 m_UseFilter == a_oSource.m_UseFilter;
         }
@@ -115,9 +122,18 @@ namespace OTSDataType
 
         public int GetMidAnalyAQTime() { return m_nMidAnalyAQTime; }
         public void SetMidAnalyAQTime(int a_nMidAnalyAQTime) { m_nMidAnalyAQTime = a_nMidAnalyAQTime; }
-     
 
 
+        public double GetFeatureModeMinSize() { return m_nQutantifyMinSize; }
+        public void SetQuantifyMinSize(double a_nQuantifyMinSize)
+        {
+            m_nQutantifyMinSize = a_nQuantifyMinSize;
+        }
+        public int GetSmallPartXrayTime() { return m_nSmallPartXrayTime; }
+        public void SetSmallPartXrayTime(int a_nFastXrayTime)
+        {
+            m_nSmallPartXrayTime = a_nFastXrayTime;
+        }
         public int GetXrayLimit() { return m_XrayLimit; }
         public void SetXrayLimit(int a_xrayLimit)
         {
@@ -153,7 +169,8 @@ namespace OTSDataType
             xBool xnUseFilter = new xBool();
 
             xInt xXrayLimit = new xInt();
-           
+            
+            //xBool xZeroElementProcess = new xBool();
 
             Slo slo = new Slo();
 
@@ -173,7 +190,7 @@ namespace OTSDataType
 
             slo.Register("XrayLimit", xXrayLimit);
 
-          
+           
 
 
             if (isStoring)
@@ -184,7 +201,7 @@ namespace OTSDataType
             
                 xnMidAnalyAQTime.AssignValue(m_nMidAnalyAQTime);
 
-                xSmallPartAQTime.AssignValue(m_nFastXrayTime);
+                xSmallPartAQTime.AssignValue(m_nSmallPartXrayTime);
 
                 xQuantifyMinSize.AssignValue(m_nQutantifyMinSize);
 
@@ -193,7 +210,7 @@ namespace OTSDataType
                 xnUseFilter.AssignValue(m_UseFilter);
 
                 xXrayLimit.AssignValue(m_XrayLimit);
-            
+              
 
                 slo.Serialize(true, classDoc, rootNode);
             }
@@ -207,7 +224,7 @@ namespace OTSDataType
              
                 m_nMidAnalyAQTime = xnMidAnalyAQTime.value();
 
-                m_nFastXrayTime = xSmallPartAQTime.value();
+                m_nSmallPartXrayTime = xSmallPartAQTime.value();
 
                 m_nQutantifyMinSize = xQuantifyMinSize.value();
 
@@ -216,7 +233,7 @@ namespace OTSDataType
                 m_UseFilter = xnUseFilter.value();
 
                 m_XrayLimit = xXrayLimit.value();
-              
+               
             }
         }
     }

+ 22 - 21
OTSIncAMeasureApp/2-OTSMeasureParamManage/MeasureParam.cd

@@ -13,13 +13,13 @@
     <Position X="15.125" Y="2.865" Height="0.292" Width="0.752" />
   </Comment>
   <Comment CommentText="systype">
-    <Position X="12.312" Y="3.573" Height="0.292" Width="0.752" />
+    <Position X="10.843" Y="5.01" Height="0.292" Width="0.752" />
   </Comment>
   <Comment CommentText="RunMode&#xD;&#xA;">
     <Position X="3.698" Y="1.865" Height="0.292" Width="1.002" />
   </Comment>
   <Comment CommentText="RunMode&#xD;&#xA;">
-    <Position X="12.281" Y="3.917" Height="0.292" Width="1.002" />
+    <Position X="10.854" Y="5.354" Height="0.292" Width="1.002" />
   </Comment>
   <Class Name="OTSMeasureApp.COTSMeasureParam">
     <Position X="6.25" Y="2.5" Width="2.75" />
@@ -27,12 +27,13 @@
       <Compartment Name="Methods" Collapsed="true" />
     </Compartments>
     <TypeIdentifier>
-      <HashCode>CAihQCAFJBFSk0Ao4QEGLADBEJDAAEARyIoEBiikglI=</HashCode>
+      <HashCode>CAihQCAFJBHSk0AoYAAGLADBEJDgAEARyIoEBCiEglI=</HashCode>
       <FileName>2-OTSMeasureParamManage\COTSMeasureParam.cs</FileName>
     </TypeIdentifier>
     <ShowAsAssociation>
       <Field Name="defaultParam" />
       <Field Name="stageParam" />
+      <Field Name="resultData" />
     </ShowAsAssociation>
     <ShowAsCollectionAssociation>
       <Field Name="m_MeasureSampleList" />
@@ -44,21 +45,21 @@
       <Compartment Name="Fields" Collapsed="true" />
     </Compartments>
     <TypeIdentifier>
-      <HashCode>ABCAgKMgAIIAgACGQEggBIAACCHFMAAAAAgCAAIABAA=</HashCode>
-      <FileName>0-OTSModel\Measure\ParamData\OTSDefaultParam.cs</FileName>
+      <HashCode>ABCAgKMkAIIAgACGQEggFIAAACXFMAAAAQgCAAMABAA=</HashCode>
+      <FileName>1-OTSMeasure\Measure\ParamData\OTSDefaultParam.cs</FileName>
     </TypeIdentifier>
   </Class>
   <Class Name="OTSModelSharp.CStageParam" Collapsed="true">
     <Position X="1" Y="3.5" Width="1.5" />
     <TypeIdentifier>
       <HashCode>AAAIgKAAARAgAACDAAoABAABhCCAICgAQgAmBSIAQAI=</HashCode>
-      <FileName>0-OTSModel\Measure\ParamData\StageParam.cs</FileName>
+      <FileName>1-OTSMeasure\Measure\ParamData\StageParam.cs</FileName>
     </TypeIdentifier>
   </Class>
   <Class Name="OTSDataType.COTSSample" Collapsed="true">
     <Position X="8.75" Y="6.5" Width="2.5" />
     <TypeIdentifier>
-      <HashCode>cCEIgsIiY0kCoCAQiUmCAikAECCEZxABiIAPYEIgXJk=</HashCode>
+      <HashCode>MCAIgMIiY0AAgCAAgEiCAggAACIEBAABCIAHYEAATIk=</HashCode>
       <FileName>0-OTSModel\OTSDataType\COTSSample.cs</FileName>
     </TypeIdentifier>
     <ShowAsAssociation>
@@ -67,18 +68,18 @@
     </ShowAsAssociation>
   </Class>
   <Class Name="OTSModelSharp.COTSMsrPrjResultData" Collapsed="true">
-    <Position X="14" Y="5" Width="2.25" />
+    <Position X="12.5" Y="3.5" Width="2.25" />
     <AssociationLine Name="m_listSamples" Type="OTSDataType.COTSSample" FixedFromPoint="true" FixedToPoint="true">
       <Path>
-        <Point X="14" Y="5.375" />
-        <Point X="13.625" Y="5.375" />
-        <Point X="13.625" Y="6.638" />
+        <Point X="12.5" Y="3.875" />
+        <Point X="12.125" Y="3.875" />
+        <Point X="12.125" Y="6.638" />
         <Point X="11.25" Y="6.638" />
       </Path>
     </AssociationLine>
     <TypeIdentifier>
-      <HashCode>IIQggICCQZAEZADnBDIAKkZAyCSAqCAEIDAqT0IQAIg=</HashCode>
-      <FileName>0-OTSModel\Measure\ParamData\COTSMsrPrjResultData.cs</FileName>
+      <HashCode>IIQggICCQZAEZACjBLIAKgYAwCSAqCAEITAqTUMQAIg=</HashCode>
+      <FileName>1-OTSMeasure\Measure\ParamData\COTSMsrPrjResultData.cs</FileName>
     </TypeIdentifier>
     <ShowAsAssociation>
       <Field Name="m_GenParam" />
@@ -92,14 +93,14 @@
     <AssociationLine Name="m_ProjData" Type="OTSModelSharp.COTSMsrPrjResultData" FixedFromPoint="true" FixedToPoint="true">
       <Path>
         <Point X="6" Y="7.833" />
-        <Point X="9.76" Y="7.833" Type="JumpStart" />
-        <Point X="9.927" Y="7.833" Type="JumpEnd" />
-        <Point X="16" Y="7.833" />
-        <Point X="16" Y="5.548" />
+        <Point X="10.042" Y="7.833" Type="JumpStart" />
+        <Point X="10.208" Y="7.833" Type="JumpEnd" />
+        <Point X="14.5" Y="7.833" />
+        <Point X="14.5" Y="4.048" />
       </Path>
     </AssociationLine>
     <TypeIdentifier>
-      <HashCode>cIGadXIZ6PENvQ5bYEOxLzq7DEARCnwbFGsEIleD4vk=</HashCode>
+      <HashCode>dIGadXId6PGNvQ5bYEOxLzq7DEARCnwbFGMEIl+D4vk=</HashCode>
       <FileName>OTSIncAMeasureAppForm.cs</FileName>
     </TypeIdentifier>
     <ShowAsAssociation>
@@ -111,7 +112,7 @@
   <Class Name="OTSMeasureApp.CMeasureThreadWrapper" Collapsed="true">
     <Position X="0.5" Y="6" Width="3.25" />
     <TypeIdentifier>
-      <HashCode>FAgIAgAgIYIAAACQBAAEKo0gQBAAAAUAAQBgYAQACgA=</HashCode>
+      <HashCode>FAgIAgAgIYIAAACQBAAEKo0gQBAAAAUAAQBiYAQACAA=</HashCode>
       <FileName>1-OTSMeasure\CMeasureThreadWrapper.cs</FileName>
     </TypeIdentifier>
   </Class>
@@ -119,11 +120,11 @@
     <Position X="16" Y="2.25" Width="2.75" />
     <TypeIdentifier>
       <HashCode>MAAAgEQEQhIAbYBCiAQQBIQmyGxAKAikJAHGECAAAQA=</HashCode>
-      <FileName>0-OTSModel\Measure\ParamData\OTSGeneralParam.cs</FileName>
+      <FileName>1-OTSMeasure\Measure\ParamData\OTSGeneralParam.cs</FileName>
     </TypeIdentifier>
   </Class>
   <Class Name="OTSDataType.CSampleParam" Collapsed="true">
-    <Position X="10.75" Y="3.5" Width="1.5" />
+    <Position X="9.25" Y="5" Width="1.5" />
     <TypeIdentifier>
       <HashCode>CACQQAAAAgAERABAgAKwAAwACCCFYAQgAEACAgIARAA=</HashCode>
       <FileName>0-OTSModel\OTSDataType\CSampleParam.cs</FileName>

+ 67 - 51
OTSIncAMeasureApp/3-OTSDisplaySourceGridData/OTSSampleVisualPropertyInfo.cs

@@ -240,11 +240,11 @@ namespace OTSMeasureApp
                     }
                     break;
 
-                //case OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_FASTTIME:
-                //    {
-                //        a_nValue = m_poMsrParams.GetXRayParam().GetFastXrayTime();
-                //    }
-                //    break;
+                case OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_FASTTIME:
+                    {
+                        a_nValue = m_poMsrParams.GetXRayParam().GetSmallPartXrayTime();
+                    }
+                    break;
                 case OTS_SAMPLE_PROP_GRID_ITEMS.XrayLimit:
                     {
                         a_nValue = m_poMsrParams.GetXRayParam().GetXrayLimit();
@@ -441,16 +441,16 @@ namespace OTSMeasureApp
                         m_poMsrParams.GetXRayParam().SetMidAnalyAQTime((int)objVal);
                     }
                     break;
-                
-                //case OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_FASTTIME:
-                //    {
-                //        if (0 >= (int)objVal)
-                //        {
-                //            return false;
-                //        }
-                //        m_poMsrParams.GetXRayParam().SetFastXrayTime((int)objVal);
-                //    }
-                //    break;
+
+                case OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_FASTTIME:
+                    {
+                        if (0 >= (int)objVal)
+                        {
+                            return false;
+                        }
+                        m_poMsrParams.GetXRayParam().SetSmallPartXrayTime((int)objVal);
+                    }
+                    break;
                 case OTS_SAMPLE_PROP_GRID_ITEMS.XrayLimit:
                     {
                         if (0 >= (int)objVal)
@@ -527,15 +527,15 @@ namespace OTSMeasureApp
                         m_poMsrParams.GetImageProcessParam().SetIncAreaRange(oIncArea);
                     }
                     break;
-                //case OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_QUANTIFY_MINSIZE:
-                //    {
-                //        if (0 >= (double)objVal)
-                //        {
-                //            return false;
-                //        }
-                //        m_poMsrParams.GetXRayParam().SetQuantifyMinSize((double)objVal);
-                //    }
-                //    break;
+                case OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_QUANTIFY_MINSIZE:
+                    {
+                        if (0 >= (double)objVal)
+                        {
+                            return false;
+                        }
+                        m_poMsrParams.GetXRayParam().SetQuantifyMinSize((double)objVal);
+                    }
+                    break;
 
 
                 case OTS_SAMPLE_PROP_GRID_ITEMS.WORKING_DISTANCE:
@@ -847,10 +847,7 @@ namespace OTSMeasureApp
                 // property items group name
                 string strGrpName = string.Empty;
                 strGrpName = ResourceData.GetSourceTitleString((OTS_SAMPLE_PROP_GRID_ITEM_GROUPS)a_nId);
-                //if (strGrpName == "")
-                //{
-                //    return false;
-                //}
+            
                 // group name and id
                 poPropItemGrp.SetSTitle(strGrpName);
                 poPropItemGrp.SetGroupId(a_nId);
@@ -858,13 +855,12 @@ namespace OTSMeasureApp
                 OTS_SAMPLE_PROP_GRID_ITEMS nItemId;
                 CPropItem poPropItem;
                 bool bShow = true;
-                //分组编号
-                //int a_nId = ResourceID.GrpGeneral;
+               
                 switch (a_nId)
                 {
                     case OTS_SAMPLE_PROP_GRID_ITEM_GROUPS.GENERAL:
                         {
-                            //a_nId = ResourceID.GrpGeneral;
+                          
                             // name
                             poPropItem = new CPropItem();
                             nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.SAMPLE_NAME;
@@ -958,10 +954,10 @@ namespace OTSMeasureApp
 
                             // scan speed
 
-                            //poPropItem = new CPropItem();
-                            //nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.SCAN_SPEED;
-                            //poPropItem.InitialSmplParameter(a_nId, nItemId, OTS_ITEM_TYPES.COMBO, false, bShow);
-                            //a_listPropItems.Add(poPropItem);
+                            poPropItem = new CPropItem();
+                            nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.SCAN_SPEED;
+                            poPropItem.InitialSmplParameter(a_nId, nItemId, OTS_ITEM_TYPES.COMBO, false, bShow);
+                            a_listPropItems.Add(poPropItem);
 
                             //// image resolution
 
@@ -1057,10 +1053,12 @@ namespace OTSMeasureApp
 
 
                             //quantify size
-                            //poPropItem = new CPropItem();
-                            //nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_QUANTIFY_MINSIZE;
-                            //poPropItem.InitialSmplParameter(a_nId, nItemId, OTS_ITEM_TYPES.DOUBLE, false, bShow);
-                            //a_listPropItems.Add(poPropItem);
+                            poPropItem = new CPropItem();
+                            nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_QUANTIFY_MINSIZE;
+                            poPropItem.InitialSmplParameter(a_nId, nItemId, OTS_ITEM_TYPES.DOUBLE, false, bShow);
+                            a_listPropItems.Add(poPropItem);
+
+
                             // scan mode 
 
                             poPropItem = new CPropItem();
@@ -1075,10 +1073,10 @@ namespace OTSMeasureApp
                             poPropItem.InitialSmplParameter(a_nId, nItemId, OTS_ITEM_TYPES.INT, false, bShow);
                             a_listPropItems.Add(poPropItem);
                             //fast xray time.
-                            //poPropItem = new CPropItem();
-                            //nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_FASTTIME;//small particle AQTime
-                            //poPropItem.InitialSmplParameter(a_nId, nItemId, OTS_ITEM_TYPES.INT, false, bShow);
-                            //a_listPropItems.Add(poPropItem);
+                            poPropItem = new CPropItem();
+                            nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_FASTTIME;//small particle AQTime
+                            poPropItem.InitialSmplParameter(a_nId, nItemId, OTS_ITEM_TYPES.INT, false, bShow);
+                            a_listPropItems.Add(poPropItem);
                             // analysis counts 
 
                             poPropItem = new CPropItem();
@@ -1390,6 +1388,14 @@ namespace OTSMeasureApp
                             nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_AREA;
                             poPropItem.InitialSmplParameter(a_nId, nItemId, OTS_ITEM_TYPES.INT, true, false);
                             a_listPropItems.Add(poPropItem);
+
+                            // scan speed
+
+                            poPropItem = new CPropItem();
+                            nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.SCAN_SPEED;
+                            poPropItem.InitialSmplParameter(a_nId, nItemId, OTS_ITEM_TYPES.COMBO, false, bShow);
+                            a_listPropItems.Add(poPropItem);
+
                             //resolution
                             poPropItem = new CPropItem();
                             nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.IMAGE_RESOLUTION;
@@ -1481,14 +1487,19 @@ namespace OTSMeasureApp
                             nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.USING_XRAY;
                             poPropItem.InitialSmplParameter(a_nId, nItemId, OTS_ITEM_TYPES.BOOL, false, bShow);
                             a_listPropItems.Add(poPropItem);
-
+                            //quantify size
+                            poPropItem = new CPropItem();
+                            nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_QUANTIFY_MINSIZE;
+                            poPropItem.InitialSmplParameter(a_nId, nItemId, OTS_ITEM_TYPES.DOUBLE, false, bShow);
+                            a_listPropItems.Add(poPropItem);
                             // scan mode 
 
                             poPropItem = new CPropItem();
                             nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.XRAYSCAN_MODE;
                             poPropItem.InitialSmplParameter(a_nId, nItemId, OTS_ITEM_TYPES.COMBO, false, bShow);
                             a_listPropItems.Add(poPropItem);
-                    
+
+                          
 
                             // analysis 
 
@@ -1497,7 +1508,12 @@ namespace OTSMeasureApp
                             poPropItem.InitialSmplParameter(a_nId, nItemId, OTS_ITEM_TYPES.INT, false, bShow);
                             a_listPropItems.Add(poPropItem);
 
-                       
+                            //fast xray time.
+                            poPropItem = new CPropItem();
+                            nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_FASTTIME;//small particle AQTime
+                            poPropItem.InitialSmplParameter(a_nId, nItemId, OTS_ITEM_TYPES.INT, false, bShow);
+                            a_listPropItems.Add(poPropItem);
+
 
                             // analysis counts 
                             poPropItem = new CPropItem();
@@ -1856,11 +1872,11 @@ namespace OTSMeasureApp
                         a_dValue = m_poMsrResults.GetTotalParticleArea();
                     }
                     break;
-                //case OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_QUANTIFY_MINSIZE:
-                //    {
-                //        a_dValue = m_poMsrParams.GetXRayParam().GetFeatureModeMinSize();
-                //    }
-                //    break;
+                case OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_QUANTIFY_MINSIZE:
+                    {
+                        a_dValue = m_poMsrParams.GetXRayParam().GetFeatureModeMinSize();
+                    }
+                    break;
 
                 default:
                     {

+ 66 - 27
OTSIncAMeasureApp/7-OTSProgMgrInfo/ProgMgrInfoForm.cs

@@ -196,20 +196,7 @@ namespace OTSMeasureApp
             if (IDC_COMBO_IMGSIZE.Items.Count > 0)
                 IDC_COMBO_IMGSIZE.SelectedIndex = 0;
             this.IDC_COMBO_IMGSIZE.SelectedIndexChanged += new System.EventHandler(this.IDC_COMBO_IMGSIZE_SelectedIndexChanged);
-            ////搜索X-Ray精度
-            //IDC_COMBO_SEARCHXRAYSPEED.Items.Clear();
-            //foreach (otsdataconst.OTS_IMAGE_SCANSPEED_OPTIONS enum_one in Enum.GetValues(typeof(otsdataconst.OTS_IMAGE_SCANSPEED_OPTIONS)))
-            //{
-            //    ComboBoxItem cbi = new ComboBoxItem();
-            //    cbi.Text = GetXRaySearchSpeedIdString(enum_one);
-            //    cbi.Value = (int)enum_one;
-            //    IDC_COMBO_SEARCHXRAYSPEED.Items.Add(cbi);
-            //}
-            //this.IDC_COMBO_SEARCHXRAYSPEED.SelectedIndexChanged -= new System.EventHandler(this.IDC_COMBO_SEARCHXRAYSPEED_SelectedIndexChanged);
-            //if (IDC_COMBO_SEARCHXRAYSPEED.Items.Count > 0)
-            //    IDC_COMBO_SEARCHXRAYSPEED.SelectedIndex = 0;
-            //this.IDC_COMBO_SEARCHXRAYSPEED.SelectedIndexChanged += new System.EventHandler(this.IDC_COMBO_SEARCHXRAYSPEED_SelectedIndexChanged);
-
+           
             //去背景方式
             IDC_COMBO_BGREMOVETYPE.Items.Clear();
             foreach (otsdataconst.OTS_AUTOBGREMOVETYPE enum_one in Enum.GetValues(typeof(otsdataconst.OTS_AUTOBGREMOVETYPE)))
@@ -514,7 +501,15 @@ namespace OTSMeasureApp
             IDC_EDIT_ANALYSESTDLIBPATH.Text = m_cgenparam.GetPartSTDLibFolderName().ToString();
           
 
-           
+            //选择颗粒分析标准库
+            foreach (ComboBoxItem cbi in IDC_COMBO_TECHNOLOGY.Items)
+            {
+                if (cbi.Value.ToString() != "")
+                    if (Convert.ToInt32(cbi.Value) == m_cgenparam.GetPartStdLibTypeIndex())
+                    {
+                        IDC_COMBO_TECHNOLOGY.SelectedItem = cbi;
+                    }
+            }
             //精炼工艺选项
             foreach (ComboBoxItem cbi in IDC_COMBO_TECHNOLOGY.Items)
             {
@@ -541,7 +536,7 @@ namespace OTSMeasureApp
             foreach (ComboBoxItem cbi in IDC_COMBO_STDSelect.Items)
             {
                 if (cbi.Text.ToString() != "")
-                    if (cbi.Text.ToString() == m_cgenparam.GetSelectSTDName())
+                    if (cbi.Text.ToString() == m_cgenparam.GetSTDSelect())
                     {
                         IDC_COMBO_STDSelect.SelectedItem = cbi;
                     }
@@ -583,7 +578,9 @@ namespace OTSMeasureApp
             IDC_EDIT_PARTMIN.Text = m_cotsimgprocprm.GetParticleGray().GetStart().ToString();
             //颗粒灰度范围 最大
             IDC_EDIT_PARTMAX.Text = m_cotsimgprocprm.GetParticleGray().GetEnd().ToString();
-        
+            //腐蚀膨胀系数
+            //IDC_COMBO_CorrosionExpansionCoefficient.Text = m_cotsimgprocprm.GetErrodDilateParam().ToString();
+            //重叠尺寸
             IDC_EDIT_Overlap.Text = m_cotsimgprocprm.GetOverlapParam().ToString();
 
             //去背景方式
@@ -622,6 +619,9 @@ namespace OTSMeasureApp
         {
            
 
+            //搜索X-ray精度对应的时间
+            //IDC_TEXTBOX_SEARCHXRAYSPEED_TIME.Text = m_cotsxrayprm.GetMidSearchAQTime().ToString();
+
            
             foreach (ComboBoxItem cbi in IDC_COMBO_XRAYSCANMODE.Items)
             {
@@ -643,10 +643,15 @@ namespace OTSMeasureApp
             //分析X-ray计数期望值
             IDC_EDIT_ANALYXRAYAIMVALUE.Text = m_cotsxrayprm.GetAnalyExpCount().ToString();
 
+            IDC_EDIT_QuantifyMinSize.Text = m_cotsxrayprm.GetFeatureModeMinSize().ToString();
+
+            IDC_EDIT_SmallPartAQTime.Text = m_cotsxrayprm.GetSmallPartXrayTime().ToString();
+
             IDC_EDIT_XrayLimit.Text = m_cotsxrayprm.GetXrayLimit().ToString();
 
             IDC_FILTER.Checked = m_cotsxrayprm.GetUseFilter();
 
+
         }
 
         /// <summary>
@@ -782,7 +787,8 @@ namespace OTSMeasureApp
             //去背景方式
             ComboBoxItem enum_AUTOBGREMOVETYP = (ComboBoxItem)IDC_COMBO_AUTOBGREMOVETYP.SelectedItem;
             m_cotsimgprocprm.SetAutoBGRemoveType((otsdataconst.OTS_AUTOBGREMOVE_TYPE)enum_AUTOBGREMOVETYP.Value);
-
+            //腐蚀膨胀系数
+            //m_cotsimgprocprm.SetErrodDilateParam(Convert.ToInt32(IDC_COMBO_CorrosionExpansionCoefficient.Text));
             //重叠像素
             m_cotsimgprocprm.SetOverlapParam(Convert.ToInt32(IDC_EDIT_Overlap.Text));
 
@@ -797,7 +803,7 @@ namespace OTSMeasureApp
 
             //搜索X-ray精度
             ComboBoxItem enum_searchxrayspeed = (ComboBoxItem)IDC_COMBO_SEARCHXRAYSPEED.SelectedItem;
-
+ 
             //X-ray扫描方式
             ComboBoxItem enum_xrayscanmode = (ComboBoxItem)IDC_COMBO_XRAYSCANMODE.SelectedItem;
             m_cotsxrayprm.SetScanMode((otsdataconst.OTS_X_RAY_SCAN_MODE)Convert.ToInt32(enum_xrayscanmode.Value));
@@ -805,13 +811,17 @@ namespace OTSMeasureApp
             //是否使用X-ray
             m_cotsxrayprm.SetUsingXray(IDC_USINGXRAY_LIB.Checked);
 
+      
             //分析X-ray精度对应的时间
             m_cotsxrayprm.SetMidAnalyAQTime(Convert.ToInt32(IDC_TEXTBOX_ANALYXRAYSPEED_TIME.Text.Trim()));
 
             //分析X-ray计数期望值
             m_cotsxrayprm.SetAnalyExpCount(Convert.ToInt32(IDC_EDIT_ANALYXRAYAIMVALUE.Text));
 
-   
+            m_cotsxrayprm.SetQuantifyMinSize(Convert.ToDouble(IDC_EDIT_QuantifyMinSize.Text));
+
+            m_cotsxrayprm.SetSmallPartXrayTime(Convert.ToInt32(IDC_EDIT_SmallPartAQTime.Text));
+
             m_cotsxrayprm.SetXrayLimit(Convert.ToInt32(IDC_EDIT_XrayLimit.Text));
 
             m_cotsxrayprm.SetUseFilter(IDC_FILTER.Checked);
@@ -961,7 +971,7 @@ namespace OTSMeasureApp
             {
                 if (IDC_COMBO_STDSelect.Text != "NoSTDDB")
                 {
-                    Process p = System.Diagnostics.Process.Start(".\\OTSPartA_STDEditor.exe", "\""+ Application.StartupPath + "\\Config\\SysData\\" + IDC_COMBO_STDSelect.Text+".db"+ "\"");
+                    Process p = System.Diagnostics.Process.Start(".\\OTSPartA_STDEditor.exe", Application.StartupPath + "\\Config\\SysData\\" + IDC_COMBO_STDSelect.Text+".db");
                     p.WaitForExit();
                 }
                 else
@@ -985,7 +995,8 @@ namespace OTSMeasureApp
             {
                 IDC_EDIT_MEASUREPARAMPATH.Text = folderBrowserDialog1.SelectedPath;
             }
-            else {
+            else 
+            {
                 folderBrowserDialog1.SelectedPath = IDC_EDIT_MEASUREPARAMPATH.Text;
             }
 
@@ -1130,7 +1141,8 @@ namespace OTSMeasureApp
             {
                 string message = table["message7"].ToString();
                 MessageBox.Show(message, "Tip", MessageBoxButtons.OK, MessageBoxIcon.Information);
-       
+                //IDC_EDIT_STOP_TIME.Focus();
+                //IDC_EDIT_STOP_TIME.SelectAll();
                 return false;
             }
             if ("" == IDC_COMBO_FETCHIMGMODE.Text)
@@ -1267,8 +1279,19 @@ namespace OTSMeasureApp
             Regex rgScope = new Regex(scope);
             Regex rgPositiveDecimals = new Regex(PositiveDecimals);
             Regex rgpositiveInteger = new Regex(positiveInteger);
-          
-  
+            Regex rgpositiveOddNumber = new Regex(positiveOddNumber);
+            //是否是正确的数值格式类型判断
+            //if(IDC_COMBO_CorrosionExpansionCoefficient.Text!="0")
+            //{
+            //    if (rgpositiveOddNumber.Match(IDC_COMBO_CorrosionExpansionCoefficient.Text.Trim()).Success)
+            //    {
+            //        IDC_COMBO_CorrosionExpansionCoefficient.Focus();
+            //        IDC_COMBO_CorrosionExpansionCoefficient.SelectAll();
+            //        string message = table["message66"].ToString();
+            //        MessageBox.Show(message, "Tip", MessageBoxButtons.OK, MessageBoxIcon.Information);
+            //        return false;
+            //    }
+            //}
             //100倍时屏幕尺寸
             if (false == rg.Match(IDC_EDIT_SCREENWIDTH.Text.Trim()).Success)
             {
@@ -1433,7 +1456,15 @@ namespace OTSMeasureApp
                 return false;
             }
 
-    
+            //if (false == rgPositiveDecimals.Match(IDC_EDIT_QuantifyMinSize.Text.Trim()).Success)
+            //{
+            //    IDC_EDIT_QuantifyMinSize.Focus();
+            //    IDC_EDIT_QuantifyMinSize.SelectAll();
+            //    string message = table["message63"].ToString();
+            //    MessageBox.Show(message, "Tip", MessageBoxButtons.OK, MessageBoxIcon.Information);
+            //    return false;
+            //}
+          
             
             pat = @"^[0-9]+(\.[0-9]{1,3})?$";  //只能输入,1到3位小数的正数
             rg = new Regex(pat);
@@ -1447,7 +1478,15 @@ namespace OTSMeasureApp
                 return false;
             }
 
-     
+            ////最小放大倍数不得小于45倍
+            //if (Convert.ToInt32(IDC_EDIT_MINMAG.Text.Trim()) < 45)
+            //{
+            //    IDC_EDIT_MINMAG.Focus();
+            //    IDC_EDIT_MINMAG.SelectAll();
+            //    string message = "The minimum magnification cannot be less than 45 times";
+            //    MessageBox.Show(message, "Tip", MessageBoxButtons.OK, MessageBoxIcon.Information);
+            //    return false;
+            //}
 
             //再限制,x轴,y轴,的起止的,输入长度,因为现在已经有在mm和um之间的转换,所以这里要限制一下
             //x轴行程/mm 起

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

@@ -105,6 +105,12 @@
             this.label23 = new System.Windows.Forms.Label();
             this.label20 = new System.Windows.Forms.Label();
             this.groupBox6 = new System.Windows.Forms.GroupBox();
+            this.IDC_EDIT_SmallPartAQTime = new System.Windows.Forms.TextBox();
+            this.label45 = new System.Windows.Forms.Label();
+            this.label46 = new System.Windows.Forms.Label();
+            this.textBox1 = new System.Windows.Forms.TextBox();
+            this.label8 = new System.Windows.Forms.Label();
+            this.label40 = new System.Windows.Forms.Label();
             this.IDC_FILTER = new System.Windows.Forms.CheckBox();
             this.IDC_EDIT_XrayLimit = new System.Windows.Forms.TextBox();
             this.label52 = new System.Windows.Forms.Label();
@@ -218,7 +224,7 @@
             this.groupBox2.Controls.Add(this.label4);
             this.groupBox2.Controls.Add(this.label3);
             this.groupBox2.Controls.Add(this.label2);
-            this.groupBox2.Location = new System.Drawing.Point(334, 23);
+            this.groupBox2.Location = new System.Drawing.Point(333, 11);
             this.groupBox2.Margin = new System.Windows.Forms.Padding(2);
             this.groupBox2.Name = "groupBox2";
             this.groupBox2.Padding = new System.Windows.Forms.Padding(2);
@@ -993,6 +999,12 @@
             // 
             // groupBox6
             // 
+            this.groupBox6.Controls.Add(this.IDC_EDIT_SmallPartAQTime);
+            this.groupBox6.Controls.Add(this.label45);
+            this.groupBox6.Controls.Add(this.label46);
+            this.groupBox6.Controls.Add(this.textBox1);
+            this.groupBox6.Controls.Add(this.label8);
+            this.groupBox6.Controls.Add(this.label40);
             this.groupBox6.Controls.Add(this.IDC_FILTER);
             this.groupBox6.Controls.Add(this.IDC_EDIT_XrayLimit);
             this.groupBox6.Controls.Add(this.label52);
@@ -1021,6 +1033,60 @@
             this.groupBox6.TabStop = false;
             this.groupBox6.Text = "X-ray参数";
             // 
+            // IDC_EDIT_SmallPartAQTime
+            // 
+            this.IDC_EDIT_SmallPartAQTime.Location = new System.Drawing.Point(143, 113);
+            this.IDC_EDIT_SmallPartAQTime.MaxLength = 10;
+            this.IDC_EDIT_SmallPartAQTime.Name = "IDC_EDIT_SmallPartAQTime";
+            this.IDC_EDIT_SmallPartAQTime.Size = new System.Drawing.Size(117, 21);
+            this.IDC_EDIT_SmallPartAQTime.TabIndex = 841;
+            // 
+            // label45
+            // 
+            this.label45.AutoSize = true;
+            this.label45.Location = new System.Drawing.Point(8, 116);
+            this.label45.Name = "label45";
+            this.label45.Size = new System.Drawing.Size(89, 12);
+            this.label45.TabIndex = 840;
+            this.label45.Text = "小颗粒Xray时间";
+            // 
+            // label46
+            // 
+            this.label46.AutoSize = true;
+            this.label46.Location = new System.Drawing.Point(275, 116);
+            this.label46.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+            this.label46.Name = "label46";
+            this.label46.Size = new System.Drawing.Size(17, 12);
+            this.label46.TabIndex = 839;
+            this.label46.Text = "ms";
+            // 
+            // textBox1
+            // 
+            this.textBox1.Location = new System.Drawing.Point(143, 63);
+            this.textBox1.MaxLength = 10;
+            this.textBox1.Name = "textBox1";
+            this.textBox1.Size = new System.Drawing.Size(117, 21);
+            this.textBox1.TabIndex = 838;
+            // 
+            // label8
+            // 
+            this.label8.AutoSize = true;
+            this.label8.Location = new System.Drawing.Point(8, 66);
+            this.label8.Name = "label8";
+            this.label8.Size = new System.Drawing.Size(53, 12);
+            this.label8.TabIndex = 837;
+            this.label8.Text = "分析阈值";
+            // 
+            // label40
+            // 
+            this.label40.AutoSize = true;
+            this.label40.Location = new System.Drawing.Point(274, 66);
+            this.label40.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+            this.label40.Name = "label40";
+            this.label40.Size = new System.Drawing.Size(17, 12);
+            this.label40.TabIndex = 836;
+            this.label40.Text = "um";
+            // 
             // IDC_FILTER
             // 
             this.IDC_FILTER.AutoSize = true;
@@ -1443,5 +1509,11 @@
         public System.Windows.Forms.TextBox IDC_EDIT_Overlap;
         private System.Windows.Forms.Label label52;
         public System.Windows.Forms.CheckBox IDC_FILTER;
+        public System.Windows.Forms.TextBox IDC_EDIT_SmallPartAQTime;
+        private System.Windows.Forms.Label label45;
+        private System.Windows.Forms.Label label46;
+        public System.Windows.Forms.TextBox textBox1;
+        private System.Windows.Forms.Label label8;
+        private System.Windows.Forms.Label label40;
     }
 }

+ 1 - 1
OTSIncAMeasureApp/About.cs

@@ -21,7 +21,7 @@ namespace OTSMeasureApp
         {
 
             richTextBox1.Text = "Version : 3.0\n";
-            richTextBox1.Text += "Opton Copyright © 2023";
+            richTextBox1.Text += "Opton Copyright © 2024";
             richTextBox1.Select(0, richTextBox1.Text.Length);
             //richTextBox1.SelectionColor = Color.DarkBlue;
             richTextBox1.SelectionAlignment = HorizontalAlignment.Center;

+ 5 - 7
OTSIncAMeasureApp/ResourceManage/ResourceData.cs

@@ -21,7 +21,6 @@ namespace OTSModelSharp.ResourceManage
     {// we prepare 10 items for every group.so the first group starts from 0,the second starts from 10,and so on.
      //the item's value is corresponding to the position exactly when it's displayed in the property grid.and the caption string is read from the resource file by the value too.
     
-    
         SAMPLE_NAME = 20000,
         SAMPLE_HOLE_NAME = 20001,
         SWITCH = 20002,
@@ -29,7 +28,7 @@ namespace OTSModelSharp.ResourceManage
         STD_FILE_NAME = 20004,
         MEMBRANE_TYPE = 20005,
         STEEL_TECHNOLOGY = 20006,
-        //ROCK_TYPE = 7,
+     
         SYS_STD_SWITCH = 20008,
        
        
@@ -52,14 +51,13 @@ namespace OTSModelSharp.ResourceManage
         BGREMOVE_TYPE = 20026,
         AUTOBGREMOVE_TYPE = 20027,//Auto BGremove still has three types to choose
        
-        //SEARCH_RESOLUTION = 30,
-        //LOW_COUNTS = 31,
+       
         ANALYSIS_RESOLUTION = 20032,
         XRAYSCAN_MODE = 20033,
         ANALYSIS_COUNTS = 20034,
-        //XRAY_STEP = 35,
-        //XRAY_QUANTIFY_MINSIZE = 20036,
-        //XRAY_FASTTIME = 20037,
+      
+        XRAY_QUANTIFY_MINSIZE = 20036,
+        XRAY_FASTTIME = 20037,
         USING_XRAY = 20038,
         XrayLimit=20039,