123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
-
- using FEIApiControl;
- using OTSCLRINTERFACE;
- using OTSMeasureApp.ServiceCenter;
- using System.Drawing;
- using static OxfordExtenderWrapper.ExtenderIpcUI;
- namespace OTSModelSharp.ServiceCenter
- {
- public class ScanController : IScanController
- {
- private OTSCLRINTERFACE.COTSControlFunExport scan;
- static IScanController scanctrl = null;
- public static APIClass ApiClass = null;
- int imageWidth = 0;
- int imageHeight = 0;
- public static IScanController GetScanController()
- {
- var semtype = FileHelper.GetXMLInformations("SemControllerName");
- if (scanctrl == null)
- {
- if (semtype == "FEI")
- {
- scanctrl = new FEIScanController();
- }
- else if (semtype == "Oxford")
- {
- var srcType = FileHelper.GetOxfordInputSourceType();
- ImageInputSourceType imageSrcType = ImageInputSourceType.Bse;
- if (srcType == "SE")
- {
- imageSrcType = ImageInputSourceType.SE;
- }
- else if (srcType == "BSE")
- {
- imageSrcType = ImageInputSourceType.Bse;
- }
- scanctrl = new OxfordScanController(imageSrcType);
- }
- else
- {
- scanctrl = new ScanController(semtype);
- }
- }
- return scanctrl;
- }
- private ScanController(string devicetype)
- {
- this.scan = OTSCLRINTERFACE.COTSControlFunExport.GetControllerInstance(devicetype);
- }
- public CBSEImgClr AcquireBSEImage()
- {
- if (!scan.IsConnected())
- {
- return null;
- }
- Rectangle r = new Rectangle();
- CBSEImgClr bse = new CBSEImgClr(r);
- NLog.LogManager.GetCurrentClassLogger().Info("Bruker:Begin to acquire BSE image!");
- if (!scan.AcquireBSEImage(ref bse))
- {
- return null;
- }
- NLog.LogManager.GetCurrentClassLogger().Info("Bruker:End acquiring BSE image!");
- return bse;
- }
- public bool Init()
- {
- if (!scan.IsConnected())
- {
- scan.ConncetSem();
- }
- return scan.ScanInit();
- }
- public bool SetDwellTime(DwellTimeLevel val)
- {
- double dwelltime = 2;
- switch (val)
- {
- case DwellTimeLevel.Low:
- dwelltime = 2;
- break;
- case DwellTimeLevel.Medium:
- dwelltime = 4;
- break;
- case DwellTimeLevel.High:
- dwelltime = 8;
- break;
- }
- if (!scan.IsConnected())
- {
- return false;
- }
- return scan.SetDwellTime((int)dwelltime);
- }
- public bool SetImageSize(int width, int height)
- {
- imageWidth = width;
- imageHeight = height;
- if (!scan.IsConnected())
- {
- return false;
- }
- return scan.SetImageSize(width, height);
- }
- public CBSEImgClr AcquireRectangleBSEImage(Rectangle rec)
- {
- return null;
- }
- }
- }
|