|
@@ -87,33 +87,36 @@ namespace WingAIDiagnosisService.URMManage
|
|
|
var processorClass = UrmProcessorList.FirstOrDefault(x => x.GUID == request.GUID);
|
|
|
processorClass.LastActiveTime = DateTime.UtcNow;
|
|
|
var processor = processorClass.Processor;
|
|
|
- await Task.Run(() =>
|
|
|
+ using (await _lockManager.Acquire(request.GUID))
|
|
|
{
|
|
|
- double urmMinVal = 0;
|
|
|
- double urmMaxVal = 0;
|
|
|
- //赋值
|
|
|
- processor.setUrmParams(RecordParams.UrmImageType, request.UrmImageType);
|
|
|
- processor.setUrmParams(RecordParams.UrmBlend, request.UrmBlend);
|
|
|
- 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);
|
|
|
- WingServerCommon.Log.Logger.WriteLineInfo($"getURMImageBase64,GUID:{request.GUID},token:{request.Token},RemedicalCode:{request.RemedicalCode}");
|
|
|
- result.Base64String = processor.getURMImageBase64(true, ref urmMinVal, ref urmMaxVal);
|
|
|
- result.UrmMaxVal = urmMaxVal;
|
|
|
- result.UrmMinVal = urmMinVal;
|
|
|
- processorClass.UrmMinVal = urmMinVal;
|
|
|
- processorClass.UrmMaxVal = urmMaxVal;
|
|
|
- processorClass.HasDrawed = true;
|
|
|
- Logger.WriteLineInfo("AIDiagnosis DoUrmProcess end");
|
|
|
- });
|
|
|
+ await Task.Run(() =>
|
|
|
+ {
|
|
|
+ double urmMinVal = 0;
|
|
|
+ double urmMaxVal = 0;
|
|
|
+ //赋值
|
|
|
+ processor.setUrmParams(RecordParams.UrmImageType, request.UrmImageType);
|
|
|
+ processor.setUrmParams(RecordParams.UrmBlend, request.UrmBlend);
|
|
|
+ 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);
|
|
|
+ WingServerCommon.Log.Logger.WriteLineInfo($"getURMImageBase64,GUID:{request.GUID},token:{request.Token},RemedicalCode:{request.RemedicalCode}");
|
|
|
+ result.Base64String = processor.getURMImageBase64(true, ref urmMinVal, ref urmMaxVal);
|
|
|
+ result.UrmMaxVal = urmMaxVal;
|
|
|
+ result.UrmMinVal = urmMinVal;
|
|
|
+ processorClass.UrmMinVal = urmMinVal;
|
|
|
+ processorClass.UrmMaxVal = urmMaxVal;
|
|
|
+ processorClass.HasDrawed = true;
|
|
|
+ Logger.WriteLineInfo("AIDiagnosis DoUrmProcess end");
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|