فهرست منبع

添加生成EDS图像,并且图像上显示能谱识别标识的功能

HaoShuang 4 سال پیش
والد
کامیت
e16618ef83
2فایلهای تغییر یافته به همراه64 افزوده شده و 6 حذف شده
  1. 55 6
      MeasureThread/Measure.cs
  2. 9 0
      MeasureThread/MeasureThread.csproj

+ 55 - 6
MeasureThread/Measure.cs

@@ -23,6 +23,8 @@ using DBManager;
 using Extender;
 using CookComputing.XmlRpc;
 
+using HOZProject.Helpers;
+
 namespace MeasureThread
 {
     #region 信息定义
@@ -2612,12 +2614,12 @@ namespace MeasureThread
             {
                 //add by sun 2020-12-17 不同样品电压、电流不一致,应设置灵活。123456类电压2000V电流200pA,7类5000V 500pA,能谱 7000V 500pA 
                 LogManager.AddHardwareLog("测量线程:第一孔=====设置拍照电压 123456类电压2000V电流200pA,7类5000V 500pA,能谱 7000V 500pA  目前是第 " + m_measureFile.MParam.SampleName + " 类!", true);
-            if (!SetVoltageAndIPROBE())
-            {
-                LogManager.AddHardwareLog("测量线程:第一孔=====设置电压电流失败!目前是第 " + m_measureFile.MParam.SampleName + " 类!", true);
-                return false;
-            }
-            //add by sun 2020-12-17 不同样品电压、电流不一致,应设置灵活。123456类电压2000V电流200pA,7类5000V 500pA,能谱 7000V 500pA end
+                if (!SetVoltageAndIPROBE())
+                {
+                    LogManager.AddHardwareLog("测量线程:第一孔=====设置电压电流失败!目前是第 " + m_measureFile.MParam.SampleName + " 类!", true);
+                    return false;
+                }
+                //add by sun 2020-12-17 不同样品电压、电流不一致,应设置灵活。123456类电压2000V电流200pA,7类5000V 500pA,能谱 7000V 500pA end
 
             //设置拉直的放大倍数
             LogManager.AddHardwareLog("测量线程:第一个孔的测试过程-设置SEM放大倍数为拉直放大倍数,放大倍数为" + m_measureFile.MParam.Stretch_Magnification.ToString(), true);
@@ -5726,6 +5728,7 @@ namespace MeasureThread
         MeasureDB m_MeasDB = null;
         int m_nXrayId = 0;
         const String ImageNameEDS = @"EDSImage.tif"; //EDS能谱图片
+        const String ImageNameEDS3 = @"EDSImageTag.tif"; //EDS能谱图片
         const String ImageNameEDS4 = @"SEMTrapCPEDS.tif";//传给客户,找到已经切割点
         const String ImageNameEDS5 = @"SEMDegreeTrapEDS.tif";//传给客户,水平校正
         const String ImageNameEDS6 = @"SEMMagEndEDS.tif";//传给客户,测量层高
@@ -5774,6 +5777,17 @@ namespace MeasureThread
                     return false;
                 }
 
+                //20201223在图像上增加标注
+                List<DrawAnalysePoint> darwAPList = new List<DrawAnalysePoint>();
+                for (int i = 0; i < listPoints.Count; i++)
+                {
+                    DrawAnalysePoint p = new DrawAnalysePoint();
+                    p.Title = "谱图" + i.ToString();
+                    p.Point = listPoints[i];
+                    p.DrawType = DrawType.Point;
+                    darwAPList.Add(p);
+                }
+
                 //线数据
                 LogManager.AddHardwareLog("线扫描", true);
                 state = 0;
@@ -5786,15 +5800,31 @@ namespace MeasureThread
                     List<Segment> segments = new List<Segment>();
                     for (int i = 0; i < listlines.Count; i++)
                     {
+                        List<System.Drawing.Point> linepoint = new List<System.Drawing.Point>();
                         for (int j = 0; j <= lines_height[i]; j++)
                         {
+                            System.Drawing.Point p = new System.Drawing.Point();
+
                             Segment segment = new Segment();
                             segment.X = listlines[0].X;
                             segment.Y = listlines[0].Y + j;
                             segment.Length = 1;
                             segments.Add(segment);
+
+                            p.X = segment.X;
+                            p.Y = segment.Y;
+                            linepoint.Add(p);
                         }
                         listFeature.Add(segments);
+
+                        //20201223在图像上增加标注
+                       
+                        DrawAnalysePoint l = new DrawAnalysePoint();
+                        l.Title = "谱图" + (i+ listPoints.Count).ToString();
+                        l.LinePoints = linepoint;
+                        l.DrawType = DrawType.Line;
+                        darwAPList.Add(l);
+
                     }
                     LogManager.AddHardwareLog("将线转换为segment数据完成", true);
                 }
@@ -5823,6 +5853,19 @@ namespace MeasureThread
                     }
                     listFeature.Add(segments);
                     LogManager.AddHardwareLog("将面转换为segment数据完成", true);
+
+                    //20201223在图像上增加标注
+
+                    DrawAnalysePoint a = new DrawAnalysePoint();
+                    System.Drawing.Size asz = new System.Drawing.Size();
+                    asz.Width = width;
+                    asz.Height = height;
+                    a.Point = area_pt;
+                    a.Title = "谱图" + (1+listPoints.Count + listPoints.Count).ToString();
+                    a.RectSize = asz;
+                    a.DrawType = DrawType.Rectangle;
+
+                    darwAPList.Add(a);
                 }
                 else
                 {
@@ -5882,6 +5925,12 @@ namespace MeasureThread
                     m_MeasDB.InsertAAreaXay(a_PointNum, m_nXrayId, AreasNo, listSeg, XrayData, listElement, num);
                     LogManager.AddHardwareLog("面采集写入数据库结束", true);
                 }
+
+                //20201223,生成图片
+                string edstag = path + "\\" + num.ToString() + "_" + ImageNameEDS3;
+                NewFunMethod fun = new NewFunMethod();
+                fun.GetBseAnalyticalSite(edsfn, darwAPList,edstag);
+
             }
             catch (Exception e)
             {

+ 9 - 0
MeasureThread/MeasureThread.csproj

@@ -71,8 +71,13 @@
   <ItemGroup>
     <Compile Include="IMath.cs" />
     <Compile Include="Measure.cs" />
+    <Compile Include="Helpers\NewFunMethod.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="ThreadStatus.cs" />
+    <Compile Include="UserControls\Control_XRayTable.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="UserControls\Control_XRayTable.designer.cs" />
     <Compile Include="XmlRpcClient.cs" />
   </ItemGroup>
   <ItemGroup>
@@ -105,6 +110,10 @@
     <None Include="App.config" />
     <None Include="packages.config" />
   </ItemGroup>
+  <ItemGroup />
+  <ItemGroup>
+    <EmbeddedResource Include="UserControls\Control_XRayTable.resx" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
     <PropertyGroup>