Phenom Programming Interface
Phenom Class Reference

Main Phenom Proxy class. More...

#include <Phenom.h>

List of all members.

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

The Phenom knows the concept of "exclusive access" which a client application can request, and during which other clients are blocked from accessing the Phenom (e.g., for the duration of a series of acquisitions within an experiment).

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 &params)
 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 &params)
 Acquire an image from the SEM.
PhenomTypes::Acquisition SEMGetLiveImageCopy (int nFramesDelay=0)
 Acquire a copy of the currently visible SEM image.

Detailed Description

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.


Constructor & Destructor Documentation

Phenom::Phenom ( const std::string &  address,
const std::string &  username,
const std::string &  password 
)

Construct a Phenom Proxy.

Parameters:
addressLocation of the Phenom, either as IP address (e.g., "10.0.1.2") or as fully qualified domain name (e.g., "PhenomG2.local")
usernameUser name part of HTTP authentication
passwordPassword part of HTTP authentication

Member Function Documentation

void Phenom::MoveBy ( double  deltaX,
double  deltaY,
PhenomTypes::NavigationAlgorithm  algorithm = PhenomTypes::NAVIGATION_AUTO 
)

Move to a position specified relative to the current position.

Parameters:
deltaXStage movement in x-direction, in meters from the curent position
deltaYStage movement in y-direction, in meters from the current position
algorithmSelect backlash correction for more accurate positioning

Move to a position specified by absolute coordinates.

Parameters:
posStage position in absolute coordinates (in meters)
algorithmSelect backlash correction for more accurate positioning

Acquire image from the NavCam.

Acquire a (color) image from the NavCam sensor using the given acquisition parameters

Parameters:
paramsCamera settings for the acquisition
Returns:
Acquisition (combination of image and metadata)
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.

Parameters:
nFramesDelaynumber of frames to wait before copying (default value is 0, meaning acquire immediately)
Returns:
Acquisition (combination of image and metadata)

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.

Acquire an image from the SEM.

Parameters:
paramsScan parameters and detector settings
Returns:
Acquisition (combination of image and metadata)

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.

Parameters:
algorithmSelect which AutoFocus algorithm to use

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).

Note:
Forcing an auto source tilt alignment is not recommended, since the optimal position is only valid when the electron source has been "on" for a longer period of time (at minimum half an hour); changing the alignment may result in deterioarated image quality once the source reaches its optimum working conditions.
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.

Parameters:
nFramesDelaynumber of frames to wait before copying (default value is 0, meaning acquire immediately)
Returns:
Acquisition (combination of image and metadata)
void Phenom::SetNavCamBrightness ( double  brightness)

Set the current brightness value of the NavCam (total light intensity)

Parameters:
brightnessBrightness 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)

Parameters:
contrastcurrent ratio (0 .. 1)
void Phenom::SetNavCamWD ( double  wd)

Set the current working distance of the NavCam (in meters)

Parameters:
wdWorking 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.

Parameters:
hfwHorizontal 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)

Parameters:
wdWorking distance (in meters)

The documentation for this class was generated from the following files:
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.