OxfordScanController.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. 
  2. using OTSCLRINTERFACE;
  3. using OTSMeasureApp.ServiceCenter.OxfordExtender;
  4. using OTSModelSharp.ServiceCenter;
  5. using OxfordExtenderWrapper;
  6. using System;
  7. using System.Drawing;
  8. using System.Windows;
  9. using static OxfordExtenderWrapper.ExtenderIpcUI;
  10. namespace OTSMeasureApp.ServiceCenter
  11. {
  12. class OxfordScanController : IScanController
  13. {
  14. int imageWidth = 0;
  15. int imageHeight = 0;
  16. double dwelltime = 0;
  17. ExtenderIpcUI iExtender;
  18. ImageInputSourceType imagesourceType;
  19. public OxfordScanController(ImageInputSourceType sourceType)
  20. {
  21. iExtender = ExtenderWrapperIpc.GetExtenderWrapper();
  22. imagesourceType = sourceType;
  23. }
  24. public CBSEImgClr AcquireBSEImage()
  25. {
  26. try
  27. {
  28. iExtender = ExtenderWrapperIpc.GetExtenderWrapper();
  29. Rectangle r = new Rectangle();
  30. CBSEImgClr bse = new CBSEImgClr(r);
  31. bse.InitImageData(imageWidth, imageHeight);
  32. ImageAquistionParam p = new ImageAquistionParam();
  33. p.width = imageWidth;
  34. p.height = imageHeight;
  35. p.DwellTime = dwelltime;
  36. p.sourceType = imagesourceType;
  37. NLog.LogManager.GetCurrentClassLogger().Info("oxford:Begin to acquire BSE image!");
  38. iExtender.AquisitionImage(ref p);
  39. NLog.LogManager.GetCurrentClassLogger().Info("oxford:End acquiring BSE image!");
  40. bse.SetImageData(p.ImageData, imageWidth, imageHeight);
  41. return bse;
  42. }
  43. catch (Exception e)
  44. {
  45. NLog.LogManager.GetCurrentClassLogger().Warn(e.Message);
  46. }
  47. return null;
  48. }
  49. public CBSEImgClr AcquireRectangleBSEImage( Rectangle rec)
  50. {
  51. return null;
  52. }
  53. public bool Init()
  54. {
  55. iExtender = ExtenderWrapperIpc.GetExtenderWrapper();
  56. return true;
  57. }
  58. public bool SetDwellTime(DwellTimeLevel val)
  59. {
  60. dwelltime = 2;
  61. switch (val)
  62. {
  63. case DwellTimeLevel.Low:
  64. dwelltime = 2;
  65. break;
  66. case DwellTimeLevel.Medium:
  67. dwelltime = 4;
  68. break;
  69. case DwellTimeLevel.High:
  70. dwelltime = 8;
  71. break;
  72. }
  73. return true;
  74. }
  75. public bool SetImageSize(int nWidth, int nHeight)
  76. {
  77. imageWidth = nWidth;
  78. imageHeight = nHeight;
  79. return true;
  80. }
  81. }
  82. }