12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #pragma once
- #include "BSEImg.h"
- #include "stdafx.h"
- #include "SEMCommonConst.h"
- namespace OTSController
- {
- using namespace OTSDATA;
- /// <summary>
- /// Interface of Image Acquisition Device
- /// </summary>
- class __declspec(dllexport) COTSScanBase
- {
- public:
- enum DEFAULT_SCAN_PARAMETER
- {
- SCAN_MAX_X = 4096,
- SCAN_MAX_Y = 3200,
- SCAN_STEP_SIZE = 4,
- SCAN_PIXEL_DWELL = 1,
- SCAN_INTER_PIXEL_DWELL = 1,
- SCAN_NUMBER_OF_READS = 1,
- SCAN_IMATRIX = 4
- };
- public:
- COTSScanBase();
- ~COTSScanBase();
- virtual ScanController::SCANNER_ID GetType() = 0;
- // initialization
- virtual BOOL Init() = 0;
- /// <summary>
- /// Capture a backscatter image, and apply any post processing.
- /// Note: The scanner interface seems to be heavily polluted by edax specific parameters
- /// passed to this and many other functions. The edax scanner collects a frame based
- /// on these parameters, other scanners (e.g. bruker,) rely on internal state set
- /// via SetImageSize, SetDwellTime etc.
- /// </summary>
- virtual CBSEImgPtr AcquireBSEImage() = 0;
- // move beam to point
- virtual BOOL MoveBeamTo(CPoint& a_beamPos) = 0;
-
- /// set dwell time
- virtual BOOL SetDwellTime(long a_nDwellTime) = 0;
- // set Image Size
- virtual BOOL SetImageSize(long a_nImageSize,long nHeight) = 0;
-
-
- };
- typedef std::shared_ptr<COTSScanBase> COTSScanBasePtr;
- }
|