Browse Source

improve mineral analysis standard db

gsp 7 months ago
parent
commit
fde4a603c1

+ 4 - 4
Bin/x64/Debug/Config/SysData/OTSProgMgrParam.pmf

@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <XMLData RunMode="ProfessionalMode" SysType="IncA">
-  <Member RegName="GenParam" DefaultArea="100" DefaultSampleName="Sample" DefaultShape="0" MeasParamFileFolderName=".\Config\ProData\" MeasSwitch="true" PartSTDLibFolderName=".\Config\SysData\" PropertyDisplayMode="0" StdLibFileName="OTS_TC_Axia_per" SteelTechnology="0" UseSysSTD="true" />
+  <Member RegName="GenParam" DefaultArea="100" DefaultSampleName="Sample" DefaultShape="0" MeasParamFileFolderName=".\Config\ProData\" MeasSwitch="true" PartSTDLibFolderName=".\Config\SysData\" PropertyDisplayMode="0" StdLibFileName="fire-resistant_2" SteelTechnology="0" UseSysSTD="false" />
   <Member RegName="ImageProcParam" AutoBGRemoveType="0:MIDDLE" BGRemoveType="3:WaterShed" MatrixStep="50" OverlapParam="0" ParticleSelectionCondition="">
-    <Member RegName="BGGray" end="60" start="0" />
-    <Member RegName="IncArea" end="500" start="30" />
+    <Member RegName="BGGray" end="10" start="0" />
+    <Member RegName="IncArea" end="500" start="20" />
     <Member RegName="ParticleGray" end="255" start="0" />
   </Member>
-  <Member RegName="ImageScanParam" ImageResolution="4:_1536_1024" SatrtImageMode="1:Snake" ScanImageSpeed="0:low" StopMode="0:CoverMode" StopParamArea="10" StopParamFields="100" StopParamMeasTime="360" StopParamParticles="5000" />
+  <Member RegName="ImageScanParam" ImageResolution="4:_1536_1024" SatrtImageMode="1:Snake" ScanImageSpeed="1:meddium" StopMode="0:CoverMode" StopParamArea="10" StopParamFields="100" StopParamMeasTime="360" StopParamParticles="5000" />
   <Member RegName="StageData" ControlDelay="1000" MinMag="65" scanFieldSize="1270" xAxisDir="0:LEFT_TOWARD" yAxisDir="1:DOWN_TOWARD">
     <Member RegName="XAxis" end="55000" start="-55000" />
     <Member RegName="YAxis" end="55000" start="-55000" />

BIN
Bin/x64/Debug/Config/SysData/fire-resistant_2.db


+ 20 - 4
OTSCPP/OTSImagePro/GreyPeak.cpp

@@ -4,14 +4,14 @@ namespace OTSIMGPROC
 {
 		
 
-		BOOL MyGreyPeak::MergeGreyPeaks(MyGreyPeak* firstRng)
+		BOOL MyGreyPeak::MergeGreyPeaks(MyGreyPeak* firstRng ,MyGreyPeak*& resultFirstRng)
 		{
 
 			auto curRange = firstRng;
 
 			while (curRange != NULL)
 			{
-				int pt = curRange->GetPeakType();
+				GrayPeakType pt = curRange->GetPeakType();
 
 				if (pt == GrayPeakType::normalPeak)//normal peak
 				{
@@ -34,6 +34,7 @@ namespace OTSIMGPROC
 						{
 							preRng->MergePeak(curRange);
 							curRange = preRng;
+							//firstRng = preRng;
 							continue;
 						}
 
@@ -58,6 +59,7 @@ namespace OTSIMGPROC
 							nextRng->MergePeak(curRange);
 
 							curRange = nextRng;
+							//firstRng = nextRng;
 							continue;
 						}
 
@@ -79,12 +81,14 @@ namespace OTSIMGPROC
 							{
 								preRng->MergePeak(curRange);
 								curRange = preRng;
+								//firstRng = preRng;
 								continue;
 							}
 							else
 							{
 								nextRng->MergePeak(curRange);
 								curRange = nextRng;
+								//firstRng = nextRng;
 								continue;
 							}
 						}
@@ -92,12 +96,14 @@ namespace OTSIMGPROC
 						{
 							preRng->MergePeak(curRange);
 							curRange = preRng;
+							//firstRng = preRng;
 							continue;
 						}
 						else if (nextPeak > curPeak && prePeak < curPeak)
 						{
 							nextRng->MergePeak(curRange);
 							curRange = nextRng;
+							//firstRng = nextRng;
 							continue;
 						}
 
@@ -107,6 +113,7 @@ namespace OTSIMGPROC
 
 						preRng->MergePeak(curRange);
 						curRange = preRng;
+						//firstRng = preRng;
 						continue;
 
 
@@ -114,7 +121,7 @@ namespace OTSIMGPROC
 					else if (preRng == NULL && nextRng != NULL)
 					{
 						nextRng->MergePeak(curRange);
-						firstRng = nextRng;
+						//firstRng = nextRng;
 						curRange = nextRng;
 						continue;
 					}
@@ -122,10 +129,19 @@ namespace OTSIMGPROC
 
 
 				}
-
+				if (curRange->nextRng == NULL)
+				{
+					break;
+               
+				}
 				curRange = curRange->nextRng;
 
 			}
+			while (curRange != NULL && curRange->preRng != NULL)
+			{
+				resultFirstRng = curRange->preRng;
+				curRange = curRange->preRng;
+			}
 			return true;
 		}
 

+ 1 - 1
OTSCPP/OTSImagePro/GreyPeak.h

@@ -122,7 +122,7 @@ namespace OTSIMGPROC
 
 		}
 
-		static BOOL MergeGreyPeaks(MyGreyPeak* firstRng);
+		static BOOL MergeGreyPeaks(MyGreyPeak* firstRng, MyGreyPeak*& resultFirstRng);
 
 	};
 	

+ 3 - 3
OTSCPP/OTSImagePro/OTSImageProcess.cpp

@@ -1533,12 +1533,12 @@ namespace OTSIMGPROC
 			curRange->allNoneZeroGreyLevelNum = validGreyLevelNum;
 			curRange = curRange->nextRng;
 		}
+		MyGreyPeak* firstRng1=NULL;
 
-
-		MyGreyPeak::MergeGreyPeaks(firstRng);
+		MyGreyPeak::MergeGreyPeaks(firstRng,firstRng1);
 
 		std::vector<CIntRange> ranges;
-		auto curRange1 = firstRng;
+		auto curRange1 = firstRng1;
 		while (curRange1 != NULL)
 		{
 

+ 5 - 0
OTSIncAMeasureApp/5-OTSMeasureStatuImageFun/OTSMeasureStatusWindow.cs

@@ -361,6 +361,11 @@ namespace OTSMeasureApp
 
             CBSEImgClr img;
             bool rst = GetScanImage(GetIWidth(), GetIHeight(), nDwellTime, out img);
+            if (img.GetWidth() != GetIWidth() || img.GetHeight() != GetIHeight())
+            {
+                log.Error("Wrong resolution!");
+                return false;
+            }
             originalBse = img;
             originalBseData = img.GetImageDataPtr();
             myFld = new COTSField();

+ 1 - 2
OTSIncAMeasureApp/ServiceCenter/CImageHandler.cs

@@ -213,8 +213,7 @@ namespace OTSModelSharp.ServiceCenter
             List<COTSParticleClr> specialGreyparts = new List<COTSParticleClr>();
             var ecdrange = a_pImgProcessParam.GetIncAreaRange();
             var originalBse = tempFld.GetBSEImage();
-            //var tempFld = new COTSField(new PointF(0,0),a_pixelSize);
-            //tempFld.SetBSEImage(a_pImgIn);
+           
             if (!RemoveBGAndGetParts(tempFld, a_pImgProcessParam, ref parts))
             {
                 return;

+ 9 - 8
OTSIncAReportApp/1-UI/Control_Graph/Controls/Control_DrawDistrbutionImageAndBSE.cs

@@ -589,10 +589,10 @@ namespace OTSIncAReportGraph.Controls
 
 
             }
-            if (m_mouseOver_dparticle != null)
-            {
-                m_mouseOver_dparticle.Paint(e.Graphics);
-            }
+            //if (m_mouseOver_dparticle != null)
+            //{
+            //    m_mouseOver_dparticle.Paint(e.Graphics);
+            //}
            
             //display GB field
             if (m_CurGBFields.Count > 0)
@@ -963,13 +963,13 @@ namespace OTSIncAReportGraph.Controls
                             if (dp.GetPaintState() == PaintState.PAINT)
                             {
 
-                                if (m_zoom_record >= 0.9)
+                                if (m_zoom_record >= 0.7)
                                 {
-                                    if (dp.WhetherInRange( e.Location))
+                                    if (dp.WhetherInRange(e.Location))
                                     {
-                                   
+
                                         dp.IsMouseOver = true;
-                                        m_mouseOver_dparticle = dp;
+                                      
 
                                         ShowParticleInfo(dp);
 
@@ -987,6 +987,7 @@ namespace OTSIncAReportGraph.Controls
 
                                 }
                                 
+                                
                             }
 
 

+ 10 - 6
OTSIncAReportApp/2-CommonFunction/CommonClass/DisplayParticle.cs

@@ -432,6 +432,14 @@ namespace OTSIncAReportGraph
             m_Globalrect.X = refPoint.X + xShift;
             m_Globalrect.Y = refPoint.Y + yShift;
            
+           
+
+
+            m_CurrentZoomNum += zoomDelta;
+            if (m_CurrentZoomNum < 0.7)
+            {
+                m_isMouseOver = false;
+            }
             //设置缩放到多少倍时进行显示
             if (m_CurrentZoomNum >= m_zoom_displayThreshold)
             {
@@ -442,10 +450,6 @@ namespace OTSIncAReportGraph
                 m_paintState = PaintState.CONCISEPAINT;
             }
 
-
-            m_CurrentZoomNum += zoomDelta;
-
-
         }
 
         public void DraggingMove(PointF mousePoint)
@@ -685,8 +689,8 @@ namespace OTSIncAReportGraph
             float x = 0, y = 0;
             x = m_Globalrect.X + (m_Globalrect.Width / 2);
             y = m_Globalrect.Y + (m_Globalrect.Height / 2);
-            var smallwidth = m_Globalrect.Width * 2 / 3;
-            var smallheight = m_Globalrect.Height * 2 / 3;
+            var smallwidth = m_Globalrect.Width * 1 / 5;
+            var smallheight = m_Globalrect.Height * 1 / 5;
             rect.X = x - smallwidth/2;
             rect.Y = y - smallheight / 2;
             rect.Width = smallwidth;