fly 8 月之前
父節點
當前提交
42d68b1940
共有 3 個文件被更改,包括 58 次插入35 次删除
  1. 4 0
      Service/AIDiagnosisService.URM.cs
  2. 53 34
      URMManage/ImagePostProcess.cs
  3. 1 1
      URMManage/UrmProcessRequest.cs

+ 4 - 0
Service/AIDiagnosisService.URM.cs

@@ -298,6 +298,10 @@ namespace WingAIDiagnosisService.Service
 
                         urmProcessRequest.RemedicalCode = remedicalCode;
                         urmProcessRequest.Token = request.Token;
+                        if (request.ZoomOn)
+                        {
+                            urmProcessRequest.ProcessType = 2;
+                        }
                         urmProcessRequest.GUID = urmProcessRequest.GetUniqueCode();
 
                         double urmMinVal = 0;

+ 53 - 34
URMManage/ImagePostProcess.cs

@@ -72,40 +72,59 @@ namespace WingAIDiagnosisService.URMManage
                 var processorClass = UrmProcessorList.FirstOrDefault(x => x.GUID == request.GUID);
                 processorClass.LastActiveTime = DateTime.UtcNow;
                 var processor = processorClass.Processor;
-                using (var mutex = new Mutex(false, request.GUID + DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss:f")))//同一个人100毫秒以内无法同时访问,避免server挂掉
-                {
-                    try
-                    {
-                        mutex.WaitOne();
-                        //赋值
-                        processor.setUrmParams(RecordParams.UrmImageType, request.UrmImageType);
-                        processor.setUrmParams(RecordParams.UrmBlend, request.UrmBlend ? 2 : 0);
-                        processor.setUrmParams(RecordParams.URMDownSampleIndex, request.DownsampleIndex);
-                        processor.setUrmParams(RecordParams.URMIntPowerDen, request.IntPowerDen);
-                        processor.setUrmParams(RecordParams.URMIntPowerDir, request.IntPowerDir);
-                        processor.setUrmParams(RecordParams.URMSigmaGauss, request.SigmaGauss);
-                        processor.setUrmParams(RecordParams.URMVessScale, request.VessScale);
-                        processor.setUrmParams(RecordParams.URMVelMaxScaler, request.VelMaxScaler);
-                        processor.setUrmParams(RecordParams.URMVelMinScaler, request.VelMinScaler);
-                        processor.setUrmParams(RecordParams.URMIterations, request.Iterations);
-                        processor.setUrmBaseParam(request.Res, processorClass.DenArray, processorClass.DirArray, processorClass.VelArray, processorClass.AngleArray, processorClass.MaskArray, request.Urmsrcwidth, request.Urmsrcheight, request.ScaleOfPixel_x, request.ScaleOfPixel_y, request.ImgProcessVer);
-                        processor.setUrmDrawParam(request.ZoomOn, request.ZoomRoix, request.ZoomRoiy, request.ZoomRoiwidth, request.ZoomRoiheight, request.Roix, request.Roiy, request.Roiwidth, request.Roiheight, request.LeftRight, request.UpDown, request.ScreenWidth, request.ScreenHeight);
-                        processor.CalTracePointMask(request.UrmTraceDPoints);
-                        imgBase64 = processor.getURMImageBase64(true, ref urmMinVal, ref urmMaxVal);
-                        processorClass.UrmMinVal = urmMinVal;
-                        processorClass.UrmMaxVal = urmMaxVal;
-                        processorClass.HasDrawed = true;
-                        Logger.WriteLineInfo("AIDiagnosis DoUrmProcess end");
-                    }
-                    catch (Exception ex)
-                    {
-                        WingServerCommon.Log.Logger.WriteLineInfo($"_urmProcessAlg.CalURMImg error :{ex}");
-                    }
-                    finally
-                    {
-                        mutex.ReleaseMutex();
-                    }
-                }
+                // using (var mutex = new Mutex(false, request.GUID + DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss:f")))//同一个processor 100毫秒以内无法同时访问,避免server挂掉
+                // {
+                //     try
+                //     {
+                //         mutex.WaitOne();
+                //         //赋值
+                //         processor.setUrmParams(RecordParams.UrmImageType, request.UrmImageType);
+                //         processor.setUrmParams(RecordParams.UrmBlend, request.UrmBlend ? 2 : 0);
+                //         processor.setUrmParams(RecordParams.URMDownSampleIndex, request.DownsampleIndex);
+                //         processor.setUrmParams(RecordParams.URMIntPowerDen, request.IntPowerDen);
+                //         processor.setUrmParams(RecordParams.URMIntPowerDir, request.IntPowerDir);
+                //         processor.setUrmParams(RecordParams.URMSigmaGauss, request.SigmaGauss);
+                //         processor.setUrmParams(RecordParams.URMVessScale, request.VessScale);
+                //         processor.setUrmParams(RecordParams.URMVelMaxScaler, request.VelMaxScaler);
+                //         processor.setUrmParams(RecordParams.URMVelMinScaler, request.VelMinScaler);
+                //         processor.setUrmParams(RecordParams.URMIterations, request.Iterations);
+                //         processor.setUrmBaseParam(request.Res, processorClass.DenArray, processorClass.DirArray, processorClass.VelArray, processorClass.AngleArray, processorClass.MaskArray, request.Urmsrcwidth, request.Urmsrcheight, request.ScaleOfPixel_x, request.ScaleOfPixel_y, request.ImgProcessVer);
+                //         processor.setUrmDrawParam(request.ZoomOn, request.ZoomRoix, request.ZoomRoiy, request.ZoomRoiwidth, request.ZoomRoiheight, request.Roix, request.Roiy, request.Roiwidth, request.Roiheight, request.LeftRight, request.UpDown, request.ScreenWidth, request.ScreenHeight);
+                //         processor.CalTracePointMask(request.UrmTraceDPoints);
+                //         imgBase64 = processor.getURMImageBase64(true, ref urmMinVal, ref urmMaxVal);
+                //         processorClass.UrmMinVal = urmMinVal;
+                //         processorClass.UrmMaxVal = urmMaxVal;
+                //         processorClass.HasDrawed = true;
+                //         Logger.WriteLineInfo("AIDiagnosis DoUrmProcess end");
+                //     }
+                //     catch (Exception ex)
+                //     {
+                //         WingServerCommon.Log.Logger.WriteLineInfo($"_urmProcessAlg.CalURMImg error :{ex}");
+                //     }
+                //     finally
+                //     {
+                //         mutex.ReleaseMutex();
+                //     }
+                // }
+                //赋值
+                processor.setUrmParams(RecordParams.UrmImageType, request.UrmImageType);
+                processor.setUrmParams(RecordParams.UrmBlend, request.UrmBlend ? 2 : 0);
+                processor.setUrmParams(RecordParams.URMDownSampleIndex, request.DownsampleIndex);
+                processor.setUrmParams(RecordParams.URMIntPowerDen, request.IntPowerDen);
+                processor.setUrmParams(RecordParams.URMIntPowerDir, request.IntPowerDir);
+                processor.setUrmParams(RecordParams.URMSigmaGauss, request.SigmaGauss);
+                processor.setUrmParams(RecordParams.URMVessScale, request.VessScale);
+                processor.setUrmParams(RecordParams.URMVelMaxScaler, request.VelMaxScaler);
+                processor.setUrmParams(RecordParams.URMVelMinScaler, request.VelMinScaler);
+                processor.setUrmParams(RecordParams.URMIterations, request.Iterations);
+                processor.setUrmBaseParam(request.Res, processorClass.DenArray, processorClass.DirArray, processorClass.VelArray, processorClass.AngleArray, processorClass.MaskArray, request.Urmsrcwidth, request.Urmsrcheight, request.ScaleOfPixel_x, request.ScaleOfPixel_y, request.ImgProcessVer);
+                processor.setUrmDrawParam(request.ZoomOn, request.ZoomRoix, request.ZoomRoiy, request.ZoomRoiwidth, request.ZoomRoiheight, request.Roix, request.Roiy, request.Roiwidth, request.Roiheight, request.LeftRight, request.UpDown, request.ScreenWidth, request.ScreenHeight);
+                processor.CalTracePointMask(request.UrmTraceDPoints);
+                imgBase64 = processor.getURMImageBase64(true, ref urmMinVal, ref urmMaxVal);
+                processorClass.UrmMinVal = urmMinVal;
+                processorClass.UrmMaxVal = urmMaxVal;
+                processorClass.HasDrawed = true;
+                Logger.WriteLineInfo("AIDiagnosis DoUrmProcess end");
             }
             catch (Exception ex)
             {

+ 1 - 1
URMManage/UrmProcessRequest.cs

@@ -23,7 +23,7 @@ namespace WingAIDiagnosisService.URMManage
         public string Token { get; set; }
 
         /// <summary>
-        /// 操作类型  0-后处理测量,1-colorbar,2-zoom
+        /// 操作类型  0-后处理zoom关和测量,1-colorbar,2-zoom
         /// </summary>
         /// <value></value>
         public int ProcessType { get; set; } = 0;