TerminalAIDatas.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Flyinsono.DBCopy.Tool.Entities
  7. {
  8. internal class TerminalAIDatas
  9. {
  10. public string Id { get; private set; }
  11. public DateTime CreateTime { get; private set; }
  12. public DateTime UpdateTime { get; set; }
  13. /// <summary>
  14. /// TerminalData Id
  15. /// </summary>
  16. public string TerminalDataId { get; set; }
  17. /// <summary>
  18. /// AIDiagResults
  19. /// </summary>
  20. public IList<AIDiagResult> DiagResults { get; set; }
  21. /// <summary>
  22. /// AIDiagosistus
  23. /// </summary>
  24. public EnumAiDiagnosisStatus AIDiagnosisStatus { get; set; }
  25. }
  26. internal class AIDiagResult
  27. {
  28. /// <summary>
  29. /// Index
  30. /// </summary>
  31. public int Index { get; set; }
  32. /// <summary>
  33. /// Image Diagnosis Result
  34. /// </summary>
  35. public AIDiagResultPerImgForDB ImageDiagResult { get; set; }
  36. }
  37. internal class AIDiagResultPerImgForDB
  38. {
  39. /// <summary>
  40. /// Priority Score
  41. /// </summary>
  42. public float PriorityScore { get; set; }
  43. /// <summary>
  44. /// DiagResults of each Organ
  45. /// </summary>
  46. public IList<AIDiagResultPerOrganForDB> DiagResultsForEachOrgan { get; set; }
  47. }
  48. public enum EnumOrgans
  49. {
  50. Null = 0, // 空
  51. NotSpecified = 1, // 未指定
  52. Breast = 2, // 乳腺
  53. Abdomen = 3, // 腹部
  54. Liver = 4, // 胆囊
  55. Cholecyst = 5, // 胆囊
  56. /// <summary>
  57. /// Thyroid-9 | 甲状腺
  58. /// </summary>
  59. Thyroid = 9,
  60. }
  61. public class AIDiagResultPerOrganForDB
  62. {
  63. /// <summary>
  64. /// Organ
  65. /// </summary>
  66. public EnumOrgans Organ { get; set; }
  67. /// <summary>
  68. /// Detected Objects
  69. /// </summary>
  70. public IList<DetectedObjectForDB> DetectedObjects { get; set; }
  71. /// <summary>
  72. /// Gets or sets the organ bound box
  73. /// </summary>
  74. public VcloudRectangle OrganBoundBox { get; set; }
  75. /// <summary>
  76. /// Gets or sets the organ contour
  77. /// </summary>
  78. public IList<VcloudPoint> OrganContour { get; set; }
  79. }
  80. public class VcloudPoint
  81. {
  82. /// <summary>
  83. /// Coordinate X
  84. /// </summary>
  85. public int X { get; set; }
  86. /// <summary>
  87. /// Coordinate Y
  88. /// </summary>
  89. public int Y { get; set; }
  90. }
  91. public class VcloudRectangle
  92. {
  93. /// <summary>
  94. /// Left
  95. /// </summary>
  96. public int Left { get; set; }
  97. /// <summary>
  98. /// Top
  99. /// </summary>
  100. public int Top { get; set; }
  101. /// <summary>
  102. /// Right
  103. /// </summary>
  104. public int Right { get; set; }
  105. /// <summary>
  106. /// Bottom
  107. /// </summary>
  108. public int Bottom { get; set; }
  109. /// <summary>
  110. /// Width
  111. /// </summary>
  112. public int Width { get; set; }
  113. /// <summary>
  114. /// Height
  115. /// </summary>
  116. public int Height { get; set; }
  117. }
  118. public class DetectedObjectForDB
  119. {
  120. /// <summary>
  121. /// Label (0: no obvious lesion 1: benign 2: malignant)
  122. /// </summary>
  123. public int Label { get; set; }
  124. /// <summary>
  125. /// Confidence
  126. /// </summary>
  127. public float Confidence { get; set; }
  128. /// <summary>
  129. /// Bounding Box
  130. /// </summary>
  131. public VcloudRectangle BoundingBox { get; set; }
  132. /// <summary>
  133. /// Contour
  134. /// </summary>
  135. public List<VcloudPoint> Contour { get; set; }
  136. /// <summary>
  137. /// Descriptions
  138. /// </summary>
  139. public List<Description> Descriptions { get; set; }
  140. }
  141. public class Description
  142. {
  143. /// <summary>
  144. /// Description Type
  145. /// </summary>
  146. public EnumDescriptionType DescriptionType { get; set; }
  147. /// <summary>
  148. /// Description Value
  149. /// </summary>
  150. public string DescriptionValue { get; set; }
  151. }
  152. public enum EnumDescriptionType
  153. {
  154. Shape, // 形状
  155. Orientation, //生长方向
  156. EchoPattern, //回声类型
  157. LesionBoundary, // 病灶边界
  158. Margin, // 边缘
  159. Calcification, // 钙化,目前暂不支持
  160. LesionSize, // 尺寸,目前暂不支持
  161. }
  162. }