Phenom Programming Interface
Phenom.h
00001 /*
00002  *  Phenom.h
00003  *  PhenomCtl
00004  *
00005  *  Created by Sander Stoks on 1/7/11.
00006  *  Copyright 2011 Phenom World B.V. All rights reserved.
00007  *
00008  */
00009 
00010 #ifndef PHENOM_H
00011 #define PHENOM_H
00012 
00013 #include "gSOAP/soapPhenomProxy.h"
00014 #include "PhenomTypes.h"
00015 #include <string>
00016 
00023 class Phenom
00024 {
00025     
00026 public:
00029     Phenom(const std::string& address);
00036     Phenom(const std::string& address, const std::string& username, const std::string& password);
00038     
00042     PhenomTypes::InstrumentMode GetInstrumentMode();
00044     void SetInstrumentMode(PhenomTypes::InstrumentMode mode);
00046     PhenomTypes::OperationalMode GetOperationalMode();
00048     
00056     void GetExclusiveAccess();
00058     void ReleaseExclusiveAccess();
00060     bool GetExclusiveAccessStatus();
00062     
00068     void SelectImagingDevice(PhenomTypes::ImagingDevice device);
00070     void UnloadSample();
00071     
00075     void MoveTo(const PhenomTypes::Position& pos, PhenomTypes::NavigationAlgorithm algorithm = PhenomTypes::NAVIGATION_AUTO);
00080     void MoveBy(double deltaX, double deltaY, PhenomTypes::NavigationAlgorithm algorithm = PhenomTypes::NAVIGATION_AUTO);
00081     
00083     PhenomTypes::StageModeAndPosition GetStageModeAndPosition();
00085     PhenomTypes::StageStroke GetStageStroke();
00087     
00092     double GetNavCamWD();
00095     void SetNavCamWD(double wd);
00097     PhenomTypes::Range GetNavCamWDRange();
00098     
00101     double GetNavCamContrast();
00105     void SetNavCamContrast(double contrast);
00106     
00108     double GetNavCamBrightness();
00111     void SetNavCamBrightness(double brightness);
00112     
00117     PhenomTypes::Acquisition NavCamAcquireImage(const PhenomTypes::CamParams& params);
00122     PhenomTypes::Acquisition NavCamGetLiveImageCopy(int nFramesDelay = 0);
00124     
00129     double GetSEMHFW();
00133     void SetSEMHFW(double hfw);
00135     PhenomTypes::Range GetSEMHFWRange();
00136     
00138     double GetSEMWD();
00141     void SetSEMWD(double wd);
00143     PhenomTypes::Range GetSEMWDRange();
00144     
00148     void SEMAutoFocus(PhenomTypes::AutoFocusAlgorithm algorithm = PhenomTypes::AUTOFOCUS_AUTO);
00149     
00151     double GetSEMContrast();
00153     void SetSEMContrast(double contrast);
00154     
00156     double GetSEMBrightness();
00158     void SetSEMBrightness(double brightness);
00159     
00162     void SEMACB();
00163     
00175     void SEMAutoSourceTilt();
00178     void SEMAbortAutoSourceTilt();
00179     
00181     PhenomTypes::SEMViewingMode GetSEMViewingMode();
00183     void SetSEMViewingMode(const PhenomTypes::SEMViewingMode& mode);
00184 
00188     PhenomTypes::Acquisition SEMAcquireImage(const PhenomTypes::ScanParams& params);
00193     PhenomTypes::Acquisition SEMGetLiveImageCopy(int nFramesDelay = 0);
00195     
00196 private:
00197     Phenom();
00198     void CheckSoapResult(int ret, const std::string& what);
00199     void CheckRetVal(om__RetVal retVal, const std::string& what);
00200     void VerifyConnection();
00201     PhenomProxy m_proxy;
00202     std::string m_address;
00203 };
00204 
00205 #endif
Phenom-World BV, Dillenburgstraat 9E, 5652 AM Eindhoven, The Netherlands, www.phenom-world.com

©2012. All rights reserved. Reproduction, copying, usage, modifying, hiring, renting, public performance, transmission and/or broadcasting in whole or in part is prohibited without the written consent of Phenom-World BV. Find your Phenom-World contact information at www.phenom-world.com.