|
@@ -142,20 +142,25 @@ namespace WingAIDiagnosisService.URMManage
|
|
|
/// <returns></returns>
|
|
|
public URMMeasureDataOutput MeasureProcess(string remedicalCode, UrmMeasureProcessRequest request, out string perfusionImgBase64, ref double urmMinVal, ref double urmMaxVal)
|
|
|
{
|
|
|
+ Logger.WriteLineInfo($"AIDiagnosisService URMAnalysisManager MeasureProcess start, remedicalCode:{remedicalCode}");
|
|
|
+ Logger.WriteLineInfo($"AIDiagnosisService URMAnalysisManager MeasureProcess InitURMMeasureProcessor, remedicalCode:{remedicalCode}");
|
|
|
InitURMMeasureProcessor(request);
|
|
|
try
|
|
|
{
|
|
|
+ Logger.WriteLineInfo($"AIDiagnosisService URMAnalysisManager MeasureProcess processor, remedicalCode:{remedicalCode}");
|
|
|
var processor = MeasureProcessorList.FirstOrDefault(x => x.GUID == request.GUID);
|
|
|
processor.LastActiveTime = DateTime.UtcNow;
|
|
|
|
|
|
urmMinVal = 0;
|
|
|
urmMaxVal = 0;
|
|
|
- processor.Processor.getUrmVal(ref urmMinVal, ref urmMaxVal);
|
|
|
+ Logger.WriteLineInfo($"AIDiagnosisService URMAnalysisManager MeasureProcess getUrmVal, remedicalCode:{remedicalCode}");
|
|
|
+ // processor.Processor.getUrmVal(ref urmMinVal, ref urmMaxVal);
|
|
|
int samplingPoints = 256; // 采样点数量 (cmlength 不传的话,默认是 256)
|
|
|
if (request.CMlength != null)
|
|
|
{
|
|
|
samplingPoints = (int)(request.CMlength * 1000);
|
|
|
}
|
|
|
+ Logger.WriteLineInfo($"AIDiagnosisService URMAnalysisManager MeasureProcess URMMeasure, remedicalCode:{remedicalCode}");
|
|
|
URMMeasure urmMeasure = new URMMeasure(processor.Processor);
|
|
|
var param = new URMMeasureDataInput();
|
|
|
param.SrcDPoints = request.SrcDPoints;
|
|
@@ -167,15 +172,18 @@ namespace WingAIDiagnosisService.URMManage
|
|
|
param.SamplingPoints = samplingPoints;
|
|
|
param.urmMeasureType = request.UrmMeasureType;
|
|
|
param.ShellWidth = request.ShellWidth;
|
|
|
+ Logger.WriteLineInfo($"AIDiagnosisService URMAnalysisManager MeasureProcess CalURMData, remedicalCode:{remedicalCode}");
|
|
|
URMMeasureDataOutput outresult = urmMeasure.CalURMData(param, request.ScreenWidth, request.ScreenHeight, urmMaxVal, urmMinVal);
|
|
|
// 获取灌注图 example
|
|
|
IntPtr imgPtr = outresult.PerfusionImgData.Start;
|
|
|
+ Logger.WriteLineInfo($"AIDiagnosisService URMAnalysisManager MeasureProcess ConvertImageToBase64, remedicalCode:{remedicalCode}");
|
|
|
perfusionImgBase64 = ConvertImageToBase64(remedicalCode, imgPtr, outresult.PerfusionPiexlRect.Width, outresult.PerfusionPiexlRect.Height);
|
|
|
+ Logger.WriteLineInfo($"AIDiagnosisService URMAnalysisManager MeasureProcess end, remedicalCode:{remedicalCode}");
|
|
|
return outresult;
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
- Logger.WriteLineWarn($"AIService URMAnalysisManager MeasureProcess error, ex:{ex}");
|
|
|
+ Logger.WriteLineWarn($"AIDiagnosisService URMAnalysisManager MeasureProcess error, ex:{ex}");
|
|
|
perfusionImgBase64 = string.Empty;
|
|
|
return null;
|
|
|
}
|