|
@@ -1,10 +1,12 @@
|
|
|
using System;
|
|
|
+using System.Collections.Generic;
|
|
|
using System.IO;
|
|
|
using SixLabors.ImageSharp;
|
|
|
using SixLabors.ImageSharp.Processing;
|
|
|
using Vinno.DataTypes;
|
|
|
using Vinno.Infrastructure;
|
|
|
using WingInterfaceLibrary.Request.RemedicalAISelected;
|
|
|
+using WingServerCommon.Log;
|
|
|
|
|
|
namespace WingAIDiagnosisService.URMManage
|
|
|
{
|
|
@@ -16,80 +18,79 @@ namespace WingAIDiagnosisService.URMManage
|
|
|
WatchingVideoProcessor();
|
|
|
}
|
|
|
|
|
|
- public URMAnalysisV2Result DoURMAnalysis(string[] args)
|
|
|
+ public URMAnalysisV2Result DoURMAnalysis(List<string> arguments, string outputFolder, string coverFile)
|
|
|
{
|
|
|
- var arg2Params = args[3].Split(";");
|
|
|
+ try
|
|
|
+ {
|
|
|
+ var arg2Params = arguments;
|
|
|
|
|
|
- // var familyName = "Linear";
|
|
|
- // var typeInfo = "Linear_U5-15LE";
|
|
|
- // var nativeId = "Breast";
|
|
|
- // var VecLens = 568;
|
|
|
- // var Mlas = 128;
|
|
|
- // var FramesGot = 2200;
|
|
|
- // var CenterFrequencyMhz = 4.7;
|
|
|
- // var SupersonicSpeed = 1540;
|
|
|
- // var FrequencyMin = 6.5;
|
|
|
- // var FrameRateDisplay = 101.9;
|
|
|
- // var Depth = 0;
|
|
|
- // var X0 = 0;
|
|
|
- // var Z0 = 0;
|
|
|
- // var ProbeType = "1";
|
|
|
- // var ScaleOfPixel_x = 0.214925914347303;
|
|
|
- // var ScaleOfPixel_y = 0.61038961038961;
|
|
|
- // var section = "URMAnalysisParam:Level4";
|
|
|
- // var MOCOYN = "0";
|
|
|
- // var MidProc_DeciFactor = 1;
|
|
|
- // var VectorStartForMid = 11;
|
|
|
- // var isliner = false;
|
|
|
- // // 前端调用时传入
|
|
|
- // var startX = 47;
|
|
|
- // var startY = 14;
|
|
|
- // var width = 74;
|
|
|
- // var height = 492;
|
|
|
- // int? CustomizedStartFrame = null;
|
|
|
- // int? CustomizedEndFrame = null;
|
|
|
+ // var familyName = "Linear";
|
|
|
+ // var typeInfo = "Linear_U5-15LE";
|
|
|
+ // var nativeId = "Breast";
|
|
|
+ // var VecLens = 568;
|
|
|
+ // var Mlas = 128;
|
|
|
+ // var FramesGot = 2200;
|
|
|
+ // var CenterFrequencyMhz = 4.7;
|
|
|
+ // var SupersonicSpeed = 1540;
|
|
|
+ // var FrequencyMin = 6.5;
|
|
|
+ // var FrameRateDisplay = 101.9;
|
|
|
+ // var Depth = 0;
|
|
|
+ // var X0 = 0;
|
|
|
+ // var Z0 = 0;
|
|
|
+ // var ProbeType = "1";
|
|
|
+ // var ScaleOfPixel_x = 0.214925914347303;
|
|
|
+ // var ScaleOfPixel_y = 0.61038961038961;
|
|
|
+ // var section = "URMAnalysisParam:Level4";
|
|
|
+ // var MOCOYN = "0";
|
|
|
+ // var MidProc_DeciFactor = 1;
|
|
|
+ // var VectorStartForMid = 11;
|
|
|
+ // var isliner = false;
|
|
|
+ // // 前端调用时传入
|
|
|
+ // var startX = 47;
|
|
|
+ // var startY = 14;
|
|
|
+ // var width = 74;
|
|
|
+ // var height = 492;
|
|
|
+ // int? CustomizedStartFrame = null;
|
|
|
+ // int? CustomizedEndFrame = null;
|
|
|
|
|
|
- var UrmDatapath = arg2Params[0];
|
|
|
- var familyName = arg2Params[1];
|
|
|
- var typeInfo = arg2Params[2];
|
|
|
- var nativeId = arg2Params[3];
|
|
|
- var VecLens = ConvertToInt(arg2Params[4]);
|
|
|
- var Mlas = ConvertToInt(arg2Params[5]);
|
|
|
- var FramesGot = ConvertToInt(arg2Params[6]);
|
|
|
- var CenterFrequencyMhz = ConvertToDouble(arg2Params[7]);
|
|
|
- var SupersonicSpeed = ConvertToInt(arg2Params[8]);
|
|
|
- var FrequencyMin = ConvertToDouble(arg2Params[9]);
|
|
|
- var FrameRateDisplay = ConvertToDouble(arg2Params[10]);
|
|
|
- var Depth = ConvertToInt(arg2Params[11]);
|
|
|
- var X0 = ConvertToInt(arg2Params[12]);
|
|
|
- var Z0 = ConvertToInt(arg2Params[13]);
|
|
|
- var ProbeType = arg2Params[14];
|
|
|
- var ScaleOfPixel_x = ConvertToDouble(arg2Params[15]);
|
|
|
- var ScaleOfPixel_y = ConvertToDouble(arg2Params[16]);
|
|
|
- var section = arg2Params[17];
|
|
|
- var MOCOYN = arg2Params[18];
|
|
|
- var MidProc_DeciFactor = ConvertToInt(arg2Params[19]);
|
|
|
- var VectorStartForMid = ConvertToInt(arg2Params[20]);
|
|
|
- var isliner = arg2Params[21]?.ToLower() == "true";
|
|
|
- // 前端调用时传入
|
|
|
- var startX = ConvertToInt(arg2Params[22]);
|
|
|
- var startY = ConvertToInt(arg2Params[23]);
|
|
|
- var width = ConvertToInt(arg2Params[24]);
|
|
|
- var height = ConvertToInt(arg2Params[25]);
|
|
|
- int? CustomizedStartFrame = ConvertToIntCanNull(arg2Params[26]);
|
|
|
- int? CustomizedEndFrame = ConvertToIntCanNull(arg2Params[27]);
|
|
|
- var roiXPercent = ConvertToDouble(arg2Params[28]);
|
|
|
- var roiYPercent = ConvertToDouble(arg2Params[29]);
|
|
|
- var roiWPercent = ConvertToDouble(arg2Params[30]);
|
|
|
- var roiHPercent = ConvertToDouble(arg2Params[31]);
|
|
|
- // 开始执行分析
|
|
|
- URMFileIO urmFileIO = new URMFileIO(familyName: familyName, typeInfo: typeInfo, nativeId: nativeId);
|
|
|
- urmFileIO.UpdateParamJson(UrmDatapath, VecLens, Mlas, FramesGot, CenterFrequencyMhz, SupersonicSpeed, FrequencyMin, FrameRateDisplay, Depth, X0, Z0, ProbeType, ScaleOfPixel_x, ScaleOfPixel_y, section, MOCOYN, MidProc_DeciFactor, VectorStartForMid, startX, startY, width, height, CustomizedStartFrame, CustomizedEndFrame, out string urmParams);
|
|
|
+ var UrmDatapath = arg2Params[0];
|
|
|
+ var familyName = arg2Params[1];
|
|
|
+ var typeInfo = arg2Params[2];
|
|
|
+ var nativeId = arg2Params[3];
|
|
|
+ var VecLens = ConvertToInt(arg2Params[4]);
|
|
|
+ var Mlas = ConvertToInt(arg2Params[5]);
|
|
|
+ var FramesGot = ConvertToInt(arg2Params[6]);
|
|
|
+ var CenterFrequencyMhz = ConvertToDouble(arg2Params[7]);
|
|
|
+ var SupersonicSpeed = ConvertToInt(arg2Params[8]);
|
|
|
+ var FrequencyMin = ConvertToDouble(arg2Params[9]);
|
|
|
+ var FrameRateDisplay = ConvertToDouble(arg2Params[10]);
|
|
|
+ var Depth = ConvertToInt(arg2Params[11]);
|
|
|
+ var X0 = ConvertToInt(arg2Params[12]);
|
|
|
+ var Z0 = ConvertToInt(arg2Params[13]);
|
|
|
+ var ProbeType = arg2Params[14];
|
|
|
+ var ScaleOfPixel_x = ConvertToDouble(arg2Params[15]);
|
|
|
+ var ScaleOfPixel_y = ConvertToDouble(arg2Params[16]);
|
|
|
+ var section = arg2Params[17];
|
|
|
+ var MOCOYN = arg2Params[18];
|
|
|
+ var MidProc_DeciFactor = ConvertToInt(arg2Params[19]);
|
|
|
+ var VectorStartForMid = ConvertToInt(arg2Params[20]);
|
|
|
+ var isliner = arg2Params[21]?.ToLower() == "true";
|
|
|
+ // 前端调用时传入
|
|
|
+ var startX = ConvertToInt(arg2Params[22]);
|
|
|
+ var startY = ConvertToInt(arg2Params[23]);
|
|
|
+ var width = ConvertToInt(arg2Params[24]);
|
|
|
+ var height = ConvertToInt(arg2Params[25]);
|
|
|
+ int? CustomizedStartFrame = ConvertToIntCanNull(arg2Params[26]);
|
|
|
+ int? CustomizedEndFrame = ConvertToIntCanNull(arg2Params[27]);
|
|
|
+ var roiXPercent = ConvertToDouble(arg2Params[28]);
|
|
|
+ var roiYPercent = ConvertToDouble(arg2Params[29]);
|
|
|
+ var roiWPercent = ConvertToDouble(arg2Params[30]);
|
|
|
+ var roiHPercent = ConvertToDouble(arg2Params[31]);
|
|
|
+ // 开始执行分析
|
|
|
+ URMFileIO urmFileIO = new URMFileIO(familyName: familyName, typeInfo: typeInfo, nativeId: nativeId);
|
|
|
+ urmFileIO.UpdateParamJson(UrmDatapath, VecLens, Mlas, FramesGot, CenterFrequencyMhz, SupersonicSpeed, FrequencyMin, FrameRateDisplay, Depth, X0, Z0, ProbeType, ScaleOfPixel_x, ScaleOfPixel_y, section, MOCOYN, MidProc_DeciFactor, VectorStartForMid, startX, startY, width, height, CustomizedStartFrame, CustomizedEndFrame, out string urmParams);
|
|
|
|
|
|
- var modeRecord = new URMAnalysisModeRecord();
|
|
|
- try
|
|
|
- {
|
|
|
- var outputFolder = args[1];
|
|
|
+ var modeRecord = new URMAnalysisModeRecord();
|
|
|
if (!Directory.Exists(outputFolder))
|
|
|
{
|
|
|
Directory.CreateDirectory(outputFolder);
|
|
@@ -113,7 +114,6 @@ namespace WingAIDiagnosisService.URMManage
|
|
|
ResultDataIOHelper.WriteURMPointsToFile(pointsPath, modeRecord.URMPoints);
|
|
|
ResultDataIOHelper.WriteURMPointNumsToFile(pointNumsPath, modeRecord.URMPointNums);
|
|
|
|
|
|
- var coverFile = args[2];
|
|
|
int coverImageWidth = 0;
|
|
|
int coverImageHeight = 0;
|
|
|
using (var image = Image.Load(coverFile))
|
|
@@ -195,7 +195,7 @@ namespace WingAIDiagnosisService.URMManage
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
-
|
|
|
+ WingServerCommon.Log.Logger.WriteLineWarn($"AIService URMAnalysisManager DoURMAnalysis error, ex:{ex}");
|
|
|
}
|
|
|
return null;
|
|
|
}
|