![]() |
Phenom Programming Interface
|
Main Phenom Proxy class. More...
#include <Phenom.h>
Public Member Functions | |
Constructors | |
Phenom (const std::string &address) | |
Phenom (const std::string &address, const std::string &username, const std::string &password) | |
Construct a Phenom Proxy. | |
Instrument Status | |
PhenomTypes::InstrumentMode | GetInstrumentMode () |
Query the current InstrumentMode of the Phenom. | |
void | SetInstrumentMode (PhenomTypes::InstrumentMode mode) |
Set the current InstrumentMode of the Phenom. | |
PhenomTypes::OperationalMode | GetOperationalMode () |
Query the current OperationalMode of the Phenom. | |
Exclusive access | |
void | GetExclusiveAccess () |
Request exclusive access for this client. | |
void | ReleaseExclusiveAccess () |
Release exclusive access status for this client. | |
bool | GetExclusiveAccessStatus () |
Inquire the current exclusive access status of the Phenom. | |
Navigation | |
Functions for selecting the imaging device, unloading the sample, and moving the stage to position the sample under the current imaging device | |
void | SelectImagingDevice (PhenomTypes::ImagingDevice device) |
Move the sample to the NavCam or the SEM. | |
void | UnloadSample () |
Move the sample to the unloading position and unlock the sample bay door. | |
void | MoveTo (const PhenomTypes::Position &pos, PhenomTypes::NavigationAlgorithm algorithm=PhenomTypes::NAVIGATION_AUTO) |
Move to a position specified by absolute coordinates. | |
void | MoveBy (double deltaX, double deltaY, PhenomTypes::NavigationAlgorithm algorithm=PhenomTypes::NAVIGATION_AUTO) |
Move to a position specified relative to the current position. | |
PhenomTypes::StageModeAndPosition | GetStageModeAndPosition () |
Get current stage mode and position. | |
PhenomTypes::StageStroke | GetStageStroke () |
Query the current possible stage stroke (i.e., the maximum values for stage positions) | |
NavCam | |
Functions for acquisition and control of the optical microscope ("NavCam") | |
double | GetNavCamWD () |
Query the current working distance of the NavCam ("WD" - the focal distance between the lense and the sample) | |
void | SetNavCamWD (double wd) |
Set the current working distance of the NavCam (in meters) | |
PhenomTypes::Range | GetNavCamWDRange () |
Get the available range of working distance values for the NavCam (in meters) | |
double | GetNavCamContrast () |
Get the current contrast value of the NavCam (the ratio between light-field (in-line) and dark-field (ambient) lighting of the sample) | |
void | SetNavCamContrast (double contrast) |
Set the current contrast value of the NavCam (the ratio between light-field (in-line) and dark-field (ambient) lighting of the sample) | |
double | GetNavCamBrightness () |
Get the current brightness value of the NavCam (total light intensity) | |
void | SetNavCamBrightness (double brightness) |
Set the current brightness value of the NavCam (total light intensity) | |
PhenomTypes::Acquisition | NavCamAcquireImage (const PhenomTypes::CamParams ¶ms) |
Acquire image from the NavCam. | |
PhenomTypes::Acquisition | NavCamGetLiveImageCopy (int nFramesDelay=0) |
Acquire a copy of the currently visible NavCam image Acquires a (color) image from the NavCam with the settings as currently in effect for live viewing. | |
SEM | |
Functions for acquisition and control of the electron microscope | |
double | GetSEMHFW () |
Query the current field of view size of the SEM (horizontal field width, "HFW") in meters. | |
void | SetSEMHFW (double hfw) |
Set the current field of view of the SEM (horizontal field width, "HFW") in meters, effectively setting the zoom level. | |
PhenomTypes::Range | GetSEMHFWRange () |
Query the allowed range of HFW values (i.e., the possible magnification range) | |
double | GetSEMWD () |
Query the current working distance of the SEM ("WD" - the focal distance between the lense and the sample) | |
void | SetSEMWD (double wd) |
Set the current working distance of the SEM (in meters) | |
PhenomTypes::Range | GetSEMWDRange () |
Get the available range of working distance values for the SEM (in meters) | |
void | SEMAutoFocus (PhenomTypes::AutoFocusAlgorithm algorithm=PhenomTypes::AUTOFOCUS_AUTO) |
Perform an AutoFocus algorithm and set the current working distance (focus value) to the optimum value. | |
double | GetSEMContrast () |
Get the current contrast value of the SEM. | |
void | SetSEMContrast (double contrast) |
Set the current contrast value for the SEM. | |
double | GetSEMBrightness () |
Get the current brightness value of the SEM. | |
void | SetSEMBrightness (double brightness) |
Set the current brightness value for the SEM. | |
void | SEMACB () |
Perform an automatic contrast/brightness optimization routine on the SEM. | |
void | SEMAutoSourceTilt () |
Perform an automatic source tilt alignment. | |
void | SEMAbortAutoSourceTilt () |
Abort an auto source tilt algorithm, and restore the source tilt values which were in effect prior to starting the alignment procedure. | |
PhenomTypes::SEMViewingMode | GetSEMViewingMode () |
Query the current viewing mode of the SEM. | |
void | SetSEMViewingMode (const PhenomTypes::SEMViewingMode &mode) |
Set the current viewing mode of the SEM. | |
PhenomTypes::Acquisition | SEMAcquireImage (const PhenomTypes::ScanParams ¶ms) |
Acquire an image from the SEM. | |
PhenomTypes::Acquisition | SEMGetLiveImageCopy (int nFramesDelay=0) |
Acquire a copy of the currently visible SEM image. |
Main Phenom Proxy class.
This class acts as a proxy to the Phenom. When instantiated, it represents one connection to the Phenom, on which you can make calls. Note that error situations are signalled by throwing exceptions of type PhenomTypes::Error.
Phenom::Phenom | ( | const std::string & | address, |
const std::string & | username, | ||
const std::string & | password | ||
) |
void Phenom::MoveBy | ( | double | deltaX, |
double | deltaY, | ||
PhenomTypes::NavigationAlgorithm | algorithm = PhenomTypes::NAVIGATION_AUTO |
||
) |
Move to a position specified relative to the current position.
deltaX | Stage movement in x-direction, in meters from the curent position |
deltaY | Stage movement in y-direction, in meters from the current position |
algorithm | Select backlash correction for more accurate positioning |
void Phenom::MoveTo | ( | const PhenomTypes::Position & | pos, |
PhenomTypes::NavigationAlgorithm | algorithm = PhenomTypes::NAVIGATION_AUTO |
||
) |
Move to a position specified by absolute coordinates.
pos | Stage position in absolute coordinates (in meters) |
algorithm | Select backlash correction for more accurate positioning |
Acquisition Phenom::NavCamAcquireImage | ( | const PhenomTypes::CamParams & | params | ) |
Acquire image from the NavCam.
Acquire a (color) image from the NavCam sensor using the given acquisition parameters
params | Camera settings for the acquisition |
Acquisition Phenom::NavCamGetLiveImageCopy | ( | int | nFramesDelay = 0 | ) |
Acquire a copy of the currently visible NavCam image Acquires a (color) image from the NavCam with the settings as currently in effect for live viewing.
nFramesDelay | number of frames to wait before copying (default value is 0, meaning acquire immediately) |
void Phenom::SEMAbortAutoSourceTilt | ( | ) |
Abort an auto source tilt algorithm, and restore the source tilt values which were in effect prior to starting the alignment procedure.
void Phenom::SEMACB | ( | ) |
Perform an automatic contrast/brightness optimization routine on the SEM.
This will take a few seconds and set the optimum contrast and brightness values for the current sample.
Acquisition Phenom::SEMAcquireImage | ( | const PhenomTypes::ScanParams & | params | ) |
Acquire an image from the SEM.
params | Scan parameters and detector settings |
void Phenom::SEMAutoFocus | ( | PhenomTypes::AutoFocusAlgorithm | algorithm = PhenomTypes::AUTOFOCUS_AUTO | ) |
Perform an AutoFocus algorithm and set the current working distance (focus value) to the optimum value.
This will take a few seconds, depending on which algorithm is used.
algorithm | Select which AutoFocus algorithm to use |
void Phenom::SEMAutoSourceTilt | ( | ) |
Perform an automatic source tilt alignment.
This may take up to several minutes if the current settings are very far from the optimal values, since the Phenom will then perform a full scan of all possible source tilt settings to determine the optimal values. Note that on the Phenom itself, this algorithm is only available in "expert" mode, on the source tilt alignment page. The values found with the algorithm are persistent (i.e., they will stay in effect even if the Phenom is brought to standby, hibernate, or even switched off and back on again).
Acquisition Phenom::SEMGetLiveImageCopy | ( | int | nFramesDelay = 0 | ) |
Acquire a copy of the currently visible SEM image.
Acquires an image from the SEM with the settings as currently in effect for live viewing.
nFramesDelay | number of frames to wait before copying (default value is 0, meaning acquire immediately) |
void Phenom::SetNavCamBrightness | ( | double | brightness | ) |
Set the current brightness value of the NavCam (total light intensity)
brightness | Brightness value |
void Phenom::SetNavCamContrast | ( | double | contrast | ) |
Set the current contrast value of the NavCam (the ratio between light-field (in-line) and dark-field (ambient) lighting of the sample)
contrast | current ratio (0 .. 1) |
void Phenom::SetNavCamWD | ( | double | wd | ) |
Set the current working distance of the NavCam (in meters)
wd | Working distance (in meters) |
void Phenom::SetSEMHFW | ( | double | hfw | ) |
Set the current field of view of the SEM (horizontal field width, "HFW") in meters, effectively setting the zoom level.
hfw | Horizontal Field Width of the SEM in meters (smaller number is higher magnification factor) |
void Phenom::SetSEMWD | ( | double | wd | ) |
Set the current working distance of the SEM (in meters)
wd | Working distance (in meters) |