OxfordScanController.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. Rectangle r = new Rectangle();
  29. CBSEImgClr bse = new CBSEImgClr(r);
  30. bse.InitImageData(imageWidth, imageHeight);
  31. ImageAquistionParam p = new ImageAquistionParam();
  32. p.width = imageWidth;
  33. p.height = imageHeight;
  34. p.DwellTime = dwelltime;
  35. p.sourceType = imagesourceType;
  36. NLog.LogManager.GetCurrentClassLogger().Info("Begin to acquire BSE image!");
  37. iExtender.AquisitionImage(ref p);
  38. NLog.LogManager.GetCurrentClassLogger().Info("End acquiring BSE image!");
  39. bse.SetImageData(p.ImageData, imageWidth, imageHeight);
  40. return bse;
  41. }
  42. catch (Exception e)
  43. {
  44. NLog.LogManager.GetCurrentClassLogger().Warn(e.Message);
  45. }
  46. return null;
  47. }
  48. public CBSEImgClr AcquireRectangleBSEImage( Rectangle rec)
  49. {
  50. return null;
  51. }
  52. public bool Init()
  53. {
  54. iExtender = ExtenderWrapperIpc.GetExtenderWrapper();
  55. return true;
  56. }
  57. public bool SetDwellTime(DwellTimeLevel val)
  58. {
  59. dwelltime = 2;
  60. switch (val)
  61. {
  62. case DwellTimeLevel.Low:
  63. dwelltime = 2;
  64. break;
  65. case DwellTimeLevel.Medium:
  66. dwelltime = 4;
  67. break;
  68. case DwellTimeLevel.High:
  69. dwelltime = 8;
  70. break;
  71. }
  72. return true;
  73. }
  74. public bool SetImageSize(int nWidth, int nHeight)
  75. {
  76. imageWidth = nWidth;
  77. imageHeight = nHeight;
  78. return true;
  79. }
  80. }
  81. }