|
@@ -552,15 +552,14 @@ namespace WingAIDiagnosisService.Service
|
|
|
|
|
|
Logger.WriteLineInfo($"AIDiagnosisService URMVideoProcessAsync DoUrmVideoProcess start, remedicalCode:{remedicalCode}");
|
|
|
Logger.WriteLineInfo($"urmProcessRequest:{JsonConvert.SerializeObject(urmProcessRequest)}");
|
|
|
- double urmMinVal = 0;
|
|
|
- double urmMaxVal = 0;
|
|
|
- var base64String = URMAnalysisManager.DoUrmVideoProcess(urmProcessRequest, ref urmMinVal, ref urmMaxVal);
|
|
|
- Logger.WriteLineInfo($"AIDiagnosisService URMVideoProcessAsync DoUrmVideoProcess end, remedicalCode:{remedicalCode}, base64String-Length:{base64String.Length}");
|
|
|
+
|
|
|
+ var result = await URMAnalysisManager.DoUrmVideoProcess(urmProcessRequest);
|
|
|
+ Logger.WriteLineInfo($"AIDiagnosisService URMVideoProcessAsync DoUrmVideoProcess end, remedicalCode:{remedicalCode}, base64String-Length:{result.Item1.Length}");
|
|
|
return new URMVideoProcessResult
|
|
|
{
|
|
|
- Base64String = base64String,
|
|
|
- UrmMinVal = urmMinVal,
|
|
|
- UrmMaxVal = urmMaxVal,
|
|
|
+ Base64String = result.Item1,
|
|
|
+ UrmMinVal = result.Item2,
|
|
|
+ UrmMaxVal = result.Item3,
|
|
|
};
|
|
|
}
|
|
|
}
|
|
@@ -792,7 +791,7 @@ namespace WingAIDiagnosisService.Service
|
|
|
|
|
|
urmProcessRequest.GUID = urmProcessRequest.GetUniqueCode();
|
|
|
|
|
|
- var imgList = MergeUrmImages(remedicalCode, currentFolder, request.BackgroundImage, urmProcessRequest, request);
|
|
|
+ var imgList = await MergeUrmImages(remedicalCode, currentFolder, request.BackgroundImage, urmProcessRequest, request);
|
|
|
Logger.WriteLineInfo($"AIDiagnosisService URMGenerateVideoAsync DoUrmVideoProcess, remedicalCode:{remedicalCode}, imgCount:{imgList.Count}");
|
|
|
if (imgList.Count >= 150)
|
|
|
{
|
|
@@ -837,7 +836,7 @@ namespace WingAIDiagnosisService.Service
|
|
|
return new URMGenerateVideoResult();
|
|
|
}
|
|
|
|
|
|
- private List<string> MergeUrmImages(string remedicalCode, string currentFolder, string backgroundImageBase64, DoUrmVideoProcessRequest urmProcessRequest, URMGenerateVideoRequest request)
|
|
|
+ private async Task<List<string>> MergeUrmImages(string remedicalCode, string currentFolder, string backgroundImageBase64, DoUrmVideoProcessRequest urmProcessRequest, URMGenerateVideoRequest request)
|
|
|
{
|
|
|
//colorbar的数值和单位
|
|
|
var unit = "mm/s";
|
|
@@ -851,18 +850,18 @@ namespace WingAIDiagnosisService.Service
|
|
|
urmProcessRequest.VideoFrame = i;
|
|
|
double urmMinVal = 0;
|
|
|
double urmMaxVal = 0;
|
|
|
- var base64String = URMAnalysisManager.DoUrmVideoProcess(urmProcessRequest, ref urmMinVal, ref urmMaxVal);
|
|
|
- if (!string.IsNullOrWhiteSpace(base64String))
|
|
|
+ var result = await URMAnalysisManager.DoUrmVideoProcess(urmProcessRequest);
|
|
|
+ if (!string.IsNullOrWhiteSpace(result.Item1))
|
|
|
{
|
|
|
if (string.IsNullOrWhiteSpace(backgroundImageBase64))
|
|
|
{
|
|
|
- base64String = AddLogAndColorBar(base64String);
|
|
|
+ var base64String = AddLogAndColorBar(result.Item1);
|
|
|
imgList.Add(base64String);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
byte[] bgImageBytes = Convert.FromBase64String(backgroundImageBase64);
|
|
|
- byte[] currImageBytes = Convert.FromBase64String(base64String);
|
|
|
+ byte[] currImageBytes = Convert.FromBase64String(result.Item1);
|
|
|
byte[] logoImageBytes = Convert.FromBase64String(_logoBase64);
|
|
|
byte[] colorbarImageBytes = Convert.FromBase64String(_urmColorbarBase64);
|
|
|
using (MemoryStream streamBg = new MemoryStream(bgImageBytes))
|