Ver Fonte

URM更新依赖,基于 1.5X_Tulip256 v77502

jeremy há 8 meses atrás
pai
commit
c2cf6014b7

BIN
URM/ImagePPMsg.dll


BIN
URM/ImageProcessAlgWrapLib.dll


BIN
URM/VCL.dll


BIN
URM/Vinno.Core.dll


BIN
URM/Vinno.CoreIn.dll


+ 1 - 1
URM/dev/GlobalConfiguration.ini

@@ -423,7 +423,7 @@ dump_frame_before_SC=false
 framebeforeSCDumpFolder = D:/FrameBeforeSC
 dumpPhaseVecPos=false
 URMVessFitThresh=0.005
-URMImgProcessSwitch=true
+
 #For DiffusionWave Auto Dump
 #AutoDumpFocusRFTime = 2
 #AutoEnterBMode = true

BIN
URM/dev/ImagePP_Tulip.bin


BIN
URM/dev/ImagePP_Tulip_Vet.bin


+ 4 - 0
URM/etc/Setup/AppSetting.ini

@@ -1061,6 +1061,10 @@ MinStoreIntervalInSenselessStore = 500
 
 WaitTimeForPreStore = 3000
 
+SenselessWaitUntilScanImageReady_Interval = 0.01
+SenselessWaitUntilScanImageReady_Count = 20
+SenselessFirstImageRenderedWaitTime = 0.10
+
 SenselessGetSnapshotJumpWaitTime = 0.01
 SenselessGetSnapshotJumpWaitCount = 20
 SenselessGetSnapshotJumpFinalWaitTime = 0.03

+ 0 - 1
URM/etc/Setup/GlobalConfiguration.ini

@@ -80,7 +80,6 @@
   #4.7 + 2.5 usage = 7.1G, so we still have 900M free memory
   LiveQueueMemorySizeTender = 6500
   LiveQueueMemorySize = 3578  
-  
 
 [SystemSettings]
   ProductName = VINNO60

BIN
URM/net6.0/ImagePPMsg.dll


BIN
URM/net6.0/ImageProcessAlgWrapLib.dll


BIN
URM/net6.0/ImageProcessAlgWrapLibV1.dll


BIN
URM/net6.0/ImageProcessAlgWrapLibV2.dll


BIN
URM/net6.0/VCL.dll


BIN
URM/net6.0/Vinno.Core.dll


BIN
URM/net6.0/Vinno.CoreIn.dll


BIN
URM/net6.0/libmwbwlookup_tbb.dll


BIN
URM/net6.0/libmwgetnumcores.dll


BIN
URM/net6.0/libmwtbbhist.dll


BIN
URM/net6.0/mwboost_thread-vc142-mt-x64-1_75.dll


+ 8 - 9
URMManage/ImagePostProcess.cs

@@ -266,7 +266,7 @@ namespace WingAIDiagnosisService.URMManage
                     videoProcessor.setUrmParams(RecordParams.URMVideoType, request.URMVideoType);
                     // 设置图像配置
                     videoProcessor.setUrmParams(RecordParams.UrmImageType, request.UrmImageType);
-                    videoProcessor.setUrmParams(RecordParams.UrmBlend, request.UrmBlend);
+                    videoProcessor.setUrmParams(RecordParams.UrmBlend, request.UrmBlend ? 2 : 0);
                     videoProcessor.setUrmParams(RecordParams.URMDownSampleIndex, request.DownsampleIndex);
                     videoProcessor.setUrmParams(RecordParams.URMIntPowerDen, request.IntPowerDen);
                     videoProcessor.setUrmParams(RecordParams.URMIntPowerDir, request.IntPowerDir);
@@ -275,8 +275,7 @@ namespace WingAIDiagnosisService.URMManage
                     videoProcessor.setUrmParams(RecordParams.URMVelMaxScaler, request.VelMaxScaler);
                     videoProcessor.setUrmParams(RecordParams.URMVelMinScaler, request.VelMinScaler);
                     videoProcessor.setUrmParams(RecordParams.URMIterations, request.Iterations);
-                    videoProcessor.setUrmBaseParam(request.Res, DenArray, DirArray, VelArray, AngleArray, MaskArray, request.Urmsrcwidth, request.Urmsrcheight, request.ScaleOfPixel_x, request.ScaleOfPixel_y, request.ImgProcessVer, request.Isliner
-                        );
+                    videoProcessor.setUrmBaseParam(request.Res, DenArray, DirArray, VelArray, AngleArray, MaskArray, request.Urmsrcwidth, request.Urmsrcheight, request.ScaleOfPixel_x, request.ScaleOfPixel_y, request.ImgProcessVer);
                     videoProcessor.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
                         );
                     videoProcessor.PreURMVideo(URMPoints, URMPointNums, ref urmMaxVal, ref urmMinVal);
@@ -314,7 +313,7 @@ namespace WingAIDiagnosisService.URMManage
                     var URMProcessInitSuccess = UrmProcessor.init(request.FamilyName, request.TypeInfo, request.NativeId);
                     Logger.WriteLineInfo("AIDiagnosis DoUrmProcess InitURMProcessor setUrmParams");
                     UrmProcessor.setUrmParams(RecordParams.UrmImageType, request.UrmImageType);
-                    UrmProcessor.setUrmParams(RecordParams.UrmBlend, request.UrmBlend);
+                    UrmProcessor.setUrmParams(RecordParams.UrmBlend, request.UrmBlend ? 2 : 0);
                     UrmProcessor.setUrmParams(RecordParams.URMDownSampleIndex, request.DownsampleIndex);
                     UrmProcessor.setUrmParams(RecordParams.URMIntPowerDen, request.IntPowerDen);
                     UrmProcessor.setUrmParams(RecordParams.URMIntPowerDir, request.IntPowerDir);
@@ -323,7 +322,7 @@ namespace WingAIDiagnosisService.URMManage
                     UrmProcessor.setUrmParams(RecordParams.URMVelMaxScaler, request.VelMaxScaler);
                     UrmProcessor.setUrmParams(RecordParams.URMVelMinScaler, request.VelMinScaler);
                     UrmProcessor.setUrmParams(RecordParams.URMIterations, request.Iterations);
-                    UrmProcessor.setUrmBaseParam(request.Res, DenArray, DirArray, VelArray, AngleArray, MaskArray, request.Urmsrcwidth, request.Urmsrcheight, request.ScaleOfPixel_x, request.ScaleOfPixel_y, request.ImgProcessVer, request.Isliner);
+                    UrmProcessor.setUrmBaseParam(request.Res, DenArray, DirArray, VelArray, AngleArray, MaskArray, request.Urmsrcwidth, request.Urmsrcheight, request.ScaleOfPixel_x, request.ScaleOfPixel_y, request.ImgProcessVer);
                     UrmProcessor.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);
 
                     processorClass = new URMProcessorClass
@@ -354,7 +353,7 @@ namespace WingAIDiagnosisService.URMManage
             processorClass.LastActiveTime = DateTime.UtcNow;
             var UrmProcessor = processorClass.Processor;
             UrmProcessor.setUrmParams(RecordParams.UrmImageType, request.UrmImageType);
-            UrmProcessor.setUrmParams(RecordParams.UrmBlend, request.UrmBlend);
+            UrmProcessor.setUrmParams(RecordParams.UrmBlend, request.UrmBlend ? 2 : 0);
             UrmProcessor.setUrmParams(RecordParams.URMDownSampleIndex, request.DownsampleIndex);
             UrmProcessor.setUrmParams(RecordParams.URMIntPowerDen, request.IntPowerDen);
             UrmProcessor.setUrmParams(RecordParams.URMIntPowerDir, request.IntPowerDir);
@@ -363,7 +362,7 @@ namespace WingAIDiagnosisService.URMManage
             UrmProcessor.setUrmParams(RecordParams.URMVelMaxScaler, request.VelMaxScaler);
             UrmProcessor.setUrmParams(RecordParams.URMVelMinScaler, request.VelMinScaler);
             UrmProcessor.setUrmParams(RecordParams.URMIterations, request.Iterations);
-            UrmProcessor.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, request.Isliner);
+            UrmProcessor.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);
             UrmProcessor.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);
 
             return UrmProcessor;
@@ -386,7 +385,7 @@ namespace WingAIDiagnosisService.URMManage
                     var UrmProcessor = new URMProcess();
                     var URMProcessInitSuccess = UrmProcessor.init(request.FamilyName, request.TypeInfo, request.NativeId);
                     UrmProcessor.setUrmParams(RecordParams.UrmImageType, request.UrmImageType);
-                    UrmProcessor.setUrmParams(RecordParams.UrmBlend, request.UrmBlend);
+                    UrmProcessor.setUrmParams(RecordParams.UrmBlend, request.UrmBlend ? 2 : 0);
                     UrmProcessor.setUrmParams(RecordParams.URMDownSampleIndex, request.DownsampleIndex);
                     UrmProcessor.setUrmParams(RecordParams.URMIntPowerDen, request.IntPowerDen);
                     UrmProcessor.setUrmParams(RecordParams.URMIntPowerDir, request.IntPowerDir);
@@ -395,7 +394,7 @@ namespace WingAIDiagnosisService.URMManage
                     UrmProcessor.setUrmParams(RecordParams.URMVelMaxScaler, request.VelMaxScaler);
                     UrmProcessor.setUrmParams(RecordParams.URMVelMinScaler, request.VelMinScaler);
                     UrmProcessor.setUrmParams(RecordParams.URMIterations, request.Iterations);
-                    UrmProcessor.setUrmBaseParam(request.Res, DenArray, DirArray, VelArray, AngleArray, MaskArray, request.Urmsrcwidth, request.Urmsrcheight, request.ScaleOfPixel_x, request.ScaleOfPixel_y, request.ImgProcessVer, request.Isliner);
+                    UrmProcessor.setUrmBaseParam(request.Res, DenArray, DirArray, VelArray, AngleArray, MaskArray, request.Urmsrcwidth, request.Urmsrcheight, request.ScaleOfPixel_x, request.ScaleOfPixel_y, request.ImgProcessVer);
                     UrmProcessor.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);
                     UrmProcessor.CalTracePointMask(request.UrmTraceDPoints);
                     UrmProcessor.GetURMImage();

+ 2 - 2
URMManage/URMFileIO.cs

@@ -108,7 +108,7 @@ namespace WingAIDiagnosisService.URMManage
             urmnalysisparams.Depth = Depth.ToString();
             urmnalysisparams.X0 = X0.ToString();
             urmnalysisparams.Z0 = Z0.ToString();
-            urmnalysisparams.ProbeType = ProbeType;
+            urmnalysisparams.ProbeType = ProbeType; // 线阵 1 弧阵 2
             urmnalysisparams.ScaleOfPixel_x = ScaleOfPixel_x.ToString();
             urmnalysisparams.ScaleOfPixel_y = ScaleOfPixel_y.ToString();
             urmnalysisparams.ULMCount = ImagePPRes.GetValue(section, "ULMCount", 400).ToString();
@@ -141,7 +141,7 @@ namespace WingAIDiagnosisService.URMManage
             int endtime;
             starttime = CustomizedStartFrame ?? 1;
             endtime = CustomizedEndFrame ?? FramesGot;
-            starttime = Math.Min(starttime, FramesGot - 200);
+            starttime = Math.Min(starttime, FramesGot - 199);
             endtime = Math.Min(endtime, FramesGot);
             urmnalysisparams.FrameStart = starttime.ToString();
             urmnalysisparams.FrameEnd = endtime.ToString();

+ 5 - 5
URMManage/URMProcess.cs

@@ -24,7 +24,7 @@ namespace WingAIDiagnosisService.URMManage
         private URMVideoParam _urmVideoParam = new URMVideoParam();
         public ProcessUnitParam<URMType> _urmType;
         public ImagePP ImagePP { get; private set; }
-        private bool Mixflag;
+        private int Mixflag;
         private DPoint[] urmTraceDPoints;
 
         private byte[] imagePixels;
@@ -125,12 +125,12 @@ namespace WingAIDiagnosisService.URMManage
                     _urmType.SetCurrent((URMType)Enum.Parse(typeof(URMType), (string)param));
                     break;
                 case RecordParams.UrmBlend:
-                    Mixflag = (bool)param;
+                    Mixflag = (int)param;
                     break;
             }
         }
 
-        public void setUrmBaseParam(double res, NativeArray urmDenArray, NativeArray urmDirArray, NativeArray urmVelArray, NativeArray urmAngleArray, NativeArray urmMask, int urmSrcWidth, int urmSrcHeight, double scaleOfPixel_x, double scaleOfPixel_y, int ImgProcessVer, bool isliner)
+        public void setUrmBaseParam(double res, NativeArray urmDenArray, NativeArray urmDirArray, NativeArray urmVelArray, NativeArray urmAngleArray, NativeArray urmMask, int urmSrcWidth, int urmSrcHeight, double scaleOfPixel_x, double scaleOfPixel_y, int ImgProcessVer)
         {
             _urmImgBaseParam.Res = res; // 参数
             _urmImgBaseParam.Denptr = urmDenArray.Start; // den 数组的指针
@@ -143,7 +143,7 @@ namespace WingAIDiagnosisService.URMManage
             _urmImgBaseParam.ScaleOfPixel_x = scaleOfPixel_x; // 参数
             _urmImgBaseParam.ScaleOfPixel_y = scaleOfPixel_y; // 参数
             _urmImgBaseParam.ImgProcessVer = ImgProcessVer; // urm算法版本 0 是 v2 1 是 v3
-            _urmImgBaseParam.ProbeType = isliner ? 0 : 1;
+            _urmImgBaseParam.vespekeltype = ImagePP.GetValue("URMVSpeckel", "URMVSpeckelType", 1);
             _urmProcessAlg.SetURMBaseParam(_urmImgBaseParam);
         }
 
@@ -165,7 +165,7 @@ namespace WingAIDiagnosisService.URMManage
             // 获取指针
             handle = GCHandle.Alloc(imagePixels, GCHandleType.Pinned);
             _urmImgDrawParam.Screenimgptr = handle.AddrOfPinnedObject(); // 图像指针(最重要,用于获取图像)
-            _urmImgDrawParam.ZoomOn = ZoomOn; // 是否启用 zoom
+            _urmImgDrawParam.ZoomOn = ZoomOn ? 1 : 0; // 是否启用 zoom
             _urmImgDrawParam.ZoomRoix = ZoomRoix; // zoom 后 ROI X
             _urmImgDrawParam.ZoomRoiy = ZoomRoiy; // zoom 后 ROI X
             _urmImgDrawParam.ZoomRoiwidth = ZoomRoiwidth; // zoom 后 ROI 宽度

+ 8 - 8
URMManage/URMProcessAlg.cs

@@ -60,7 +60,7 @@ namespace WingAIDiagnosisService.URMManage
 
         public int ImgProcessVer { get; set; }//后处理算法版本  0 Ver2(<2.7) 1 Ver3(2.7)
 
-        public int ProbeType { get; set; }
+        public int vespekeltype { get; set; }
     }
     [StructLayout(LayoutKind.Sequential)]
     public class URMImgDrawParam
@@ -68,7 +68,7 @@ namespace WingAIDiagnosisService.URMManage
         public IntPtr Screenimgptr { get; set; }
         public int Screenimgwidth { get; set; }
         public int Screenimgheight { get; set; }
-        public bool ZoomOn { get; set; }
+        public int ZoomOn { get; set; }
         public double ZoomRoix { get; set; }
         public double ZoomRoiy { get; set; }
         public double ZoomRoiwidth { get; set; }
@@ -111,20 +111,20 @@ namespace WingAIDiagnosisService.URMManage
         [DllImport("ImageProcessAlgWrapLib.dll")]
         private static extern void PIA_CalURMImg(IntPtr handPtr, ref double barmax, ref double barmin, int type);
         [DllImport("ImageProcessAlgWrapLib.dll")]
-        private static extern void PIA_DrawURMImg(IntPtr handPtr, int type, IntPtr colormap, bool mixflag);
+        private static extern void PIA_DrawURMImg(IntPtr handPtr, int type, IntPtr colormap, int mixflag);
 
         [DllImport("ImageProcessAlgWrapLib.dll")]
         private static extern bool PIA_CalURMMeasurImg(IntPtr handle, IntPtr urmdmeasurimgptr, int urmtype, ref double barmax, ref double barmin);
         [DllImport("ImageProcessAlgWrapLib.dll")]
         private static unsafe extern void PIA_CalURMTraceMaskImg(IntPtr handle, int width, int height, DPoint* Points, int PointCount);
         [DllImport("ImageProcessAlgWrapLib.dll")]
-        private static unsafe extern void PIA_CalURMVideo(IntPtr handle, IntPtr dstarray, URMVideoParam videoparam, URMPoint* Points, int framecount, int* PointsCounts, IntPtr colormap, bool mixflage);
+        private static unsafe extern void PIA_CalURMVideo(IntPtr handle, IntPtr dstarray, URMVideoParam videoparam, URMPoint* Points, int framecount, int* PointsCounts, IntPtr colormap, int mixflage);
 
         [DllImport("ImageProcessAlgWrapLib.dll")]
         private static unsafe extern void PIA_PreURMVideo(IntPtr handle, URMVideoParam videoparam, URMPoint* Points, int framecount, int* PointsCounts, ref double barmax, ref double barmin);
 
         [DllImport("ImageProcessAlgWrapLib.dll")]
-        private static extern void PIA_DrawURMVideo(IntPtr handle, int index, IntPtr colormapptr, bool mixflag);
+        private static extern void PIA_DrawURMVideo(IntPtr handle, int index, IntPtr colormapptr, int mixflag);
 
         [DllImport("ImageProcessAlgWrapLib.dll")]
         private static extern void PIA_URMMain_Release(IntPtr handPtr);
@@ -155,7 +155,7 @@ namespace WingAIDiagnosisService.URMManage
         {
             PIA_CalURMImg(_handle, ref barmax, ref barmin, type);
         }
-        public void DrawURM(int type, IntPtr colormap, bool mixflag)
+        public void DrawURM(int type, IntPtr colormap, int mixflag)
         {
             PIA_DrawURMImg(_handle, type, colormap, mixflag);
         }
@@ -177,7 +177,7 @@ namespace WingAIDiagnosisService.URMManage
         }
 
         public unsafe void CalURMVideo(NativeArray dstarray, URMVideoParam videoparam, URMPoint* Points,
-            int framecount, int* PointsCounts, IntPtr colormap, bool mixflag)
+            int framecount, int* PointsCounts, IntPtr colormap, int mixflag)
         {
             PIA_CalURMVideo(_handle, dstarray.Start, videoparam, Points, framecount, PointsCounts, colormap, mixflag);
         }
@@ -188,7 +188,7 @@ namespace WingAIDiagnosisService.URMManage
             PIA_PreURMVideo(_handle, videoparam, Points, framecount, PointsCounts, ref barmax, ref barmin);
         }
 
-        public void DrawURMVideo(int index, IntPtr colormap, bool mixflag)
+        public void DrawURMVideo(int index, IntPtr colormap, int mixflag)
         {
             PIA_DrawURMVideo(_handle, index, colormap, mixflag);
         }