Преглед изворни кода

Merge branch 'Release2.3' into ZJX

zhangjiaxin пре 3 година
родитељ
комит
cd772042e1

+ 1 - 0
Bin/x64/Debug/Resources/XMLData/ResourceForMeasureSourceGrid-EN.xml

@@ -91,6 +91,7 @@
 			<member itemKey="20036" itemName="" itemText="QuantifyThreshold(EqualCircle/um)" description="进行X-ray quantify 分析的最小颗粒尺寸"/>
 			<member itemKey="20037" itemName="" itemText="FastX-ray(Ms)" description="进行X-ray quantify 分析的最小颗粒尺寸"/>
 			<member itemKey="20038" itemName="" itemText="Collect X-ray" description="Whether to collect X-ray during the detection process"/>
+			<member itemKey="20039" itemName="" itemText="XrayLimit"/>
 			<member itemKey="20185" itemName="" itemText="Spot Scan"/>
 			<member itemKey="20186" itemName="" itemText="Plane Scan"/>
 			<member itemKey="20200" itemName="" itemText="Yes" description=""/>

+ 2 - 1
Bin/x64/Debug/Resources/XMLData/ResourceForMeasureSourceGrid-ZH.xml

@@ -92,6 +92,7 @@
 			<member itemKey="20036" itemName="" itemText="分析阈值(等效圆直径/微米)" description="进行X-ray quantify 分析的最小颗粒尺寸"/>
 			<member itemKey="20037" itemName="" itemText="小颗粒x-ray时间(毫秒)" description="进行X-ray quantify 分析的最小颗粒尺寸"/>
 			<member itemKey="20038" itemName="" itemText="是否采集X-ray" description="检测过程中是否对颗粒进行X-ray采集"/>
+			<member itemKey="20039" itemName="" itemText="数量限值"/>
 			<member itemKey="20185" itemName="" itemText="点扫描" description=""/>
             <member itemKey="20186" itemName="" itemText="面扫描" description=""/>
 			<member itemKey="20200" itemName="" itemText="是" description=""/>
@@ -102,7 +103,7 @@
 			<member itemKey="20102" itemName="" itemText="输入分析x-ray时间。"/>
 			<member itemKey="20103" itemName="" itemText="选择分析x-ray扫描方式。"/>
 			<member itemKey="20104" itemName="" itemText="输入分析x-ray计数率期望值。"/>
-			<member itemKey="20105" itemName="" itemText="spare"/>
+			<member itemKey="20105" itemName="" itemText=""/>
 			<member itemKey="20106" itemName="" itemText="spare"/>
 			<member itemKey="20107" itemName="" itemText="spare"/>
 			<member itemKey="20108" itemName="" itemText="spare"/>

+ 4 - 4
OTSCPP/OTSClassifyEngine/InclutionEngine/OTSClassifyEng.cpp

@@ -381,21 +381,21 @@ namespace OTSClassifyEngine
 		}
 
 	
-		if (dOMolar > MIN_ELEMENT_SUM && dSMolar< MIN_ELEMENT_SUM && dNMolar< MIN_ELEMENT_SUM)
+		if (dOMolar >= MIN_ELEMENT_SUM && dSMolar< MIN_ELEMENT_SUM )
 		{
 			
 			a_GrpId = IDENTIFIED_INC_GRP_ID::OXIDE;
 			
 		}
-		else if (dOMolar < MIN_ELEMENT_SUM && dSMolar > MIN_ELEMENT_SUM && dNMolar < MIN_ELEMENT_SUM)
+		else if ( dSMolar >= MIN_ELEMENT_SUM && dOMolar < MIN_ELEMENT_SUM)
 		{
 			a_GrpId = IDENTIFIED_INC_GRP_ID::SULFIDE;
 		}
-		else if (dOMolar > MIN_ELEMENT_SUM && dSMolar > MIN_ELEMENT_SUM && dNMolar < MIN_ELEMENT_SUM)
+		else if (dOMolar >= MIN_ELEMENT_SUM && dSMolar > MIN_ELEMENT_SUM )
 		{
 			a_GrpId = IDENTIFIED_INC_GRP_ID::SULFIDE_OXIDE;
 		}
-		else if ( dNMolar > MIN_ELEMENT_SUM)
+		else if ( dNMolar >= MIN_ELEMENT_SUM)
 		{
 			a_GrpId = IDENTIFIED_INC_GRP_ID::CARBONNITRIDE_NITRIDE;
 		}

+ 12 - 10
OTSCPP/OTSImagePro/OTSImageProcess.cpp

@@ -2352,16 +2352,18 @@ namespace OTSIMGPROC
 		int r;
 		Point inscribeCirclecenter;
 		FindInnerCircleInContour(outContour, inscribeCirclecenter, r);
-		CPoint xrayPos = a_pOTSPart->GetXRayPos();
-		double localPos = pointPolygonTest(outContour, Point2f(xrayPos.x, xrayPos.y), false);
-		if (localPos == 1 || localPos == 0)//像素点在多边形内和边缘 
-		{
-			
-		}
-		else
-		{
-			a_pOTSPart->SetXRayPos(CPoint(inscribeCirclecenter.x, inscribeCirclecenter.y));
-		}
+		//--------------------------------------------------------calculate the xraypos failed, expect improving later!
+		//CPoint xrayPos = a_pOTSPart->GetXRayPos();
+		//double localPos = pointPolygonTest(outContour, Point2f(xrayPos.x, xrayPos.y), false);
+		//if (localPos == 1 || localPos == 0)//像素点在多边形内和边缘 
+		//{
+		//	
+		//}
+		//else
+		//{
+		//	a_pOTSPart->SetXRayPos(CPoint(inscribeCirclecenter.x, inscribeCirclecenter.y));
+		//}
+		//--------------------------------------------------------
 
 		//circle(cvContourImg, inscribeCirclecenter, r, Scalar(200));
 		a_pOTSPart->SetDInscr(r * 2 * a_PixelSize);

+ 70 - 35
OTSIncAMeasureApp/0-OTSModel/Measure/DBDataTransition/MergedParticles/MergeParticleDB.cs

@@ -4,6 +4,7 @@ using OTSModelSharp.DTLBase;
 using System;
 using System.Collections.Generic;
 using System.Data;
+using System.Data.SQLite;
 using System.Drawing;
 using System.Linq;
 using System.Text;
@@ -25,44 +26,78 @@ namespace OTSModelSharp
             Rectangle prec = (Rectangle)a_pParticle.GetParticleRect();
             System.Drawing.Point pos = (System.Drawing.Point)a_pParticle.GetAbsolutPos();
             String sInsertFormat = tableInfoPtr.GetInsertCommandFormatString(true);
-        String sSQLCommand = String.Format(sInsertFormat,
-            a_pParticle.GetFieldId(),
-			a_pParticle.GetAnalysisId(),
-			a_pParticle.GetAveGray(),
-             prec.Left,
-             prec.Top,
-             prec.Width,
-             prec.Height,
-			a_pParticle.GetActualArea(),
-            pos.X,
-            pos.Y,
-			a_pParticle.GetType(),
-			(int) a_pXray.GetElementQuantifyData().Count,
-			(int) (a_pParticle.GetFeature().GetSegmentsList().Count),
-			fldPos.X,
-			fldPos.Y,
-			a_pParticle.GetTagId(),
-			a_pParticle.GetDMAX(),
-			a_pParticle.GetDMIN(),
-			a_pParticle.GetDMPERP(),
-			a_pParticle.GetDPRIMETER(),
-			a_pParticle.GetORIENTATION(),
-			a_pParticle.GetDINSCR(),
-			a_pParticle.GetDMEAN(),
-			a_pParticle.GetDELONG(),
-			a_pParticle.GetFeretDiameter(),
-			a_pParticle.GetTypeName(),
-			a_pParticle.GetTypeColor(),
-			a_pParticle.GetSubParticles()
-			);
+            var cmd = tableInfoPtr.GetInsertCommand(true);
+
+            var paras = cmd.Value;
+            paras[0].Value = a_pParticle.GetFieldId();
+            paras[1].Value = a_pParticle.GetAnalysisId();
+            paras[2].Value = a_pParticle.GetAveGray();
+            paras[3].Value = prec.Left;
+            paras[4].Value = prec.Top;
+            paras[5].Value = prec.Width;
+            paras[6].Value = prec.Height;
+            paras[7].Value = a_pParticle.GetActualArea();
+            paras[8].Value = pos.X;
+            paras[9].Value = pos.Y;
+            paras[10].Value = a_pParticle.GetType();
+            paras[11].Value = a_pXray.GetElementQuantifyData().Count;
+            paras[12].Value = a_pParticle.GetFeature().GetSegmentsList().Count;
+            paras[13].Value = fldPos.X;
+            paras[14].Value = fldPos.Y;
+            paras[15].Value = a_pParticle.GetTagId();
+            paras[16].Value = a_pParticle.GetDMAX();
+            paras[17].Value = a_pParticle.GetDMIN();
+            paras[18].Value = a_pParticle.GetDMPERP();
+            paras[19].Value = a_pParticle.GetDPRIMETER();
+            paras[20].Value = a_pParticle.GetORIENTATION();
+            paras[21].Value = a_pParticle.GetDINSCR();
+            paras[22].Value = a_pParticle.GetDMEAN();
+            paras[23].Value = a_pParticle.GetDELONG();
+            paras[24].Value = a_pParticle.GetFeretDiameter();
+            paras[25].Value = a_pParticle.GetTypeName();
+            paras[26].Value = a_pParticle.GetTypeColor();
+            paras[27].Value = a_pParticle.GetSubParticles();
+
+
+            //     String sSQLCommand = String.Format(sInsertFormat,
+            //         a_pParticle.GetFieldId(),
+            //a_pParticle.GetAnalysisId(),
+            //a_pParticle.GetAveGray(),
+            //          prec.Left,
+            //          prec.Top,
+            //          prec.Width,
+            //          prec.Height,
+            //a_pParticle.GetActualArea(),
+            //         pos.X,
+            //         pos.Y,
+            //a_pParticle.GetType(),
+            //(int) a_pXray.GetElementQuantifyData().Count,
+            //(int) (a_pParticle.GetFeature().GetSegmentsList().Count),
+            //fldPos.X,
+            //fldPos.Y,
+            //a_pParticle.GetTagId(),
+            //a_pParticle.GetDMAX(),
+            //a_pParticle.GetDMIN(),
+            //a_pParticle.GetDMPERP(),
+            //a_pParticle.GetDPRIMETER(),
+            //a_pParticle.GetORIENTATION(),
+            //a_pParticle.GetDINSCR(),
+            //a_pParticle.GetDMEAN(),
+            //a_pParticle.GetDELONG(),
+            //a_pParticle.GetFeretDiameter(),
+            //a_pParticle.GetTypeName(),
+            //a_pParticle.GetTypeColor(),
+            //a_pParticle.GetSubParticles()
+            //);
             //var helper = new SQLiteHelper(datastorePtr);
-            
-            if (datastorePtr.RunCommand(sSQLCommand)!=true)
-			{
+            List<KeyValuePair<string, SQLiteParameter[]>> cmds = new List<KeyValuePair<string, SQLiteParameter[]>>();
+            cmds.Add(cmd);
+           
 
+                datastorePtr.ExecuteNonQueryBatch(ref cmds);
+               
 
-                return false;
-			}
+           
 
             return true;
 	}

+ 38 - 27
OTSIncAMeasureApp/CRegistration.cs

@@ -14,48 +14,59 @@ namespace OTSMeasureApp
    
         public bool RegistrationVerification()
         {
-            string CPUID, DiskID;
+           
             try
             {
+                //if (!checkRegistration())//文件授权法
+                //{
+                //    return false;
+
+                //}
+                //狗加密法
                 SenseShield.DogDecrypting.decrypting(101);//参数为许可号
             }
             catch (Exception ex)
             {
-                CPUID = getCpu();
-                DiskID = GetDiskVolumeSerialNumber();
-                var ID = ReadXML("./Config/SysData/RegistrationProofreading.txt");
-                if (ID.Count == 0)
-                {
-                    return false;
-                }
-                List<string> list_str = new List<string>();
-                List<string> list_time = new List<string>();
-                ID.TryGetValue("ID", out list_str);
-                ID.TryGetValue("Time", out list_time);
-                string setCPU = ConvertString(list_str[0]);
-                string setDisk = ConvertString(list_str[1]);
-                string setYear = ConvertString(list_time[0]);
-                string setMonth = ConvertString(list_time[1]);
-                string setDay = ConvertString(list_time[2]);
-                if (CPUID != setCPU || DiskID != setDisk)
-                {
-                    return false;
 
-                }
+                return false;
 
-                DateTime dt = DateTime.ParseExact(setYear + setMonth + setDay + "235959", "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
+            }
+            return true;
+        }
+        private bool checkRegistration()
+        {
+            string CPUID, DiskID;
+            CPUID = getCpu();
+            DiskID = GetDiskVolumeSerialNumber();
+            var ID = ReadXML("./Config/SysData/RegistrationProofreading.txt");
+            if (ID.Count == 0)
+            {
+                return false;
+            }
+            List<string> list_str = new List<string>();
+            List<string> list_time = new List<string>();
+            ID.TryGetValue("ID", out list_str);
+            ID.TryGetValue("Time", out list_time);
+            string setCPU = ConvertString(list_str[0]);
+            string setDisk = ConvertString(list_str[1]);
+            string setYear = ConvertString(list_time[0]);
+            string setMonth = ConvertString(list_time[1]);
+            string setDay = ConvertString(list_time[2]);
+            if (CPUID != setCPU || DiskID != setDisk)
+            {
+                return false;
 
-                if (DateTime.Now > dt)
-                {
+            }
 
-                    return false;
-                }
+            DateTime dt = DateTime.ParseExact(setYear + setMonth + setDay + "235959", "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
 
+            if (DateTime.Now > dt)
+            {
 
+                return false;
             }
             return true;
         }
-   
 
 
         // 获得CPU的序列号

+ 0 - 1
OTSIncAMeasureApp/OTSIncAMeasureAppForm.cs

@@ -158,7 +158,6 @@ namespace OTSMeasureApp
 
         private void OTSIncAMeasureAppForm_Load(object sender, EventArgs e)
         {
-          
             try
             {
   

+ 2 - 2
OTSIncAMeasureApp/ServiceCenter/CImageHandler.cs

@@ -190,8 +190,8 @@ namespace OTSModelSharp.ServiceInterface
                 fldclr.SetPosition(f.GetOTSPosition());
                 fldclr.SetImageWidth(f.Width);
                 fldclr.SetImageHeight(f.Height);
-                
-                foreach (var p in f.GetListAnalysisParticles())
+                var parts = f.GetListAnalysisParticles();
+                foreach (var p in parts)
                 {
                     fldclr.AddParticle(p);
                 }

+ 1 - 0
OTSIncAMeasureApp/ServiceCenter/DTLBase/IDBStoreBase.cs

@@ -30,5 +30,6 @@ namespace OTSModelSharp.DTLBase
 		
 
 		 bool InsertBlobData(string  szSql,  byte[] pBlobData, int iBlobDataLen);
+		void ExecuteNonQueryBatch(ref List<KeyValuePair<string, SQLiteParameter[]>> list);
 	}
 }