Browse Source

fix invalid particle identification bug.

gsp 3 years ago
parent
commit
8d0ab3be6a

+ 2 - 0
OTSCPP/OTSClassifyEngine/InclutionClassifyEngine.cpp

@@ -47,6 +47,7 @@ bool InclutionClassifyEngine::Classify(COTSParticlePtr particle, int SteelTech,
 		particle->SetType(OTS_PARTICLE_TYPE::INVALID);
 		particle->TypeName("Invalid");
 		particle->TypeColor("#000000");
+		particle->SetClassifyId(Id);
 		particle->SetGroupId(grpId);
 		std::string grpName;
 		std::string grpColor;
@@ -60,6 +61,7 @@ bool InclutionClassifyEngine::Classify(COTSParticlePtr particle, int SteelTech,
 		particle->SetType(OTS_PARTICLE_TYPE::NOT_IDENTIFIED);
 		particle->TypeName("Not Identified");
 		particle->TypeColor("#000000");
+		particle->SetClassifyId((int)OTS_PARTICLE_TYPE::NOT_IDENTIFIED);
 		particle->SetGroupId(grpId);
 		std::string grpName;
 		std::string grpColor;

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

@@ -37,8 +37,8 @@ namespace OTSClassifyEngine
 		double dMolarSum = 0.0f;
 		double dMolarSumNoFe = 0.0f;
 		OTS_PARTICLE_TYPE incId;
-		NOT_INCLUTION_ID notIncId;
-		if (!IsAnValidIncXRay(a_listElementChemistries, listElChemsInc, listElChemsIncNoFe, dMolarSum, dMolarSumNoFe, incId, notIncId))
+		NOT_INCLUTION_ID notAIncId;// is not an inc but we can identify
+		if (!IsAnValidIncXRay(a_listElementChemistries, listElChemsInc, listElChemsIncNoFe, dMolarSum, dMolarSumNoFe, incId, notAIncId))
 		{
 		
 			LogErrorTrace(__FILE__, __LINE__, _T("COTSClassifyEng::failed to call IsAnValidIncXRay"));
@@ -47,7 +47,7 @@ namespace OTSClassifyEngine
 		}
 		if (incId == OTS_PARTCLE_TYPE::ISNOT_INCLUTION)// this is not an inclution particle,but we can identify.
 		{
-			a_nIncId =(int) notIncId;
+			a_nIncId =(int) notAIncId;
 			a_GrpId = (int)OTS_PARTCLE_TYPE::ISNOT_INCLUTION;
 			return TRUE;
 

+ 11 - 4
OTSIncAMeasureApp/0-OTSModel/Measure/DBDataTransition/IncADataDB.cs

@@ -72,7 +72,7 @@ namespace OTSModelSharp
             paras[8].Value = xrayPos.X;
             paras[9].Value = xrayPos.Y;
 
-            paras[10].Value = a_pParticle.GetClassifyId();
+            paras[10].Value = a_pParticle.GetFeretDiameter();
             paras[11].Value = (int)(a_pParticle.GetFeature().GetSegmentsList().Count);
             paras[12].Value = fldPos.X;
             paras[13].Value = fldPos.Y;
@@ -85,7 +85,7 @@ namespace OTSModelSharp
             paras[20].Value = a_pParticle.GetDINSCR();
             paras[21].Value = a_pParticle.GetDMEAN();
             paras[22].Value = a_pParticle.GetDELONG();
-            paras[23].Value = a_pParticle.GetFeretDiameter();
+            paras[23].Value = a_pParticle.GetClassifyId();
             paras[24].Value = a_pParticle.GetTypeName();
             paras[25].Value = a_pParticle.GetTypeColor();
             paras[26].Value = semPos.X;
@@ -119,7 +119,7 @@ namespace OTSModelSharp
                     COTSParticleClr p = new COTSParticleClr();
                     p.SetFieldId(fld.GetId());
                     p.SetTagId(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_PARTICLE_ID]));
-                    p.SetType(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_TYPE_ID]));
+                  
                     int top = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_RECT_TOP]);
                     int left = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_RECT_LEFT]);
                     int width = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_RECT_WIDTH]);
@@ -139,6 +139,10 @@ namespace OTSModelSharp
                     p.SetDELONG(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DELONG]));
                     p.SetDPRIMETER(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_PERIMETER]));
                     p.SetORIENTATION(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_ORIENTATION]));
+
+                    p.SetFeretDiameter(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DFERET]));
+
+                    p.SetType(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_TYPE_ID]));
                     p.SetTypeName(allRecords.Rows[i][(int)CIncADataTable.ColumnID.S_NAME].ToString());
                     p.SetTypeColor(allRecords.Rows[i][(int)CIncADataTable.ColumnID.S_COLOR].ToString());
                     ps.Add(p);
@@ -152,7 +156,7 @@ namespace OTSModelSharp
                     COTSParticleClr p = new COTSParticleClr();
                     p.SetFieldId(fld.GetId());
                     p.SetTagId(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_PARTICLE_ID]));
-                    p.SetType(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_TYPE_ID]));
+                  
                     int top = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_RECT_TOP]);
                     int left = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_RECT_LEFT]);
                     int width = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_RECT_WIDTH]);
@@ -171,6 +175,9 @@ namespace OTSModelSharp
                     p.SetDELONG(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DELONG]));
                     p.SetDPRIMETER(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_PERIMETER]));
                     p.SetORIENTATION(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_ORIENTATION]));
+                    p.SetFeretDiameter(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DFERET]));
+
+                    p.SetType(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_TYPE_ID]));
                     p.SetTypeName(allRecords.Rows[i][(int)CIncADataTable.ColumnID.S_NAME].ToString());
                     p.SetTypeColor(allRecords.Rows[i][(int)CIncADataTable.ColumnID.S_COLOR].ToString());
                     ps.Add(p);

+ 5 - 4
OTSIncAMeasureApp/0-OTSModel/Measure/DBDataTransition/IncADataTable.cs

@@ -23,7 +23,7 @@ namespace OTSModelSharp
             F_AREA = 7,
             N_POS_X = 8,
             N_POS_Y = 9,
-            N_TYPE_ID = 10,           
+            F_DFERET = 10,           
             N_SEGMENT_NUM = 11,
             N_FldPosX = 12,
             N_FldPosY = 13,
@@ -36,7 +36,7 @@ namespace OTSModelSharp
             F_DINSCR = 20,
             F_DMEAN = 21,
             F_DELONG = 22,
-            F_DFERET = 23,
+            N_TYPE_ID = 23,
             S_NAME = 24,
             S_COLOR = 25,
             N_SEMPOS_X=26,
@@ -63,7 +63,7 @@ namespace OTSModelSharp
             AddColumn(new ColumnDefine() { ColumName = "Area", ColumType = new ColumnType(ColumnType.ID.FLOAT,false,false), IsPrimarykey = false });
             AddColumn(new ColumnDefine() { ColumName = "PosX", ColumType =new ColumnType(ColumnType.ID.INTEGER, false,false), IsPrimarykey = false });
             AddColumn(new ColumnDefine() { ColumName = "PosY", ColumType =new ColumnType(ColumnType.ID.INTEGER, false,false), IsPrimarykey = false });
-            AddColumn(new ColumnDefine() { ColumName = "TypeId", ColumType =new ColumnType(ColumnType.ID.INTEGER,false,false), IsPrimarykey = false });           
+            AddColumn(new ColumnDefine() { ColumName = "DFERET", ColumType = new ColumnType(ColumnType.ID.FLOAT, false, false), IsPrimarykey = false });
             AddColumn(new ColumnDefine() { ColumName = "SegmentNum", ColumType =new ColumnType(ColumnType.ID.INTEGER,false,false), IsPrimarykey = false });
             AddColumn(new ColumnDefine() { ColumName = "FieldPosX", ColumType =new ColumnType(ColumnType.ID.INTEGER, false,false), IsPrimarykey = false });
             AddColumn(new ColumnDefine() { ColumName = "FieldPosY", ColumType =new ColumnType(ColumnType.ID.INTEGER, false,false), IsPrimarykey = false });
@@ -76,7 +76,8 @@ namespace OTSModelSharp
             AddColumn(new ColumnDefine() { ColumName = "DINSCR", ColumType =new ColumnType(ColumnType.ID.FLOAT, false,false), IsPrimarykey = false });
             AddColumn(new ColumnDefine() { ColumName = "DMEAN", ColumType =new ColumnType(ColumnType.ID.FLOAT, false,false), IsPrimarykey = false });
             AddColumn(new ColumnDefine() { ColumName = "DELONG", ColumType =new ColumnType(ColumnType.ID.FLOAT, false,false), IsPrimarykey = false });
-            AddColumn(new ColumnDefine() { ColumName = "DFERET", ColumType =new ColumnType(ColumnType.ID.FLOAT, false,false), IsPrimarykey = false });
+          
+            AddColumn(new ColumnDefine() { ColumName = "TypeId", ColumType = new ColumnType(ColumnType.ID.INTEGER, false, false), IsPrimarykey = false });
             AddColumn(new ColumnDefine() { ColumName = "TypeName", ColumType =new ColumnType(ColumnType.ID.STRING,false,false), IsPrimarykey = false });
             AddColumn(new ColumnDefine() { ColumName = "TypeColor", ColumType =new ColumnType(ColumnType.ID.STRING,false,false), IsPrimarykey = false });
             AddColumn(new ColumnDefine() { ColumName = "SEMPosX", ColumType = new ColumnType(ColumnType.ID.INTEGER, false, false), IsPrimarykey = false });