DiagnosisResult.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using WingAIDiagnosisService.Carotid;
  4. using WingInterfaceLibrary.Enum;
  5. namespace WingAIDiagnosisService.Manage
  6. {
  7. public class DiagnosisResult
  8. {
  9. public DiagnosisResult() { }
  10. public List<AIDiagnosisPerImageModel> PerImageResults { get; set; } = new List<AIDiagnosisPerImageModel>();
  11. public CarotidResult CarotidResult { get; set; }
  12. public DiagnosisConclusion DiagnosisConclusion { get; set; } = DiagnosisConclusion.Unrecognized;
  13. public List<DiagnosisOrganEnum> DiagnosisOrgans => GetDiagnosisOrgans(PerImageResults);
  14. private List<DiagnosisOrganEnum> GetDiagnosisOrgans(List<AIDiagnosisPerImageModel> results)
  15. {
  16. var diagnosisOrgans = new List<DiagnosisOrganEnum>();
  17. foreach (var imageResult in results)
  18. {
  19. foreach (var diagnosisResult in imageResult.DiagResultsForEachOrgan)
  20. {
  21. diagnosisOrgans.Add((DiagnosisOrganEnum)diagnosisResult.Organ);
  22. }
  23. }
  24. return diagnosisOrgans.Distinct().ToList();
  25. }
  26. }
  27. public class CarotidResult
  28. {
  29. public CarotidResult() { }
  30. public CarotidScanType CarotidScanType { get; set; }
  31. public CarotidScanDirection CarotidScanDirection { get; set; }
  32. public string SurfaceFile { get; set; } = string.Empty;
  33. public string MdlFile { get; set; } = string.Empty;
  34. public List<MeasureImageFile> MeasureImageFiles { get; set; } = new List<MeasureImageFile>();
  35. public string MeasureResult { get; set; } = string.Empty;
  36. }
  37. public class MeasureImageFile
  38. {
  39. public MeasureImageFile() { }
  40. public CarotidAIImageType ImageType { get; set; }
  41. public string ImageFile { get; set; } = string.Empty;
  42. }
  43. }