UrmProcessRequest.cs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. using System;
  2. using System.Collections.Generic;
  3. using Vinno.DataTypes;
  4. namespace WingAIDiagnosisService.URMManage
  5. {
  6. public class UrmProcessRequest
  7. {
  8. //文件路径
  9. public string DenDataPath { get; set; } = "D:\\Projects\\URMDemo\\URMDemo\\bin\\Debug\\URMTemp\\393f5673dc424b5e87334f8ba4a90aae\\srcDenArray.bin";
  10. public string DirDataPath { get; set; } = "D:\\Projects\\URMDemo\\URMDemo\\bin\\Debug\\URMTemp\\393f5673dc424b5e87334f8ba4a90aae\\srcDirArray.bin";
  11. public string VelDataPath { get; set; } = "D:\\Projects\\URMDemo\\URMDemo\\bin\\Debug\\URMTemp\\393f5673dc424b5e87334f8ba4a90aae\\srcVelArray.bin";
  12. public string AngleDataPath { get; set; } = "D:\\Projects\\URMDemo\\URMDemo\\bin\\Debug\\URMTemp\\393f5673dc424b5e87334f8ba4a90aae\\srcAngleArray.bin";
  13. public string MaskDataPath { get; set; } = "D:\\Projects\\URMDemo\\URMDemo\\bin\\Debug\\URMTemp\\393f5673dc424b5e87334f8ba4a90aae\\srcMaskArray.bin";
  14. ///// <summary>
  15. ///// 生成图片保存路径
  16. ///// </summary>
  17. //public string ImgFilePath { get; set; } = "D:\\Projects\\URMDemo\\URMDemo\\bin\\Debug\\URMTemp\\393f5673dc424b5e87334f8ba4a90aae\\test0627.png";
  18. //探头信息
  19. public string FamilyName { get; set; } = "Linear";
  20. public string TypeInfo { get; set; } = "Linear_U5-15LE";
  21. public string NativeId { get; set; } = "Breast";
  22. // 图像配置
  23. public string UrmImageType { get; set; } = "0"; // Den 0, Dir 1, Vel 2, Angle 3
  24. public bool UrmBlend { get; set; } = true;
  25. // 用于后处理计算的算法参数(需要传入)
  26. public float DownsampleIndex { get; set; } = 3f;
  27. public float IntPowerDen { get; set; } = 4f;
  28. public float IntPowerDir { get; set; } = 4f;
  29. public float SigmaGauss { get; set; } = 2.4f;
  30. public float VessScale { get; set; } = 1f;
  31. public float VelMaxScaler { get; set; } = 1f;
  32. public float VelMinScaler { get; set; } = 0f;
  33. public float Iterations { get; set; } = 1f; // URM的基础参数包括分析结果的数据与大小以及Res
  34. public double Res { get; set; } = 2.5;
  35. public int Urmsrcwidth { get; set; } = 188; // URM分析后的数据宽度
  36. public int Urmsrcheight { get; set; } = 1233; // URM分析后的数据高度
  37. public double ScaleOfPixel_x { get; set; } = 0.214925914347303;
  38. public double ScaleOfPixel_y { get; set; } = 0.61038961038961;
  39. public int ImgProcessVer { get; set; } = 1;//后处理算法版本 0 Ver2(<2.7) 1 Ver3(2.7)
  40. public bool Isliner { get; set; } = true;
  41. // URM的绘制参数
  42. public bool ZoomOn { get; set; } = false; // 是否开启 zoom
  43. public double ZoomRoix { get; set; } = 0; // zoom 区域在 ROI 中的归一化坐标
  44. public double ZoomRoiy { get; set; } = 0; // zoom 区域在 ROI 中的归一化坐标
  45. public double ZoomRoiwidth { get; set; } = 1; // zoom 区域在 ROI 中的归一化坐标
  46. public double ZoomRoiheight { get; set; } = 1; // zoom 区域在 ROI 中的归一化坐标
  47. public int Roix { get; set; } = 274;// Roi 区域在整个图像中的像素位置
  48. public int Roiy { get; set; } = 16;// Roi 区域在整个图像中的像素位置
  49. public int Roiwidth { get; set; } = 243; // Roi 区域在整个图像中的像素位置
  50. public int Roiheight { get; set; } = 616; // Roi 区域在整个图像中的像素位置
  51. public bool LeftRight { get; set; } = false;
  52. public bool UpDown { get; set; } = false;
  53. public int ScreenWidth { get; set; } = 666;// 输出的图像的尺寸
  54. public int ScreenHeight { get; set; } = 650; // 输出的图像的尺寸
  55. public class UrmMeasureProcessRequest: UrmProcessRequest
  56. {
  57. /// <summary>
  58. /// 测量项枚举
  59. /// </summary>
  60. public URMMeasureType UrmMeasureType { get; set; }
  61. /// <summary>
  62. /// 点集
  63. /// </summary>
  64. public List<DPoint> SrcDPoints { get; set; }
  65. /// <summary>
  66. /// 两点物理距离
  67. /// </summary>
  68. public double? CMlength { get; set; }
  69. /// <summary>
  70. /// 画布物理宽度
  71. /// </summary>
  72. public double Phywidth { get; set; }
  73. /// <summary>
  74. /// ROI 类型
  75. /// </summary>
  76. public URMROIType ROIType { get; set; }
  77. /// <summary>
  78. /// Rim 宽度
  79. /// </summary>
  80. public double ShellWidth { get; set; }
  81. }
  82. public class URMProcessorClass
  83. {
  84. /// <summary>
  85. /// GUID
  86. /// </summary>
  87. public string GUID { get; set; }
  88. public URMProcess VideoProcessor { get; set; }
  89. public DateTime LastActiveTime { get; set; }
  90. }
  91. public class DoUrmVideoProcessRequest : UrmProcessRequest
  92. {
  93. /// <summary>
  94. /// GUID
  95. /// </summary>
  96. public string GUID { get; set; }
  97. // 当前播放帧
  98. public int VideoFrame { get; set; } = 0;
  99. // 视频配置
  100. public float URMVideoScaler { get; set; } = 3;
  101. public float URMVideoParameter { get; set; } = 2;
  102. public float URMVideoType { get; set; } = 1;
  103. //数据路径
  104. public string PointsDataPath { get; set; } = "D:\\Projects\\URMDemo\\URMDemo\\bin\\Debug\\URMTemp\\393f5673dc424b5e87334f8ba4a90aae\\URMPoints.bin";
  105. public string PointNumsDataPath { get; set; } = "D:\\Projects\\URMDemo\\URMDemo\\bin\\Debug\\URMTemp\\393f5673dc424b5e87334f8ba4a90aae\\URMPointNums.bin";
  106. }
  107. public DPoint[] UrmTraceDPoints { get; set; } = new DPoint[0];
  108. }
  109. }