University of Illinois at Urbana-Champaign

EM Camera Control Function Summary

For remote controlled electron microscopy to work there has to be some way view an image remotely. This is achieved by attaching a camera of some type to the instrument. This camera is controlled through a set of functions in the EMC Library. They are prefixed by the string emCamera.

This section of the specification needs a little more work. We really need a way to handle multiple cameras as well as possibly controlling the film camera.

  emcCameraOpen(EM *em, int *id, char *device)
Prepare camera (or camera WICS server) for remote control. device is string which represents which camera the EMC Library should communicate with (valid values are defined by the EMC library). Currently the EMC Library is responsible for controlling the camera. If we were using a WICS EMC Library then the camera device string would be URL for the camera's WICS Server.
  emcCameraClose(EM *em, int id)
Terminate communication with the camera. No further communication with camera may occur until another emcCameraOpen() call is made.
  emcCameraSetBinSize(EM *em, int id, unsigned int BinSize)
Set the binning factor parameter for the camera acquisition procedure
  emcCameraGetBinSize(EM *em, int id, unsigned int *BinSize)
Retrieve the current binning factor parameter for the camera acquisition procedure.
  emcCameraSetBinnedArea(EM *em, int id, unsigned int BinSize,
                         unsigned int top, unsigned int left,
                         unsigned int bottom, unsigned int right)
Set the binning factor and region of the image acquisition area to be used in the camera acquisition procedure.
  emcCameraSetBinnedCenterArea(EM *em, int id, unsigned int BinSize,
                               unsigned int n)
Set the binning factor and the size of the central square to be used as the imaging region.
  emcCameraGetRegion(EM *em, int id, unsigned int *top, unsigned int *left,
                     unsigned int *bottom, unsigned int *right)
Retrieve the region of the effective imaging area to be used for the image acquisition procedure.
  emcCameraSetExposure(EM *em, int id, double exposure)
Set the exposure time (in seconds) parameter for the image acquisition procedure
  emcCameraGetExposure(EM *em, int id, double *exposure)
Retrieve the current exposure time (in seconds) parameter to be used for the image acquisition procedure.
  emcCameraSetMode(EM *em, int id, unsigned int mode)
Set the acquisition mode (EMC_UNPROCESSED, EMC_DARKSUBTRACTED, EMC_GAINNORMALIZE) parameter for the image acquisition procedure.
  emcCameraGetMode(EM *em, int id, unsigned int *mode)
Retrieve the current acquisition mode parameter to be used for the image acquisition procedure.
  emcCameraGetActualArea(EM *em, int id, unsigned int *width,
                         unsigned int *height)
Retrieve the actual maximum imaging area available to the image acquisition procedure. (bin factor equals 1, full region).
  emcCameraAcquireImage(EM *em, int id, EMImage **image, int type)
Acquire a new image into a new image structure. The data is stored in the specified data type (16-bit signed int, 8 bit unsigned int, 32 bit float). The image acquired uses the current imaging parameters.
  emcCameraReacquireImage(EM *em, int id, EMImage *image, int type)
Same as previous call, only new image is stored in the passed data structure (any pre-existing image is destroyed).
  emcCameraDeleteImage(EM *em, EMImage *image)
Delete the specified image

PREVIOUS Page 6 of 54 NEXT