|
@@ -1,10 +1,12 @@
|
|
using System;
|
|
using System;
|
|
|
|
+using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.IO;
|
|
using SixLabors.ImageSharp;
|
|
using SixLabors.ImageSharp;
|
|
using SixLabors.ImageSharp.Processing;
|
|
using SixLabors.ImageSharp.Processing;
|
|
using Vinno.DataTypes;
|
|
using Vinno.DataTypes;
|
|
using Vinno.Infrastructure;
|
|
using Vinno.Infrastructure;
|
|
using WingInterfaceLibrary.Request.RemedicalAISelected;
|
|
using WingInterfaceLibrary.Request.RemedicalAISelected;
|
|
|
|
+using WingServerCommon.Log;
|
|
|
|
|
|
namespace WingAIDiagnosisService.URMManage
|
|
namespace WingAIDiagnosisService.URMManage
|
|
{
|
|
{
|
|
@@ -16,80 +18,79 @@ namespace WingAIDiagnosisService.URMManage
|
|
WatchingVideoProcessor();
|
|
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 UrmDatapath = arg2Params[0];
|
|
+ var UrmDatapath = arg2Params[0];
|
|
- var familyName = arg2Params[1];
|
|
+ var familyName = arg2Params[1];
|
|
- var typeInfo = arg2Params[2];
|
|
+ var typeInfo = arg2Params[2];
|
|
- var nativeId = arg2Params[3];
|
|
+ var nativeId = arg2Params[3];
|
|
- var VecLens = ConvertToInt(arg2Params[4]);
|
|
+ var VecLens = ConvertToInt(arg2Params[4]);
|
|
- var Mlas = ConvertToInt(arg2Params[5]);
|
|
+ var Mlas = ConvertToInt(arg2Params[5]);
|
|
- var FramesGot = ConvertToInt(arg2Params[6]);
|
|
+ var FramesGot = ConvertToInt(arg2Params[6]);
|
|
- var CenterFrequencyMhz = ConvertToDouble(arg2Params[7]);
|
|
+ var CenterFrequencyMhz = ConvertToDouble(arg2Params[7]);
|
|
- var SupersonicSpeed = ConvertToInt(arg2Params[8]);
|
|
+ var SupersonicSpeed = ConvertToInt(arg2Params[8]);
|
|
- var FrequencyMin = ConvertToDouble(arg2Params[9]);
|
|
+ var FrequencyMin = ConvertToDouble(arg2Params[9]);
|
|
- var FrameRateDisplay = ConvertToDouble(arg2Params[10]);
|
|
+ var FrameRateDisplay = ConvertToDouble(arg2Params[10]);
|
|
- var Depth = ConvertToInt(arg2Params[11]);
|
|
+ var Depth = ConvertToInt(arg2Params[11]);
|
|
- var X0 = ConvertToInt(arg2Params[12]);
|
|
+ var X0 = ConvertToInt(arg2Params[12]);
|
|
- var Z0 = ConvertToInt(arg2Params[13]);
|
|
+ var Z0 = ConvertToInt(arg2Params[13]);
|
|
- var ProbeType = arg2Params[14];
|
|
+ var ProbeType = arg2Params[14];
|
|
- var ScaleOfPixel_x = ConvertToDouble(arg2Params[15]);
|
|
+ var ScaleOfPixel_x = ConvertToDouble(arg2Params[15]);
|
|
- var ScaleOfPixel_y = ConvertToDouble(arg2Params[16]);
|
|
+ var ScaleOfPixel_y = ConvertToDouble(arg2Params[16]);
|
|
- var section = arg2Params[17];
|
|
+ var section = arg2Params[17];
|
|
- var MOCOYN = arg2Params[18];
|
|
+ var MOCOYN = arg2Params[18];
|
|
- var MidProc_DeciFactor = ConvertToInt(arg2Params[19]);
|
|
+ var MidProc_DeciFactor = ConvertToInt(arg2Params[19]);
|
|
- var VectorStartForMid = ConvertToInt(arg2Params[20]);
|
|
+ var VectorStartForMid = ConvertToInt(arg2Params[20]);
|
|
- var isliner = arg2Params[21]?.ToLower() == "true";
|
|
+ var isliner = arg2Params[21]?.ToLower() == "true";
|
|
-
|
|
+
|
|
- var startX = ConvertToInt(arg2Params[22]);
|
|
+ var startX = ConvertToInt(arg2Params[22]);
|
|
- var startY = ConvertToInt(arg2Params[23]);
|
|
+ var startY = ConvertToInt(arg2Params[23]);
|
|
- var width = ConvertToInt(arg2Params[24]);
|
|
+ var width = ConvertToInt(arg2Params[24]);
|
|
- var height = ConvertToInt(arg2Params[25]);
|
|
+ var height = ConvertToInt(arg2Params[25]);
|
|
- int? CustomizedStartFrame = ConvertToIntCanNull(arg2Params[26]);
|
|
+ int? CustomizedStartFrame = ConvertToIntCanNull(arg2Params[26]);
|
|
- int? CustomizedEndFrame = ConvertToIntCanNull(arg2Params[27]);
|
|
+ int? CustomizedEndFrame = ConvertToIntCanNull(arg2Params[27]);
|
|
- var roiXPercent = ConvertToDouble(arg2Params[28]);
|
|
+ var roiXPercent = ConvertToDouble(arg2Params[28]);
|
|
- var roiYPercent = ConvertToDouble(arg2Params[29]);
|
|
+ var roiYPercent = ConvertToDouble(arg2Params[29]);
|
|
- var roiWPercent = ConvertToDouble(arg2Params[30]);
|
|
+ var roiWPercent = ConvertToDouble(arg2Params[30]);
|
|
- var roiHPercent = ConvertToDouble(arg2Params[31]);
|
|
+ var roiHPercent = ConvertToDouble(arg2Params[31]);
|
|
-
|
|
+
|
|
- URMFileIO urmFileIO = new URMFileIO(familyName: familyName, typeInfo: typeInfo, nativeId: nativeId);
|
|
+ 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);
|
|
+ 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();
|
|
+ var modeRecord = new URMAnalysisModeRecord();
|
|
- try
|
|
|
|
- {
|
|
|
|
- var outputFolder = args[1];
|
|
|
|
if (!Directory.Exists(outputFolder))
|
|
if (!Directory.Exists(outputFolder))
|
|
{
|
|
{
|
|
Directory.CreateDirectory(outputFolder);
|
|
Directory.CreateDirectory(outputFolder);
|
|
@@ -113,7 +114,6 @@ namespace WingAIDiagnosisService.URMManage
|
|
ResultDataIOHelper.WriteURMPointsToFile(pointsPath, modeRecord.URMPoints);
|
|
ResultDataIOHelper.WriteURMPointsToFile(pointsPath, modeRecord.URMPoints);
|
|
ResultDataIOHelper.WriteURMPointNumsToFile(pointNumsPath, modeRecord.URMPointNums);
|
|
ResultDataIOHelper.WriteURMPointNumsToFile(pointNumsPath, modeRecord.URMPointNums);
|
|
|
|
|
|
- var coverFile = args[2];
|
|
|
|
int coverImageWidth = 0;
|
|
int coverImageWidth = 0;
|
|
int coverImageHeight = 0;
|
|
int coverImageHeight = 0;
|
|
using (var image = Image.Load(coverFile))
|
|
using (var image = Image.Load(coverFile))
|
|
@@ -195,7 +195,7 @@ namespace WingAIDiagnosisService.URMManage
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
catch (Exception ex)
|
|
{
|
|
{
|
|
-
|
|
+ WingServerCommon.Log.Logger.WriteLineWarn($"AIService URMAnalysisManager DoURMAnalysis error, ex:{ex}");
|
|
}
|
|
}
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|