IAIDiagnosisService.cs 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. using Vinno.AI.AIDiagnosisSDK.Models;
  2. using Vinno.AI.CommonSDK.Enums;
  3. using Vinno.AI.CommonSDK.Interfaces;
  4. using Vinno.AI.CommonSDK.Models;
  5. namespace Vinno.AI.AIDiagnosisSDK.Interfaces
  6. {
  7. public interface IAIDiagnosisService : IAIService
  8. {
  9. /// <summary>
  10. /// 初始化Breast Diagnosis
  11. /// </summary>
  12. /// <param name="breastDiagnosisParameter"></param>
  13. void InitializeBreastDiagnosis(AIDiagnosisParameter breastDiagnosisParameter, bool hasImageProvider);
  14. /// <summary>
  15. /// 初始化Abdomen Diagnosis
  16. /// </summary>
  17. /// <param name="abdomenDiagnosisParameter"></param>
  18. void InitializeAbdomenDiagnosis(AIDiagnosisParameter abdomenDiagnosisParameter, bool hasImageProvider);
  19. /// <summary>
  20. /// 初始化Thyroid Diagnosis
  21. /// </summary>
  22. /// <param name="thyroidDiagnosisParameter"></param>
  23. void InitializeThyroidDiagnosis(AIDiagnosisParameter thyroidDiagnosisParameter, bool hasImageProvider);
  24. /// <summary>
  25. /// 初始化Carotid Diagnosis
  26. /// </summary>
  27. /// <param name="carotidDiagnosisParameter"></param>
  28. void InitializeCarotidDiagnosis(AIDiagnosisParameter carotidDiagnosisParameter, bool hasImageProvider);
  29. /// <summary>
  30. /// Start Image Provider
  31. /// </summary>
  32. void Start();
  33. /// <summary>
  34. /// Stop Image Provider
  35. /// </summary>
  36. void Stop();
  37. /// <summary>
  38. /// 检测单张Byte Image
  39. /// </summary>
  40. /// <returns></returns>
  41. TransAIDiagResultPerImg DetectOneByteImage(AIEnumModuleType aiEnumType);
  42. /// <summary>
  43. /// 检测单张Byte Image,其中enableLesionSeg与enableLessionDescription仅此次调用生效
  44. /// </summary>
  45. /// <param name="enableLesionSeg">是否计算轮廓</param>
  46. /// <param name="enableLessionDescription">是否计算病灶描述结果</param>
  47. /// <returns></returns>
  48. TransAIDiagResultPerImg DetectOneByteImageWithTempSetting(AIEnumModuleType aiEnumType, bool enableLesionSeg, bool enableLessionDescription, bool enableOrganDescrition);
  49. /// <summary>
  50. /// 检测单张Raw Image
  51. /// </summary>
  52. /// <returns></returns>
  53. TransAIDiagResultPerImg DetectOneRawImage(AIEnumModuleType aiEnumType, int height, int width, AIEnumColorType colorType);
  54. /// <summary>
  55. /// 检测单张Raw Image,其中enableLesionSeg与enableLessionDescription仅此次调用生效
  56. /// </summary>
  57. /// <param name="enableLesionSeg">是否计算轮廓</param>
  58. /// <param name="enableLessionDescription">是否计算病灶描述结果</param>
  59. /// <returns></returns>
  60. TransAIDiagResultPerImg DetectOneRawImageWithTempSetting(AIEnumModuleType aiEnumType, int height, int width, AIEnumColorType colorType, bool enableLesionSeg, bool enableLessionDescription, bool enableOrganDescrition);
  61. /// <summary>
  62. /// 评估单幅图像 ,图像计算完成后,使用者希望调整结果,使部分结果在选定的矩形框内。
  63. /// </summary>
  64. /// <param name="aiRect">使用者给出的矩形框</param>
  65. /// <param name="transAIDiagResultPerImg">图像的初始计算结果</param>
  66. /// <summary>
  67. TransAIDiagResultPerImg CalculateCarotidInnerDiameterAndIntimaMediaThicknessInSpecifiedRectWithBytesImage(AIRect aiRect, TransAIDiagResultPerImg transAIDiagResultPerImg);
  68. /// <summary>
  69. /// 评估单幅图像 ,图像计算完成后,使用者希望调整结果,使部分结果在选定的矩形框内。
  70. /// </summary>
  71. /// <param name="aiRect">使用者给出的矩形框</param>
  72. /// <param name="transAIDiagResultPerImg">图像的初始计算结果</param>
  73. TransAIDiagResultPerImg CalculateCarotidInnerDiameterAndIntimaMediaThicknessInSpecifiedRectWithRawImage(int height, int width, AIEnumColorType colorType, AIRect aiRect, TransAIDiagResultPerImg transAIDiagResultPerImg);
  74. /// <summary>
  75. /// 设置图片是否已裁剪
  76. /// </summary>
  77. /// <param name="isCropped"></param>
  78. void SetIsCropped(AIEnumModuleType aiEnumType, bool isCropped);
  79. /// <summary>
  80. /// 设置每秒图片吞吐量
  81. /// </summary>
  82. /// <param name="detectTps"></param>
  83. void SetDetectTps(AIEnumModuleType aiEnumType, int detectTps);
  84. /// <summary>
  85. /// 设置间隔时间
  86. /// </summary>
  87. /// <param name="intervalTime"></param>
  88. void SetIntervalTime(AIEnumModuleType aiEnumType, int intervalTime);
  89. /// <summary>
  90. /// 设置检测模式
  91. /// </summary>
  92. /// <param name="detectMode"></param>
  93. void SetDetectMode(AIEnumModuleType aiEnumType, AIEnumDetectMode detectMode);
  94. /// <summary>
  95. /// 设置是否启用轮廓计算
  96. /// </summary>
  97. /// <param name="enableLesionSeg"></param>
  98. void SetEnableLesionSeg(AIEnumModuleType aiEnumType, bool enableLesionSeg);
  99. /// <summary>
  100. /// 设置是否启用病灶描述
  101. /// </summary>
  102. /// <param name="enableLessionDescription"></param>
  103. void SetEnableDescription(AIEnumModuleType aiEnumType, bool enableLessionDescription, bool enableOrganDescription);
  104. /// <summary>
  105. /// 关闭AI Diagnosis
  106. /// </summary>
  107. void Close(AIEnumModuleType aiEnumType);
  108. /// <summary>
  109. /// Send Raw Image Data For Pipe
  110. /// </summary>
  111. /// <param name="height"></param>
  112. /// <param name="width"></param>
  113. /// <param name="colorType"></param>
  114. void SendRawImageData(AIEnumModuleType aiEnumType, int height, int width, AIEnumColorType colorType);
  115. /// <summary>
  116. /// Send Byte Image Data For Pipe
  117. /// </summary>
  118. void SendByteImageData(AIEnumModuleType aiEnumType);
  119. }
  120. }