URMFunction.cs 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. //using System;
  2. //using System.IO;
  3. //using System.Linq;
  4. //using Vinno.DataManager.Data;
  5. //using Vinno.DataManager.Infrastructure;
  6. //using Vinno.DataTypes;
  7. //using Vinno.Enums;
  8. //using Vinno.Models.Base;
  9. //using Vinno.Models.Base.Functions;
  10. //using Vinno.Models.Base.Modes;
  11. //using Vinno.Models.Base.Visuals;
  12. //using Vinno.Infrastructure;
  13. //using Vinno.Infrastructure.Interfaces;
  14. //using Vinno.Models.Base.Utilities;
  15. //using Vinno.Models.Zoom;
  16. //using Vinno.Services.MessageService;
  17. //namespace Vinno.Models.AdditionalFeatures.Functions.URM
  18. //{
  19. // public partial class URMFunction : FunctionBase, IURMFunction, IPostInitialize
  20. // {
  21. // public const string Id = FunctionIds.URMFuction;
  22. // private readonly IReplayVisual _visual;
  23. // private readonly CaptureDataManager _captureDataManager;
  24. // private readonly AnalysisResultManager _analysisResultManager;
  25. // private readonly ProcessingBreaker _analysisProcessingBreaker;
  26. // private readonly TraceManager _traceManager;
  27. // private IWizardManager _wizardManager;
  28. // private UrmStatus _urmStatus;
  29. // private URMType _urmImageType;
  30. // public UrmStatus UrmStatus
  31. // {
  32. // get => _urmStatus;
  33. // private set
  34. // {
  35. // if (_urmStatus != value)
  36. // {
  37. // _urmStatus = value;
  38. // OnUrmStatusChanged();
  39. // }
  40. // }
  41. // }
  42. // public bool CanSync => _analysisResultManager.CanSync;
  43. // public bool IsSync => _analysisResultManager.IsSync;
  44. // public bool IsTraceActive => _traceManager.IsActive;
  45. // public IMode UrmMode => _analysisResultManager.UrmMode;
  46. // public URMType UrmImageType
  47. // {
  48. // get => _urmImageType;
  49. // private set
  50. // {
  51. // if (_urmImageType != value)
  52. // {
  53. // _urmImageType = value;
  54. // OnUrmImageTypeChanged();
  55. // }
  56. // }
  57. // }
  58. // public event EventHandler UrmStatusChanged;
  59. // public event EventHandler IsSyncChanged;
  60. // public event EventHandler UrmImageTypeChanged;
  61. // public event EventHandler IsTraceActiveChange;
  62. // public URMFunction(IReplayVisual visual, SimultaneousTFViewer syncDisplay)
  63. // {
  64. // Name = Id;
  65. // _visual = visual;
  66. // _captureDataManager = new CaptureDataManager(this);
  67. // _analysisResultManager = new AnalysisResultManager(this, syncDisplay);
  68. // _analysisProcessingBreaker = new ProcessingBreaker();
  69. // _traceManager = new TraceManager(this);
  70. // _visual.ProbeChanged += OnProbeChanged;
  71. // _visual.Manager.ScanImage.ActiveVisualChanged += ScanImageOnActiveVisualChanged;
  72. // }
  73. // public void PostInitialize()
  74. // {
  75. // _wizardManager = ServiceManager.Instance.GetService<IWizardManager>();
  76. // var zoomFunction = _visual.SupportedFunctions.TryGetItem(ZoomFunction.Id) as ZoomFunction;
  77. // _captureDataManager.Initialize(zoomFunction);
  78. // _analysisResultManager.Initialize(_wizardManager, zoomFunction);
  79. // _traceManager.Initialize(zoomFunction);
  80. // }
  81. // public bool HasCaptureData(IReplayVisual replayVisual, IDMMode dmMode)
  82. // {
  83. // if (!string.IsNullOrWhiteSpace(replayVisual.ImageFilePath))
  84. // {
  85. // //todo 临时写法,后面有时间需要和TissueViewModel.UrmPanel中一起调整URM数据文件路径的获取方式。
  86. // var urmDataFile = replayVisual.ImageFilePath.Replace(".0", ".dat");
  87. // if (VinnoFile.Exists(urmDataFile) &&
  88. // dmMode.ModeRecord.TryGetParameter<bool>(RecordParams.URMFlag, "", out var urmFlag, TimeStamp.LastTime) &&
  89. // urmFlag)
  90. // {
  91. // return true;
  92. // }
  93. // }
  94. // return false;
  95. // }
  96. // private void OnProbeChanged(object sender, EventArgs e)
  97. // {
  98. // Deactivate();
  99. // Activate();
  100. // if (_analysisProcessingBreaker.Paused)
  101. // {
  102. // _analysisResultManager.OpenSyncDisplay(true);
  103. // }
  104. // }
  105. // private void ScanImageOnActiveVisualChanged(object sender, EventArgs e)
  106. // {
  107. // if (_visual.Manager.ScanImage.ActiveVisual != _visual)
  108. // {
  109. // Deactivate();
  110. // }
  111. // else
  112. // {
  113. // Activate();
  114. // }
  115. // }
  116. // private void Activate()
  117. // {
  118. // var mode = _visual.WorkingModes.FirstOrDefault(x => x is IURM);
  119. // if (mode != null)
  120. // {
  121. // _analysisResultManager.Activate(mode);
  122. // UrmStatus = UrmStatus.AnalysisResult;
  123. // return;
  124. // }
  125. // mode = _visual.WorkingModes.FirstOrDefault(x => x is IUrmCBI || x is IUrmTwoDMode);
  126. // if (mode != null &&
  127. // HasCaptureData(_visual, (IDMMode)mode))
  128. // {
  129. // _captureDataManager.Activate();
  130. // UrmStatus = UrmStatus.CaptureData;
  131. // }
  132. // }
  133. // private void Deactivate()
  134. // {
  135. // if (UrmStatus == UrmStatus.CaptureData)
  136. // {
  137. // _captureDataManager.Deactivate();
  138. // UrmStatus = UrmStatus.None;
  139. // }
  140. // else if (UrmStatus == UrmStatus.AnalysisResult)
  141. // {
  142. // if (_traceManager.IsActive)
  143. // {
  144. // _traceManager.Deactivate();
  145. // }
  146. // _analysisResultManager.Deactivate();
  147. // UrmStatus = UrmStatus.None;
  148. // }
  149. // }
  150. // public void Analysis()
  151. // {
  152. // _captureDataManager.Analysis();
  153. // }
  154. // public void OpenSyncDisplay(bool isOpenSync)
  155. // {
  156. // _analysisResultManager.OpenSyncDisplay(isOpenSync);
  157. // }
  158. // public void SaveUrmVideo()
  159. // {
  160. // _analysisResultManager.SaveUrmVideo();
  161. // }
  162. // public void ActivateTrace()
  163. // {
  164. // if (UrmStatus == UrmStatus.AnalysisResult)
  165. // {
  166. // _traceManager.Activate();
  167. // }
  168. // }
  169. // public void DeactivateTrace()
  170. // {
  171. // if (_traceManager.IsActive)
  172. // {
  173. // _traceManager.Deactivate();
  174. // }
  175. // }
  176. // public void RestoreTrace()
  177. // {
  178. // if (_traceManager.IsActive)
  179. // {
  180. // _traceManager.Deactivate();
  181. // }
  182. // _analysisResultManager.CutImage(new DPoint[0]);
  183. // }
  184. // protected virtual void OnUrmStatusChanged()
  185. // {
  186. // UrmStatusChanged?.Invoke(this, EventArgs.Empty);
  187. // }
  188. // protected virtual void OnIsSyncChanged()
  189. // {
  190. // IsSyncChanged?.Invoke(this, EventArgs.Empty);
  191. // }
  192. // protected virtual void OnUrmImageTypeChanged()
  193. // {
  194. // UrmImageTypeChanged?.Invoke(this, EventArgs.Empty);
  195. // }
  196. // protected virtual void OnIsTraceActiveChange()
  197. // {
  198. // IsTraceActiveChange?.Invoke(this, EventArgs.Empty);
  199. // }
  200. // }
  201. //}