• No results found

Chapter 3 XEOM Design & Construction

3.3 Control Software

3.3.2 Imaging Functionality

Scientific CCD cameras generally ship with their own software for capturing images, but when using the supplied software the user is limited to using the camera in the manner intended by the original manufacturer. There is scope for capturing image sequences for XEOL spectrum extraction (to be discussed further in the subsequent chapter) using both the FLI and Andor software (more so using the latter) and both cameras have the capability to send trigger pulses for synchronization. However, given the multi-component nature of the rest of the XEOM1 system this solution is unsatisfactory, hence the need to incorporate image capture functionality directly into eCell Controller.

The Capture Control window is designed to guide the user through the setup and operation of the camera in a logical manner (Figure 3.12). The user must first select which camera they will be using and then set the desired cooling temperature; multiple cameras may be connected simultaneously, although cur- rently only a single camera can be operated at any one time. Before setting the image capture parameters the sensor must stabilize at the temperature to which

Figure 3.12: Screenshot of the eCell Controller ‘Capture Control’ window. The layout of this window is designed to guide the user through the setup and operation of the XEOM1 system with camera setup at the top left, operation of the camera itself across the middle, and control of auxiliary hardware to the right.

the cooler has been sent. In fact, the user is prevented from setting values ‘out of order’ so that it is impossible to incorrectly configure the camera or attempt to acquire images before the required parameters have been set. All fields are validated before being sent to the camera to avoid invalid values being assigned. The following image acquisition settings are available:

Exposure time

Total time for which the shutter is open and the sensor accumulates charge.

Binning

Pixels can be grouped together to form ‘superpixels’ where the signal ac- quired by each individual pixel contributes to the total signal in the super- pixel. While this reduces the resolution of the image, it is advantageous when the overall signal is low as it reduces the need for very long expo- sures which will increase the thermal noise. Up to 16 pixels can be binned independently in both the vertical and horizontal directions.

Sensor area

ages using only a sub-region within the sensor defined by the upper-left and lower-right pixel coordinates. Since the software package which has been developed for analysis of XEOM data, esaProject, has the capability to define regions of interest for extraction of spectra (to be discussed in Section 4.3.1), this feature is somewhat redundant, although it can occa- sionally still have a use. For example, if one side of the field of view con- tains an excess of unwanted signal this region can be discarded to avoid compromising the dynamic range of the remaining portion of the image frame.

Frame type

When ‘dark’ is selected for this parameter, the shutter is forced to remain closed for the duration of the acquisition. This prevents any external light from falling on the sensor, so the only charge build-up which occurs is due to internal processes. This allows for the acquisition of ‘thermal’ and ‘bias’ frames (see Section 3.3.5).

Only after values have been assigned to each of these parameters can image acquisition begin. Acquired images are displayed to the user in the center of the capture window. The progress of each individual image acquisition is reported to the lower-right of the displayed image, and the overall experiment progress is presented below this. The different acquisition modes available are described in Section 3.3.4.

Original FLI Camera Implementation

FLI supply an SDK for their products, but it is written in C and so is not directly usable from a .NET project. The SDK fileflicam.dllis an unmanaged library so method arguments and return values must be carefully marshaled between the managed (VB.NET) and unmanaged (C) code. To make this a little easier, a

C++ wrapper librarycamera.dllwas written to handle some of the unmanaged

memory allocation and error checking. Methods within this wrapper are then exposed by a VB.NET module. The library interface was originally developed by Philip Brondeel (Department of Analytical Chemistry, Gent University) and has later been modified by the author.

Andor Camera Updates

Introduction of the Andor camera required that a significant portion of the cam- era control functionality be redesigned. The common functionality between the two cameras was abstracted out to an interfaceICameraso the basic operation of either camera is handled in the same way regardless of which is connected.

Andor also makes available some additional functionality in their SDK when compared with the FLI offering. The speed of the cooling fan can be configured, or even turned off completely, which is of use when carrying out measurements which are particularly sensitive to vibration. Advanced config- uration of the CCD sensor electronics is also possible. The horizontal/vertical clock frequencies may be adjusted, affecting the readout speed and read noise. The internal amplifier gain can also be increased in order to increase the reso- lution of analog-to-digital conversion for small signals. This was also the point at which the requirement for temperature stabilization was included — this is a feature of the Andor SDK, so an equivalent condition was included for the FLI camera.