Ccd
Abstract class for Ccd's
Ccd's are 2D detectors. They can be exposed for a certain number of seconds or fractions of seconds. The Ccd is triggered internally or externally. Ccd's can control a shutter. The shutter needs to be completely closed before reading out the pixels. A Ccd can be programmed to take a single or multiple images.
Version 1
Commands
The following commands must be implemented :
- Start - the ccd will start taking an exposure as soon as the trigger is ready (state = ON)
- Stop - stop the ccd from exposing (state = OFF)
- Reset - reset the ccd (state = OFF)
- WriteFile - write the current image to a file using the parameters in FileParams
Attributes
The following attributes must be implemented :
| Attribute | Type | Access | Description |
|---|---|---|---|
| Exposure | DOUBLE | RW | exposure time in seconds |
| Roi | SPECTRUM of LONG | RW | region of interest [x1,y1,x2,y2] |
| Binning | SPECTRUM of SHORT | RW | binning in x and y |
| Trigger | SHORT | RW | trigger mode |
| Width | LONG | RO | width of current image in pixels |
| Height | LONG | RO | height of current image in pixels |
| Frames | LONG | RW | number of images to acquire |
| Depth | SHORT | RO | depth of image in bytes |
| FileParams | SPECTRUM of STRING | RW | file parameters [directory, prefix, number, suffix, overwrite flag, number format] |
| FileFormat | STRING | RW | file format for writing e.g. "pgm", "edf", "nxs" etc. |
| Image | IMAGE of UCHAR | RO | image as string of bytes in Intel format (little endian) |
| ImageFormat | STRING | RO | format of image e.g. "mono16", "rgb" |
| ImageCounter | LONG | RO | number of acquired images |
| JpegImage | IMAGE of UCHAR | RO | image in compressed JPEG format |
| JpegQuality | SHORT | RW | jpeg image quality |
| JpegCompression | BOOLEAN | RW | jpeg image compression on |
States
The following states must be implemented :
- ON - ccd is acquiring an image
- OFF - ccd is ready to start acquiring an image
- FAULT - ccd is in fault
Implementations
The following device servers implement the Ccd abstract interface :
- Ccd1394 - for IEEE1394 (firewire) cameras
- Pvcam - for cameras which can be controlled with the PVCAM SDK from Photometrics and Princeton
- Falcon - for the Falcon video grabber
- Pixium - for the Pixium pixel detector
Clients
The following client programs depend on the Ccd interface :
- ccdpanel in atk
- imagej ccd plugin
- workbench ccd plugin
- bpmccd device server
- tacoccd device server
Contact
Please contact Andy Gotz (andy dot gotz at esrf dot fr) or tango at esrf dot fr if you want to make proposals to change this interface or have questions about it.