USER’S GUIDE TO: www.andor.com Andor plc 2009 Software Version 2.
TABLE OF CONTENTS PAGE SECTION 1 - INTRODUCTION 10 TECHNICAL SUPPORT 11 SOFTWARE IMPROVEMENTS AND ADDITIONAL FEATURES 11 SECTION 2 - SOFTWARE INSTALLATIONS 22 PC requirements 22 SDK WINDOWS INSTALLATION Windows Troubleshooting 22 24 SDK LINUX INSTALLATION 26 LABVIEW INSTALLATION Linux Troubleshooting 26 27 SECTION 3 - READOUT MODES 28 INTRODUCTION Full Vertical Binning Single-Track Multi-Track Random-Track Image Cropped 28 29 29 30 31 32 33 SECTION 4 - ACQUISITION MODES 34 ACQUISITION
TABLE OF CONTENTS SECTION 7 - SHUTTER CONTROL 59 SHUTTER MODES Fully Auto Hold Open Hold Closed 59 59 59 59 SHUTTER TYPE 60 SHUTTER TRANSFER TIME 61 SECTION 8 - TEMPERATURE CONTROL 63 SECTION 9 - SPECIAL GUIDES 64 CONTROLLING MULTIPLE CAMERAS 64 USING MULTIPLE CAMERA FUNCTIONS 65 DATA RETRIEVAL METHODS How to determine when new data is available Retrieving Image Data 67 67 69 DETERMINING CAMERA CAPABILITIES Retrieving capabilities from the camera Other Capabilities Output Amplifiers 70 70
TABLE OF CONTENTS Filter_GetThreshold Filter_SetAveragingFactor Filter_SetAveragingFrameCount Filter_SetDataAveragingMode Filter_SetMode Filter_SetThreshold GetAcquiredData GetAcquiredData16 GetAcquiredFloatData GetAcquisitionProgress GetAcquisitionTimings GetAdjustedRingExposureTimes GetAIIDMAData GetAmpDesc GetAmpMaxSpeed GetAvailableCameras GetBackground GetBaselineClamp GetBitDepth GetCameraEventStatus GetCameraHandle GetCameraInformation GetCameraSerialNumber GetCapabilities GetControllerCardModel GetC
TABLE OF CONTENTS GetMCPGain GetMCPGainRange GetMCPVoltage GetMetaDataInfo GetMinimumImageLength GetMostRecentColorImage16 GetMostRecentImage GetMostRecentImage16 GetMSTimingsData GetMSTimingsEnabled GetNewData GetNewData16 GetNewData8 GetNewFloatData GetNumberADChannels GetNumberAmp GetNumberAvailableImages GetNumberDevices GetNumberFKVShiftSpeeds GetNumberHorizontalSpeeds GetNumberHSSpeeds GetNumberNewImages GetNumberPhotonCountingDivisions GetNumberPreAmpGains GetNumberRingExposureTimes GetNumberIO GetNu
TABLE OF CONTENTS GPIBSend I2CBurstRead I2CBurstWrite I2CRead I2CReset I2CWrite IdAndorDll InAuxPort Initialize InitializeDevice IsCoolerOn IsCountConvertModeAvailable IsInternalMechanicalShutter IsAmplifierAvailable IsPreAmpGainAvailable IsTriggerModeAvailable Merge OA_AddMode OA_DeleteMode OA_EnableMode OA_GetFloat OA_GetInt OA_GetModeAcqParams OA_GetNumberOfAcqParams OA_GetNumberOfPreSetModes OA_GetNumberOfUserModes OA_GetPreSetModeNames OA_GetString OA_GetUserModeNames OA_SetFloat OA_SetInt OA_SetString
TABLE OF CONTENTS SetBackground SetBaselineClamp SetBaselineOffset SetCameraStatusEnable SetComplexImage SetCoolerMode SetCountConvertMode SetCountConvertWavelength SetCropMode SetCurrentCamera SetCustomTrackHBin SetDACOutputScale SetDACOutput SetDataType SetDDGAddress SetDDGGain SetDDGGateStep SetDDGInsertionDelay SetDDGIntelligate SetDDGIOC SetDDGIOCFrequency SetDDGIOCNumber SetDDGTimes SetDDGTriggerMode SetDDGVariableGateStep SetDelayGenerator SetDMAParameters SetDriverEvent SetDualExposureMode SetDualEx
TABLE OF CONTENTS SetMCPGain SetMCPGating SetMessageWindow SetMetaData SetMultiTrack SetMultiTrackHBin SetMultiTrackHRange SetNextAddress SetNextAddress16 SetNumberAccumulations SetNumberKinetics SetNumberPrescans SetOutputAmplifier SetOverlapMode SetPCIMode SetPhotonCounting SetPhotonCountingDivisions SetPhotonCountingThreshold SetPixelMode SetPreAmpGain SetRandomTracks SetReadMode SetRegisterDump SetRingExposureTimes SetSaturationEvent SetShutter SetShutterEx SetShutters SetSifComment SetSingleTrack SetSi
TABLE OF CONTENTS SECTION 13 - DETECTOR.INI 266 DETECTOR.
INTRODUCTION SECTION 1 - INTRODUCTION The Andor Software Development Kit (SDK) gives the programmer access to the Andor range of CCD and Intensified CCD cameras. The key part of the SDK is the Dynamic Link Library (DLL) which can be used with a wide variety of programming environments, including, C, C++, C#, Visual Basic and LabVIEW. The library is compatible with Windows 2000, XP, Vista and Windows 7. A Linux version of the SDK is also available.
INTRODUCTION TECHNICAL SUPPORT Contact details for your nearest representative can be found on our website. SOFTWARE IMPROVEMENTS AND ADDITIONAL FEATURES Version 2.90.30004.0 New features: • • • • • • • USB iStar now supported Added function GetNumberPhotonCountingDivisions Added function GetPreAmpGainText Added 64-bit C# wrapper Added Shamrock C# wrapper Added 64-bit VB.
INTRODUCTION Version 2.88.30000.0 New features: • • • • • • • • • • • Added OptAcquire feature to simplify configuration of iXon systems Added Count Convert feature to return data as photons or electrons Added Data Averaging feature for real time and post processing Added Spurious noise Filters for both real time and post processing Added Photon Counting post processing option Andor LabVIEW library updated to use version 8.
INTRODUCTION Version 2.86.30000.
INTRODUCTION SetMetaData GetMetaDataInfo Bug fixes: • Spooled files beyond 4GB could not be opened • Data was being lost when spooled files of small images went beyond 4GB • Spooled FITS file had cycle time saved as 0 • IsPreAmpAvailable should use channel passed rather than current one • Random tracks data corrupted for consecutive tracks for cameras other than iXon+ • GetImages16 LabVIEW wrapper was calling wrong SDK function Version 2.83.30001.
INTRODUCTION • Deprecated SetGain for SetMCPGain which is a more accurate naming convention • Added Dud column support to SDK – allows SDK to be configured to interpolate bad columns Bug fixes: • Fixed minimum exposure for Luca-R • Updated documentation – error code correction for get data functions. • Fixed missing cases of GetTemperature in LabVIEW wrapper. • Updated documentation – Corrected contact information.
INTRODUCTION Bug fixes: • Fixed some documentation errors in LabVIEW context help • Fixed Shamrock close and re-initialisation in C interface of Shamrock SDK • Fixed Shamrock close operation in LabVIEW Version 2.81.30002.0 New features: • None Bug fixes: • Fixed cooling issue on Fibre Optic systems • Fixed hot column issue on iXon DU888 cameras. • Fixed crash in External Trigger on Newton • Fixed DLL error on Windows Install program. Version 2.
INTRODUCTION • Added SetAccumulationCycleTime to LabVIEW library • Random and multi tracks now available in frame transfer mode for iXon+ • SetNumberPrescans function added • New timing functions added GetKeepCleanTime GetReadOutTime Bug fixes: • SetEMAdvanced was not working on Luca-R • Random tracks external start was broken on a DU888 • InGaAs was not working in last release • Multiple USB cameras could not be controlled • Fast Kinetics external trigger was not working on early DV885 cam
INTRODUCTION Version 2.
INTRODUCTION Version 2.78 New features: • Support for Luca 285 added. • Data transfer from USB cameras improved. • SetIsolatedCropMode function added to provide crop mode option (added for iXon+): • Improved support for integrate on chip: Added GetDDGIOCFrequency GetDDGIOCNumber SetDDGIOCNumber • Option to export to raw data: SaveAsRaw Bug fixes: • SaveAsSif in SDK not storing readout speed correctly.
INTRODUCTION Version 2.76 New features: • Additional capabilities added to GetCapabilities function • GetAmpDesc function added • Timeout added for WaitForAcquisition function Bug fixes: • Error returned if an invalid EM gain mode is selected • Fixed issues with Fast Kinetics on an iXon • Sometimes a camera was not ready to acquire when an acquisition event was sent • Fixed initialization problem when a ‘.’ was in the path send to Initialize() function Version 2.
INTRODUCTION Version 2.73 New features: • Support for Newton and SurCam range of Cameras Bug fixes: • GetMostRecentImage does not now prevent access to images previous to the one obtained • Controller type can be tested.
INSTALLATION SECTION 2 - SOFTWARE INSTALLATIONS PC requirements Please consult the Specification Sheet for your camera for the minimum and the recommended PC requirements. SDK WINDOWS INSTALLATION The installation of the Andor SDK software is a straightforward process, the steps for which are outlined below. Before proceeding with the installation, it is recommended that you read the remainder of this section first. 1. Insert the CD supplied with the SDK, and execute the "SETUP.EXE" program.
INSTALLATION NOTE: The files are also copied into each example directory. This is to allow each example to be run as a stand-alone program. A device driver required to support the camera will also be installed. The actual driver installed will depend on the camera type and operating system version, i.e.: • For PCI systems the driver file is atmcdwdm.sys for 32-bit operating systems, or atmcdwdm64.sys for 64-bit operating systems. • For USB cameras the driver file is libusb0.
INSTALLATION Windows Troubleshooting Installing on Windows 7 • Some users have experienced difficulty installing the SDK on Windows 7, if so please see the Window 7 Driver Installation Guide. If you are running a PCI camera • Check that the Andor Technology PCI driver appears in the Ensure that an Andor section in exists in the Device Manager and that an Andor Technology PCI driver appears in it. To access the Device Manager, go to the Control Panel and click on the “System” control.
INSTALLATION NOTE: If the camera is still not detected after step 6, please contact the appropriate technical support person SDK SECTION 2 Page 25
INSTALLATION SDK LINUX INSTALLATION The first step is to unpack the archive that you have received. With the following steps replace with the version number of the archive you have. E.g. 2.15 1. Open a terminal 2. Change the directory to where the andor-.tar.gz file is located 3. Type 'tar -zxvf andor-.tar.gz' A new directory named 'andor' is created. To install the SDK run the script ‘install_andor’ from the ‘andor’ directory.
INSTALLATION Linux Troubleshooting If you are having trouble running your camera under the Linux operating system please check the following before contacting Technical Support For PCI, • Check that the device driver is loaded. Type ‘/sbin/lsmod’ – andordrvlx should be listed. For USB, • Check that libUSB is available, ‘whereis libusb’ • Check that the Andor device is listed in the /proc/bus/usb/devices file. • Check that the relevant device under /proc/bus/usb/00X/00Y has write access for all users.
READOUT MODES SECTION 3 - READOUT MODES INTRODUCTION Andor systems are based on a detector known as a Charged Coupled Device (CCD). The detector is divided up as a 2-dimensional array of pixels, each capable of detecting light. For example, systems based on an 2 EEV 30-11 CCD chip have 1024 X 256 pixels, where each pixel is 26µm (all examples given in this manual assume an EEV 30-11 based system). This 2-dimensional nature allows the device to be operated using a number of different binning patterns.
READOUT MODES Full Vertical Binning Full Vertical Binning (FVB) is the simplest mode of operation. It allows you to use the CCD chip as a Linear Image Sensor (similar to a photo diode array). The charge from each column of pixels is vertically binned into the shift register. This results in a net single charge per column. Therefore, for a 30-11 CCD an acquisition using FVB will result in 1024 data points.
READOUT MODES Multi-Track Multi-Track mode allows you to create one or more tracks (each of which behaves like the Single-Track above). With Multi-Track you specify the number of tracks and the track height. The driver internally sets the actual position of each track so that the tracks are evenly spaced across the CCD. The tracks can be vertically shifted, en masse, by specifying a positive or negative offset about a central position.
READOUT MODES Random-Track In Random-Track mode the position and height of each track is specified by the user, unlike Multi-Track mode were the driver sets the position of each track automatically. Figure 5: Random-Track Random-Track will allow you to simultaneously acquire a number of spectra, delivered typically via a fiber bundle. Unless you are acquiring data from a pulsed source you will need to use a shutter to avoid streaking the spectra during the binning process.
READOUT MODES Image In Image mode the CCD is operated much like a camera. In this mode you get a measured value for each pixel on the CCD, in effect allowing you to ‘take a picture’ of the light pattern falling on the pixel matrix of the CCD. To prevent smearing the image, light must be prevented from falling onto the CCD during the readout process. Please refer to SECTION 8 - SHUTTER CONTROL for further information.
READOUT MODES Cropped In Cropped mode, we can "fool" the sensor into thinking it is smaller than it actually is, and readout continuously at a much faster frame rate. The spectral time resolution is dictated by the time taken to readout the smaller defined section of the sensor. If your experiment dictates that you need fast time resolution but cannot be constrained by the storage size of the sensor, then it is possible to readout the EMCCD in a "cropped sensor" mode, as illustrated below.
ACQUISITION MODES SECTION 4 - ACQUISITION MODES ACQUISITION MODE TYPES In the previous section the different ReadOut Modes (binning patterns) supported by the Andor SDK were discussed. In addition the Andor SDK allows you to control the number and the timing details of acquisitions made using the various binning patterns.
ACQUISITION MODES Single Scan Single Scan is the simplest acquisition mode available with the Andor system. In this mode Andor SDK performs one scan (or readout) of the CCD and stores the acquired data in the memory of the PC. To set the acquisition mode to Single Scan call: SetAcquisitionMode(1) SetExposureTime(0.3) Here the exposure time is the time during which the CCD sensor is sensitive to light. The exposure time is set via the SetExposureTime function.
ACQUISITION MODES Accumulate Accumulate mode adds together (in computer memory) the data from a number of scans to form a single ‘accumulated scan’. This mode is equivalent to taking a series of Single Scans and “manually” adding them together. However, by using the built-in Accumulate mode you gain the ability to specify the time delay (or period) between two consecutive scans and also the total number of scans to be added.
ACQUISITION MODES Kinetic Series Kinetic Series mode captures a sequence of single scans, or a sequence of accumulated scans, into memory. This mode is equivalent to manually taking a series of single scans (or accumulated scans). However, by using the built-in Kinetic Series mode you gain the ability to specify the time delay (or period) between two consecutive scans and also the total number of scans to be acquired.
ACQUISITION MODES To set the acquisition mode to Kinetic Series call: SetAcquisitionMode(3) To fully define a Kinetic Series acquisition you will need to supply the following information: Exposure Time. This is the time in seconds during which the CCD collects light prior to readout. Set via the SetExposureTime function. Number of Accumulations. This is the number of scans you want to add together to create each member of your kinetic series.
ACQUISITION MODES Run Till Abort Run Till Abort mode continually performs scans of the CCD at the rate set by the user, until the acquisition is stopped by calling the AbortAcquisition function. The minimum possible delay between each scan will be the minimum Kinetic Cycle Time. To set the acquisition mode to Run Till Abort call: SetAcquistionMode(5) SetExposureTime(0.3) SetKineticCycleTime(0) Here the exposure time is the time during which the CCD sensor is sensitive to light. NOTES: 1.
ACQUISITION MODES iCam Run Till Abort When in this mode of operation (Run Till Abort) some systems have an enhanced trigger mode and enhanced exposure time capability. To check if these enhanced features are available with your system, use the function GetCapabilities and check the ulTriggerModes variable for bit 3 (AC_TRIGGERMODE_CONTINUOUS) being set. The enhanced features include:· 1. Ring of exposures 2. Software Trigger or External trigger 3.
ACQUISITION MODES acquisition while the readout of the first scan is still in progress. See SetAcqStatusEvent. NOTE: This will also work in External trigger mode SetTriggerMode, with an external trigger source determining the start of an exposure instead of the SendSoftwareTrigger command. In external trigger care must be taken to ensure that the external trigger occurs when the camera is ready for it i.e.
ACQUISITION MODES Fast Kinetics Fast Kinetics is a special readout mode that uses the actual sensor as a temporary storage medium and allows an extremely fast sequence of images to be captured. The capture sequence is described with the following steps: Step 1: both the Image and Storage areas of the sensor are fully cleaned out (the Keep Clean Cycle) Step 2: the Keep Clean Cycle stops and the acquisition begins.
ACQUISITION MODES Frame Transfer Frame transfer is a mode of operation of the chip that is only available if your system contains a Frame Transfer CCD (FT CCD). It can be switched on for any acquisition mode. A FT CCD differs from a standard CCD in 2 ways: • Firstly, a FT CCD contains 2 areas, of approximately equal size (see figure 7 below). 1. The first area is the Image area, this area is at the top and farthest from the readout register. It is in this area that the CCD is sensitive to light. 2.
ACQUISITION MODES Figure 8 takes you through the capture sequence for an FT CCD: Figure 8: Capture sequence for a Frame Transfer CCD Step 1: Both Image and Storage areas of the CCD are fully cleaned out. This is known as a Keep Clean Cycle. Keep Clean Cycles occur continuously to ensure that the camera is always ready to start an acquisition when required. Step 2: On receipt of a start acquisition command the CCD stops the Keep Clean Cycle.
ACQUISITION MODES • The Accumulation Cycle Time and the Kinetic Cycle Time are fully dependent on the exposure time and hence cannot be set via the software. • For our Classic CCD range of cameras with frame transfer type sensors the camera can be operated in External Trigger mode. In this mode there are no keep cleans and the external trigger starts the "Readout" phase. The exposure time is the time between external triggers and hence the user cannot set the exposure or cycle times.
ACQUISITION MODES It is also possible to operate a FT CCD in a non-frame transfer mode. In this standard mode of operation, an FT CCD acts much like a standard CCD. The capture sequence for this standard mode is illustrated here: • Step 1: Both Image and Storage areas of the CCD are fully cleared out (the Keep Clean Cycle). • Step 2: When an acquisition begins, the CCD stops the Keep Clean Cycle. The image builds up in the Image area of the CCD.
ACQUISITION MODES NOTES: • When using an FT CCD as a standard CCD, the Exposure Time, Accumulation Cycle Time and Kinetic Cycle Time can be set independently. • The minimum exposure time is not related to the time taken to read out the image. • External trigger operates as if the CCD was a Non-FT CCD. • As the captured image is quickly shifted into the storage area, even in non-frame transfer mode, the system may still be used without a mechanical shutter.
ACQUISITION MODES By default the system is set to non-Frame Transfer mode. To set the chip operation mode to Frame Transfer call: SetFrameTransferMode(1) To switch back to non-frame transfer mode call SetFrameTransferMode(0) To fully define a Frame Transfer acquisition you will need to supply the following information: • Exposure Time: Time in seconds during which the CCD collects light prior to readout. Set via the SetExposureTime function.
TRIGGERING SECTION 5 - TRIGGERING TRIGGER MODES To assist the user in synchronizing data capture with external events the Andor system supports several modes of triggering, including Internal External External Start External Exposure (Bulb) External FVB EM (only valid for EM Newton models in FVB mode) (needs added) Software The trigger mode is set via the SetTriggerMode function.
TRIGGERING Internal In Internal Trigger Mode once an acquisition has been started via the StartAcquisition function the Andor system determines when data is actually acquired. Before the camera starts the data capture process it ensures that the CCD is in the appropriate state.
TRIGGERING External In External Trigger Mode once an acquisition has been started via the StartAcquisition function the camera is placed into a special dumping version of the ‘Keep Clean’ mode, which ensures that the CCD is not saturated before the external trigger occurs. Once the External Trigger is received the Keep Clean sequence is stopped and the acquisition is initiated.
TRIGGERING NOTES: 1. If you have a shutter connected, and are using an external trigger, you must ensure that the shutter is open before the optical signal you want to measure occurs. When a camera is operated in frame transfer mode the external trigger sequence is different. Please refer to the camera user manual for a full description. 2. Some cameras may support the iCam technology. If they do, it will be fully operational in external trigger mode.
TRIGGERING External Start In External Start Trigger Mode, once an acquisition has been started via the StartAcquisition function, the camera system is placed into an external keep clean mode, which ensures that the CCD is not saturated before the external trigger occurs. Once the External Trigger is received, the Keep Clean sequence is stopped and the acquisition is initiated. After the initial acquisition the system will then continue to operate as in internal trigger mode.
TRIGGERING External Exposure The External Exposure trigger is a mode of operation where the exposure time is fully controlled by the external trigger input. While the trigger input is high the CCD is accumulating charge in the Image area. When the external trigger goes low, the accumulated charge is quickly shifted into the Storage area and then read out in the normal manner. The figures below illustrate the timing sequences for this mode of operation.
TRIGGERING External Exposure Trigger in Non-Frame Transfer mode Note that not all systems support External Exposure mode. To check if this feature is available with your system, use the function GetCapabilities and check the ulTriggerModes variable for bit 5 (AC_TRIGGERMODE_EXTERNALEXPOSURE) being set.
TRIGGERING External FVB EM IExternal FVB EM Trigger Mode is much like operating an acquisition in FVB read mode with EM gain applied using external trigger with Keep cleans turned off. The difference surrounds the readout of the collected data and therefore the associated readout time: When using EM gain a second (EM) register is used to apply the gain to the acquired data, The diagram below gives a quick overview of the readout process used in both processes. Imagine a ‘pixel’ at position A.
TRIGGERING Software In Software Trigger Mode, once an acquisition has been started via the StartAcquisition function, the user software determines when data is actually acquired via the SendSoftwareTrigger command. This will give full control to the user software to ensure that it only requests an acquisition when it is ready.
SHIFT SPEEDS SECTION 6 - SHIFT SPEEDS The Andor system allows you to set the speed at which charge is shifted horizontally and vertically on the CCD. The horizontal and vertical shift speeds are set via the SetHSSpeed and SetVSSpeed functions respectively. The vertical shift speed is the speed at which each row on the CCD is shifted vertically into the Shift Register. The number of vertical shift speeds and their actual values are determined via the GetNumberVSSpeeds and GetVSSpeed functions.
SHUTTER CONTROL SECTION 7 - SHUTTER CONTROL SHUTTER MODES In the sections on Acquisition modes and Readout modes the use of a shutter was highlighted to prevent the smearing of data. Smearing occurs if light is allowed to fall on to the CCD while the pixel charges are being binned into the shift register prior to readout. The Andor system has a dedicated shutter control line that ensures that the shutter is correctly operated at all times.
SHUTTER CONTROL SHUTTER TYPE The shutter control line is a TTL compatible pulse, which can be either active high or active low to allow the control of an external shutter. NOTE: If the camera has an internal shutter (the function IsInternalMechanicalShutter can be used to test this) but cannot control the internal and external shutter independently (check the capability AC_FEATURES_SHUTTEREX) then the TTL pulse will always be active high.
SHUTTER CONTROL SHUTTER TRANSFER TIME Mechanical shutters take a finite time to open or close. This is sometimes called the Shutter Transfer Time and can be of the order of tens to hundreds of milliseconds. The Transfer Time is important for many reasons. Firstly, if your shutter takes 40ms to open and you specify an exposure time of 20ms then the shutter will simply not get the time to open fully.
SHUTTER CONTROL Figure 9: Timing diagram for shutter and fire pulses in internal trigger mode Figure 10: Timing diagram for shutter and fire pulses in external trigger mode NOTES: 1. In the case of external triggering, the external trigger pulse, the shutter pulse and the fire pulse are all coincident. If you are using a shutter and externally triggering the Andor system then the external trigger must be pulsed early enough to ensure that the shutter is fully opened before the light pulse arrives.
TEMPERATURE CONTROL SECTION 8 - TEMPERATURE CONTROL The Andor camera incorporates a CCD, which is fabricated using a process known as Multi-Pin Phasing (MPP). As a result the dark current is reduced by a factor of approximately 100 compared to standard devices at the same temperature. To reduce the dark current even further Andor SDK allows you to cool and monitor the CCD temperature through a number of functions.
SPECIAL GUIDES SECTION 9 - SPECIAL GUIDES CONTROLLING MULTIPLE CAMERAS Using the SDK It is possible to control multiple Andor cameras. The following SDK functions permit the selection and use of one Andor camera at a time. • GetAvailableCameras • GetCameraHandle • SetCurrentCamera • GetCurrentCamera • Initialize *NOTE: If only one camera is available it is not necessary to use any of these functions since that camera will be selected by default.
SPECIAL GUIDES USING MULTIPLE CAMERA FUNCTIONS The GetAvailableCameras function is used to return the number of Andor cameras available. A handle for each camera is obtained using the GetCameraHandle function (this handle should be stored for the lifetime of the application). Any of the available cameras can then be selected by calling the SetCurrentCamera function and passing in the camera handle.
SPECIAL GUIDES This example pseudo code demonstrates how to use the functions relating to the operation of multiple cameras: Figure 11: Example of Multiple Camera Pseudo Code SDK SECTION 9 Page 66
SPECIAL GUIDES DATA RETRIEVAL METHODS How to determine when new data is available There are a wide of range of functions available for retrieving data from the camera. Deciding which functions should be used depends on whether the data will be retrieved during an acquisition or once the acquisition is complete. See Retrieving Image Data For certain cases it may be useful to know what stage an acquisition is at. The GetStatus function can be used to get the current status of the acquisition.
SPECIAL GUIDES The SetDriverEvent function can be used in conjunction with event handles. If an event is created using the WIN32 CreateEvent function and passed to the SDK using the SetDriverEvent function an event handle now exists which the SDK can use to inform the application that something has occurred. To ensure that the event has been set by a new image arriving and not something else (e.g. temperature change) the GetTotalNumberImagesAcquired function can be used.
SPECIAL GUIDES Retrieving Image Data Depending on the image settings there may be more than one image available after each notification. It is important to ensure that all of the new images are retrieved if they are required.
SPECIAL GUIDES DETERMINING CAMERA CAPABILITIES Retrieving capabilities from the camera It is important to be able to determine the capabilities of the camera. This allows the user to take the full benefit of all the features available. There are a number of functions available which can be used to obtain this information and these can be found in the following areas of this section.
SPECIAL GUIDES Horizontal Pixel Shift Capabilities Depending on the camera type and model there will be variations in the number of A/D channels, the number of Output Amplifiers, the number & range of Horizontal Shift Speeds and the number & range of Pre-Amp Gains.
SPECIAL GUIDES An example of the pseudo code for this capability is shown here: Figure 14: Example of Horizontal Pixel Shift Pseudo Code SDK SECTION 9 Page 72
SPECIAL GUIDES Vertical Pixel Shift Capabilities Depending on the camera type and model there will be variations in the number of Vertical Shift Speeds available. The first step in this process is to determine the number of vertical shift speeds using the GetNumberVSSpeeds function. Following this the value of each vertical shift speed can be found using the GetVSSpeed function.
SPECIAL GUIDES Other Capabilities Other information about the camera can be obtained using the following functions: • GetCapabilities • IsInternalMechanicalShutter The GetCapabilities function populates an AndorCapabilities structure with information associated with the camera. Afterwards this structure can be used to determine details about the camera e.g. supported acquisition modes, supported trigger types.
SPECIAL GUIDES Output Amplifiers Depending on the camera type and model there will be variations Output Amplifiers that can be applied to your acquisition: • EMCCD Gain • Extended NIR • High Capacity By using the GetCapabilities function you can determine which amplifiers are available to your camera, the ulSetFunctions field will return the revevent information.
SPECIAL GUIDES Extended NIR When using Extended is increased. This in turn increases the response of the sensor to these wavelengths with a QE increase from 40% Near Infra-Red Mode the increased thickness of the silicon on which the CCD is formed and by manipulating the voltages applied to the silicon substrate, the depth of the region where red and NIR light can convert to photoelectrons to 60% at 650 nm.
SPECIAL GUIDES High Capacity With High capacity enabled the responsivity of the sensor is reduced thus allowing the reading of larger charge packets during binning operations. If ulSetFunctions bit 7 returns 1 then High Capacity mode can be activated bu using the SetHighCapacity function. (figure 19).
SPECIAL GUIDES iCam iCam technology is a combined firmware and software innovation that has been incorporated into Andor’s EMCCD imaging cameras. iCam offers enhanced performance for acquisitions whether software triggered or hardware (externally) triggered, with absolute minimal overheads. It allows for faster frame rates in software by dedicated timing patterns that eliminate unnecessary overhead times.
SPECIAL GUIDES iCam technology is a combined firmware and software innovation that has been incorporated into Andor’s EMCCD imaging cameras. iCam offers enhanced performance for acquisitions whether software triggered or hardware (externally) triggered, with absolute minimal overheads. It allows for faster frame rates in software by dedicated timing patterns that eliminate unnecessary overhead times.
SPECIAL GUIDES OptAcquire This is a unique interface whereby a user can choose from a pre-determined list of camera set-up configurations. The user need only choose how they would like their camera to be optimized, e.g. for ‘Sensitivity and Speed’, ‘Dynamic Range and Speed’, ‘Time Lapse’. Parameters such as EM gain value, vertical shift speed, vertical clock amplitude, pre-amp sensitivity and horizontal readout speed will then be optimized accordingly, ‘behind the scenes’.
SPECIAL GUIDES Parameter: shift_speed Type: Float Valid Values: A valid and supported value which can be retrieved by subsequent calls to GetNumberVSSpeeds() and GetVSSpeed(). Parameter: electron_multiplying_gain Type: Integer Valid Values: A valid and supported value which can be retrieved from a call to GetEMGainRange(). Parameter: vertical_clock_amplitude Type: Integer Valid Values: A valid and supported integer value in the range 0 – 4.
SPECIAL GUIDES An example of the pseudo code for using OptAcquire is shown in figure 16 and figure 17: Figure 16: Example of OptAcquire using Preset Modes SDK SECTION 9 Page 82
SPECIAL GUIDES Figure 17: Example of OptAcquire Adding a New Mode SDK SECTION 9 Page 83
EXAMPLES SECTION 10 - EXAMPLES INTRODUCTION We present here a number of examples of controlling Andor SDK to acquire data. Source code for each example can be found on the disk. Each example is presented in three different languages, Visual Basic, LabVIEW and C. The examples were devised to demonstrate the wide versatility and range of the data acquisition mechanisms available with Andor SDK. The examples are all based on variations of the flowchart described on the following pages.
EXAMPLES RUNNING THE EXAMPLES C The C examples are supplied as ready to run executable files (both 32-bit and 64-bit) and with complete source code. The code has been tested with Microsoft VC++ 5.0 and Borland Developer Studio 2006. You are free to modify the example source code in the “C” directory to be compatible with your own compiler. In order to compile your own C or C++ programs you will need the following files: • ATMCD32D.H C Header File • ATMCD32D.LIB / ATMCD64D.
EXAMPLES FLOW CHART OF THE FUNCTION CALLS NEEDED TO CONTROL ANDOR CAMERA 1. The application initializes the camera then obtains information relating to the capabilities of the system. NOTE: The Andor SDK takes several seconds to Auto-Calibrate the on-board A/D converter whenever the Initialize function is called. 2. The CCD sensor’s operating temperature is set to some value within the allowed temperature range (e.g. -2 °C), and the cooler is switched on. 3 - 4.
EXAMPLES 5. The acquisition parameters are programmed to match the specifications of the user, e.g. acquisition mode (single scan etc.), readout mode (full vertical binning etc.) and the trigger mode (Internal etc.). 6. You are now ready to start an acquisition. 7 - 8. The current acquisition status is periodically monitored to check if the data acquisition is complete. 9. After a successful data acquisition the data is transferred from the Andor driver into the application. 10.
EXAMPLES 12. When the user has completely finished acquiring data the shutdown procedure is started. The cooler is switched off. It is important to control both the heating and cooling rates of the CCD sensor otherwise the temperature gradients may damage the sensor. Thus it is highly recommended that the user uses the correct exiting procedure rather than, for example, simply switching off the computer. 13 – 14.
EXAMPLES Cooler This example is different from all the previous examples in that its main goal is not to acquire data but to demonstrate the proper use of the cooling capabilities of the Andor SDK System. It includes the taking of a single FVB scan for completeness. This example is an expanded version of Example 1. TM DDG The digital delay generator for iStar systems is demonstrated by this example. The user can control the gate times, gain level and integrate on chip parameters.
EXAMPLES Kinetic Image This example is a combination of the imaging and kinetic examples. Multi-Track This example illustrates the use of the Multi-Track readout mode. The acquisition mode is constrained to Single Scan and uses internal triggering. As this example uses imaging we again use a shutter. The user has the ability to specify both the shutter and Multi-Track parameters Random-Track This example is similar to Multi-Track readout mode as described above.
FUNCTIONS SECTION 11 - FUNCTIONS This section provides details of the various Functions available. AbortAcquisition unsigned int WINAPI AbortAcquisition(void) Description This function aborts the current acquisition if one is active. Parameters NONE Return unsigned int See also DRV_SUCCESS Acquisition aborted. DRV_NOT_INITIALIZED System not initialized. DRV_IDLE The system is not currently acquiring. DRV_VXDNOTINSTALLED VxD not loaded. DRV_ERROR_ACK Unable to communicate with card.
FUNCTIONS CoolerOFF unsigned int WINAPI CoolerOFF(void) Description Switches OFF the cooling. The rate of temperature change is controlled in some models until the temperature reaches 0º. Control is returned immediately to the calling application. Parameters NONE Return unsigned int See also DRV_SUCCESS Temperature controller switched OFF. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_ERROR_ACK Unable to communicate with card.
FUNCTIONS CoolerON unsigned int WINAPI CoolerON(void) Description Switches ON the cooling. On some systems the rate of temperature change is controlled until the temperature is within 3º of the set value. Control is returned immediately to the calling application. Parameters NONE Return unsigned int See also DRV_SUCCESS Temperature controller switched ON. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_ERROR_ACK Unable to communicate with card.
FUNCTIONS DemosaicImage unsigned int WINAPI DemosaicImage(WORD* grey, WORD* red, WORD* green, WORD* blue, ColorDemosaicInfo* info) Description For colour sensors only Demosaics an image taken with a CYMG CCD into RGB using the parameters stored in info. Below is the ColorDemosaicInfo structure definition and a description of its members: typedef struct COLORDEMOSAICINFO { int iX; // Number of X pixels. Must be >2. int iY; // Number of Y pixels. Must be >2. int iAlgorithm; // Algorithm to demosaic image.
FUNCTIONS EnableKeepCleans unsigned int WINAPI EnableKeepCleans (int mode) Description This function is only available on certain cameras operating in FVB external trigger mode. It determines if the camera keep clean cycle will run between acquisitions. When keep cleans are disabled in this way the exposure time is effectively the exposure time between triggers. The Keep Clean cycle is enabled by default.
FUNCTIONS See also DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_P1INVALID Invalid averagingFactor (i.e. NULL pointer). Filter_SetAveragingFactor Filter_GetAveragingFrameCount unsigned int WINAPI Filter_GetAveragingFrameCount (int * frames) Description Returns the current frame count value. Parameters int * frames: The current frame count value. Return unsigned int See also DRV_SUCCESS Frame count returned.
FUNCTIONS Filter_GetThreshold unsigned int WINAPI Filter_GetThreshold (float * threshold) Description Returns the current Noise Filter threshold value. Parameters float * threshold: The current threshold value. Return unsigned int See also DRV_SUCCESS Threshold returned. DRV_NOT_INITIALIZED System not initialized. DRV_NOT_SUPPORTED Noise Filter processing not available for this camera. DRV_P1INVALID Invalid threshold (i.e. NULL pointer).
FUNCTIONS Filter_SetDataAveragingMode unsigned int WINAPI Filter_SetDataAveragingMode (int mode) Description Sets the current data averaging mode. Parameters int mode: The averaging factor mode to use. Return unsigned int See also DRV_SUCCESS Averaging mode set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_P1INVALID Invalid mode.
FUNCTIONS See also DRV_NOT_INITIALIZED System not initialized. DRV_NOT_SUPPORTED Noise Filter processing not available for this camera. DRV_P1INVALID Invalid threshold. Filter_GetThreshold GetAcquiredData unsigned int WINAPI GetAcquiredData(at_32* arr, unsigned long size) Description This function will return the data from the last acquisition. The data are returned as long integers (32-bit signed integers). The “array” must be large enough to hold the complete data set.
FUNCTIONS GetAcquiredFloatData unsigned int WINAPI GetAcquiredFloatData (float* arr, unsigned long size) Description THIS FUNCTION IS RESERVED. GetAcquisitionProgress unsigned int WINAPI GetAcquisitionProgress(long* acc, long* series) Description This function will return information on the progress of the current acquisition. It can be called at any time but is best used in conjunction with SetDriverEvent. The values returned show the number of completed scans in the current acquisition.
FUNCTIONS GetAcquisitionTimings unsigned int WINAPI GetAcquisitionTimings(float* exposure, float* accumulate, float* kinetic) Description This function will return the current “valid” acquisition timing information. This function should be used after all the acquisitions settings have been set, e.g. SetExposureTime, SetKineticCycleTime and SetReadMode etc. The values returned are the actual times used in subsequent acquisitions.
FUNCTIONS GetAIIDMAData unsigned int WINAPI GetAllDMAData (at_32* arr, unsigned long size) Description THIS FUNCTION IS RESERVED. GetAmpDesc unsigned int WINAPI GetAmpDesc (int index , char* name, int len) Description This function will return a string with an amplifier description. The amplifier is selected using the index. The SDK has a string associated with each of its amplifiers. The maximum number of characters needed to store the amplifier descriptions is 21.
FUNCTIONS GetAmpMaxSpeed unsigned int WINAPI GetAmpMaxSpeed (int index , float* speed) Description This function will return the maximum available horizontal shift speed for the amplifier selected by the index parameter. Parameters Int index:amplifier index float* speed:horizontal shift speed Return See also unsigned int DRV_SUCCESS Speed returned. DRV_NOT_INITIALIZED System not initialized.
FUNCTIONS GetBaselineClamp unsigned int WINAPI GetBaselineClamp(int* state) Description This function returns the status of the baseline clamp functionality. With this feature enabled the baseline level of each scan in a kinetic series will be more consistent across the sequence. Parameters int * state: Baseline clamp functionality Enabled/Disabled 1 – Baseline Clamp Enabled 0 – Baseline Clamp Disabled Return See also unsigned int DRV_SUCCESS Parameters set.
FUNCTIONS GetCameraEventStatus unsigned int WINAPI GetCameraEventStatus (DWORD * camStatus) Description This function will return if the system is exposing or not. Parameters DWORD * camStatus: The status of the firepulse will be returned that the firepulse is low 0 Fire pulse low 1 Fire pulse high Return unsigned int DRV_SUCCESS Status returned DRV_NOT_INITIALIZED System not initialized See also SetAcqStatusEvent, SetPCIMode NOTE This is only supported by the CCI23 card.
FUNCTIONS GetCameraInformation unsigned int WINAPI GetCameraInformation (int index, long * information) Description This function will return information on a particular camera denoted by the index.
FUNCTIONS GetCapabilities unsigned int WINAPI GetCapabilities(AndorCapabilities* caps) Description This function will fill in an AndorCapabilities structure with the capabilities associated with the connected camera. Before passing the address of an AndorCapabilites structure to the function the ulSize member of the structure should be set to the size of the structure.
FUNCTIONS GetCapabilities (Acquisition Modes) Acquisition Modes - AndorCapabilities Member: ulAcqModes Capability: AC_ACQMODE_SINGLE Description: Single Scan Acquisition Mode available using SetAcquisitionMode. Bit: 0 State: 1 Capability: AC_ACQMODE_VIDEO Description: Video (Run Till Abort) Acquisition Mode available using SetAcquisitionMode. Bit: 1 State: 1 Capability: AC_ACQMODE_ACCUMULATE Description: Accumulation Acquisition Mode available using SetAcquisitionMode.
FUNCTIONS GetCapabilities (Read Modes) Read Modes - AndorCapabilities Member: ulReadModes Capability: AC_READMODE_FULLIMAGE Description: Full Image Read Mode available using SetReadMode. Bit: 0 State: 1 Capability: AC_READMODE_SUBIMAGE Description: Sub Image Read Mode available using SetReadMode. Bit: 1 State: 1 Capability: AC_READMODE_SINGLETRACK Description: Single track Read Mode available using SetReadMode.
FUNCTIONS GetCapabilities (Read Modes compatible with Frame Transfer mode) Read Modes - AndorCapabilities Member: ulFTReadModes Capability: AC_READMODE_FULLIMAGE Description: Full Image Read Mode available using SetReadMode. Bit: 0 State: 1 Capability: AC_READMODE_SUBIMAGE Description: Sub Image Read Mode available using SetReadMode. Bit: 1 State: 1 Capability: AC_READMODE_SINGLETRACK Description: Single track Read Mode available using SetReadMode.
FUNCTIONS GetCapabilities (Trigger Modes) Trigger Modes - AndorCapabilities Member: ulTriggerModes Capability: AC_TRIGGERMODE_INTERNAL Description: Internal Trigger Mode available using SetTriggerMode. Bit: 0 State: 1 Capability: AC_TRIGGERMODE_EXTERNAL Description: External Trigger Mode available using SetTriggerMode. Bit: 1 State: 1 Capability: AC_TRIGGERMODE_EXTERNAL_FVB_EM Description: External FVB EM Trigger Mode available using SetTriggerMode.
FUNCTIONS GetCapabilities (Camera Type) Camera Type - AndorCapabilities Member: ulCameraType Capability: AC_CAMERATYPE_PDA Description: Camera is an Andor PDA. Bits: 0-31 Value: 0 Capability: AC_CAMERATYPE_IXON Description: Camera is an Andor iXon. Bits: 0-31 Value: 1 Capability: AC_CAMERATYPE_ICCD Description: Camera is an Andor ICCD. Bits: 0-31 Value: 2 Capability: AC_CAMERATYPE_EMCCD Description: Camera is an Andor EMCCD.
FUNCTIONS GetCapabilities (Camera Type) - continued Capability: AC_CAMERATYPE_IDUS Description: Camera is an Andor iDus. Bits: 0-31 Value: 7 Capability: AC_CAMERATYPE_NEWTON Description: Camera is an Andor Newton. Bits: 0-31 Value: 8 Capability: AC_CAMERATYPE_SURCAM Description: Camera is an Andor Surcam. Bits: 0-31 Value: 9 Capability: AC_CAMERATYPE_USBISTAR Description: Camera is an Andor USBiStar. Bits: 0-31 Value: 10 Capability: AC_CAMERATYPE_LUCA Description: Camera is an Andor Luca.
FUNCTIONS Value: 15 Capability: AC_CAMERATYPE_CLARA Description: Camera is an Andor Clara. Bits: 0-31 Value: 17 All other values reserved.
FUNCTIONS GetCapabilities (Pixel Mode) Pixel Mode - AndorCapabilities Member: ulPixelModes Capability: AC_PIXELMODE_8BIT Description: Camera can acquire in 8-bit mode. Bit: 0 State: 1 Capability: AC_PIXELMODE_14BIT Description: Camera can acquire in 14-bit mode. Bit: 1 State: 1 Capability: AC_PIXELMODE_16BIT Description: Camera can acquire in 16-bit mode. Bit: 2 State: 1 Capability: AC_PIXELMODE_32BIT Description: Camera can acquire in 32-bit mode.
FUNCTIONS GetCapabilities (Available Set Functions) Available Set Functions - AndorCapabilities Member: ulSetFunctions Capability: AC_SETFUNCTION_VREADOUT Description: The vertical readout speed can be set with the SetVSSpeed function. Bit: 0 State: 1 Capability: AC_SETFUNCTION_HREADOUT Description: The horizontal readout speed can be set with the SetHSSpeed function. Bit: 1 State: 1 Capability: AC_SETFUNCTION_TEMPERATURE Description: The target temperature can be set using the SetTemperature function.
FUNCTIONS GetCapabilities (Available Set Functions) - Continued Capability: AC_SETFUNCTION_BASELINEOFFSET Description: The baseline offset can be set with the SetBaselineOffset function. Bit: 8 State: 1 Capability: AC_SETFUNCTION_PREAMPGAIN Description: The pre amp gain can be set with the SetPreAmpGain function. Bit: 9 State: 1 Capability: AC_SETFUNCTION_CROPMODE Description: Crop mode can be selected using the SetCropMode or SetIsolatedCropMode functions.
FUNCTIONS GetCapabilities (Available Get Functions) Available Get Functions - AndorCapabilities Member: ulGetFunctions Capability: AC_GETFUNCTION_TEMPERATURE Description: The current temperature can be determined using the GetTemperature function. Bit: 0 State: 1 Capability: AC_GETFUNCTION_TEMPERATURERANGE Description: The range of possible temperatures can be determined using the GetTemperatureRange function.
FUNCTIONS GetCapabilities (SDK Features Available) SDK Features Available - AndorCapabilities Member: ulFeatures Capability: AC_FEATURES_POLLING Description: The status of the current acquisition can be determined through the GetStatus function call. Bit: 0 State: 1 Capability: AC_FEATURES_EVENTS Description: A Windows Event can be passed to the SDK to alert the user at certain stages of the Acquisition.
FUNCTIONS GetCapabilities (SDK Features Available) - Continued Capability: AC_FEATURES_FANCONTROL Description: Fan settings can be adjusted through the SetFanMode function. Bit: 7 State: 1 Capability: AC_FEATURES_MIDFANCONTROL Description: It is possible to select a low fan setting through the SetFanMode function. Bit: 8 State: 1 Capability: AC_FEATURES_TEMPERATUREDURINGACQUISITION Description: It is possible to read the camera temperature during an acquisition with the GetTemperature function.
FUNCTIONS Capability: AC_FEATURES_METADATA Description: Reserved for internal use. Bit: 15 State: 1 Capability: AC_FEATURES_IOCONTROL Description: Configurable IO’s available. See SetIOLevel. Bit: 16 State: 1 Capability: AC_FEATURES_PHOTONCOUNTING Description: System supports photon counting. See SetPhotonCounting . Bit: 17 State: 1 Capability: AC_FEATURES_COUNTCONVERT Description: System supports Count Convert. Bit: 18 State: 1 Capability: AC_FEATURES_DUALMODE Description: Dual exposure mode.
FUNCTIONS GetCapabilities (PCI Card Capabilities) PCI Card Capabilities - AndorCapabilities Member: ulPCICard Description: Maximum speed in Hz PCI controller card is capable of. GetCapabilities (Gain Features Available) Gain Features Available - AndorCapabilities Member: ulEMGainCapability Capability: AC_EMGAIN_8BIT Description:.8-bit DAC settable. Bit: 0 State: 1 Capability: AC_EMGAIN_12BIT Description:.12-bit DAC settable Bit: 1 State: 1 Capability: AC_EMGAIN_LINEAR12 Description:.
FUNCTIONS GetControllerCardModel unsigned int WINAPI GetControllerCardModel (char* controllerCardModel) Description This function will retrieve the type of PCI controller card included in your system. This function is not applicable for USB systems. The maximum number of characters that can be returned from this function is 10. Parameters char* controllerCardModel: A user allocated array of characters for storage of the controller card model. Return See also unsigned int DRV_SUCCESS Name returned.
FUNCTIONS GetDDGPulse unsigned int WINAPI GetDDGPulse(double width, double resolution, double* Delay, double* Width) Description This function attempts to find a laser pulse in a user-defined region with a given resolution. The values returned will provide an estimation of the location of the pulse. Parameters double width: the time in picoseconds of the region to be searched. double resolution: the minimum gate pulse used to locate the laser. double* Delay: the approximate start of the laser pulse.
FUNCTIONS GetDDGIOCFrequency unsigned int WINAPI GetDDGIOCFrequency(double*frequency) Description This function can be used to return the actual IOC frequency that will be triggered. It should only be called once all the conditions of the experiment have been defined. Parameters Return See also double*frequency: the number of integrate on chip pulses triggered within the fire pulse.
FUNCTIONS GetDDGIOCPulses unsigned int WINAPI GetDDGIOCPulses(int* pulses) Description This function can be used to calculate the number of pulses that will be triggered with the given exposure time, readout mode, acquisition mode and integrate on chip frequency. It should only be called once all the conditions of the experiment have been defined. Parameters int* pulses: the number of integrate on chip pulses triggered within the fire pulse. Return unsigned int See also DRV_SUCCESS Number returned.
FUNCTIONS GetDetector unsigned int WINAPI GetDetector(int* xpixels, int* ypixels) Description This function returns the size of the detector in pixels. The horizontal axis is taken to be the axis parallel to the readout register. Parameters int* xpixels: number of horizontal pixels. int* ypixels: number of vertical pixels. Return unsigned int DRV_SUCCESS Detector size returned. DRV_NOT_INITIALIZED System not initialized.
FUNCTIONS GetEMCCDGain unsigned int WINAPI GetEMCCDGain(int* gain) Description Returns the current gain setting. The meaning of the value returned depends on the EM Gain mode. Parameters Int*gain: current EM gain setting Return DRV_SUCCESS Gain returned. DRV_NOT_INITIALIZED System not initialized. DRV_ERROR_ACK Unable to communicate with card.
FUNCTIONS GetFastestRecommendedVSSpeed unsigned int WINAPI GetFastestRecommendedVSSpeed (int* index, float* speed) Description As your Andor SDK system may be capable of operating at more than one vertical shift speed this function will return the fastest recommended speed available. The very high readout speeds, may require an increase in the amplitude of the Vertical Clock Voltage using SetVSAmplitude.
FUNCTIONS GetFKExposureTime unsigned int WINAPI GetFKExposureTime(float* time) Description This function will return the current “valid” exposure time for a fast kinetics acquisition. This function should be used after all the acquisitions settings have been set, i.e. SetFastKinetics and SetFKVShiftSpeed. The value returned is the actual time used in subsequent acquisitions. Parameters float* time: valid exposure time in seconds Return unsigned int See also DRV_SUCCESS Timing information returned.
FUNCTIONS GetFKVShiftSpeedF unsigned int WINAPI GetFKVShiftSpeedF(int index, float* speed) Description As your Andor system is capable of operating at more than one fast kinetics vertical shift speed this function will return the actual speeds available. The value returned is in microseconds per pixel shift. Parameters int index: speed required Valid values: 0 to GetNumberFKVShiftSpeeds()-1 float* speed: speed in micro-seconds per pixel shift Return See also unsigned int DRV_SUCCESS Speed returned.
FUNCTIONS GetHardwareVersion unsigned int WINAPI GetHardwareVersion(unsigned int* PCB, unsigned int* Decode, unsigned int* dummy1, unsigned int* dummy2, unsigned int* CameraFirmwareVersion, unsigned int* CameraFirmwareBuild) Description This function returns the Hardware version information.
FUNCTIONS GetHorizontalSpeed unsigned int WINAPI GetHorizontalSpeed(int index, int* speed) Description Deprecated see Note: As your Andor system is capable of operating at more than one horizontal shift speed this function will return the actual speeds available. The value returned is in microseconds per pixel shift. Parameters int index: speed required Valid values: 0 to NumberSpeeds-1, where NumberSpeeds is the parameter returned by GetNumberHorizontalSpeeds.
FUNCTIONS GetHSSpeed unsigned int WINAPI GetHSSpeed(int channel, int typ, int index, float* speed) Description As your Andor system is capable of operating at more than one horizontal shift speed this function will return the actual speeds available. The value returned is in MHz. Parameters int channel: the AD channel. int typ: output amplification. Valid values: 0 1 electron multiplication/Conventional(clara). conventional/Extended NIR Mode(clara).
FUNCTIONS GetID unsigned int WINAPI GetID (int devNum, int* id) Description THIS FUNCTION IS RESERVED. GetImageFlip unsigned int WINAPI GetImageFlip(int* iHFlip, int* iVFlip) Description This function will obtain whether the acquired data output is flipped in either the horizontal or vertical direction. Parameters int* iHFlip: Gets horizontal flipping. int* iVFlip: Gets vertical flipping. 1 – Flipping Enabled 0 – Flipping Disabled Return See also unsigned int DRV_SUCCESS All parameters accepted.
FUNCTIONS GetImages unsigned int WINAPI GetImages(long first, long last, at_32* arr, unsigned long size, long* validfirst, long* validlast) Description This function will update the data array with the specified series of images from the circular buffer. If the specified series is out of range (i.e. the images have been overwritten or have not yet been acquired then an error will be returned. Parameters long first: index of first image in buffer to retrieve.
FUNCTIONS GetImages16 unsigned int WINAPI GetImages16(long first, long last, WORD* arr, unsigned long size, long* validfirst, long* validlast) Description 16-bit version of the GetImages function. Parameters long first: index of first image in buffer to retrieve. long last: index of last image in buffer to retrieve. WORD* arr: pointer to data storage allocated by the user. unsigned long size: total number of pixels. long* validfirst: index of the first valid image.
FUNCTIONS GetKeepCleanTime unsigned int WINAPI GetKeepCleanTime(float* KeepCleanTime) Description This function will return the time to perform a keep clean cycle. This function should be used after all the acquisitions settings have been set, e.g. SetExposureTime, SetKineticCycleTime and SetReadMode etc. The value returned is the actual times used in subsequent acquisitions. Parameters float* KeepCleanTime: valid readout time in seconds Return unsigned int DRV_SUCCESS Timing information returned.
FUNCTIONS GetMaximumExposure unsigned int WINAPI GetMaximumExposure (float* MaxExp) Description This function will return the maximum Exposure Time in seconds that is settable by the SetExposureTime function. Parameters Float int* MaxExp: Will contain the Maximum exposure value on return. Return unsigned int See also DRV_SUCCESS Maximum Exposure returned. DRV_P1INVALID Invalid MaxExp value (i.e.
FUNCTIONS GetMCPVoltage unsigned int WINAPI GetMCPVoltage (int* iVoltage) Description This function will retrieve the current Micro Channel Plate voltage. Parameters int* iVoltage: Will contain voltage on return. The unit is in Volts and should be between the range 600 – 1100 Volts. Return unsigned int DRV_SUCCESS Voltage returned. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_NOT_AVAILABLE Not a USB iStar.
FUNCTIONS GetMinimumImageLength unsigned int WINAPI GetMinimumImageLength (int* MinImageLength) Description This function will return the minimum number of pixels that can be read out from the chip at each exposure. This minimum value arises due the way in which the chip is read out and will limit the possible sub image dimensions and binning sizes that can be applied. Parameters int* MinImageLength: Will contain the minimum number of super pixels on return.
FUNCTIONS GetMostRecentColorImage16 unsigned int WINAPI GetMostRecentColorImage16 (unsigned long size, int algorithm, WORD* red, WORD* green, WORD* blue) Description For colour sensors only. Color version of the GetMostRecentImage16 function. The CCD is sensitive to Cyan, Yellow, Magenta and Green (CYMG). The Red, Green and Blue (RGB) are calculated and Data is stored in 3 planes/images, one for each basic color. Parameters unsigned long size: total number of pixels.
FUNCTIONS GetMostRecentImage unsigned int WINAPI GetMostRecentImage(at_32* arr, unsigned long size) Description This function will update the data array with the most recently acquired image in any acquisition mode. The data are returned as long integers (32-bit signed integers). The "array" must be exactly the same size as the complete image. Parameters long* arr: pointer to data storage allocated by the user. unsigned long size: total number of pixels.
FUNCTIONS GetMSTimingsData unsigned int WINAPI GetMSTimingsData(SYSTEMTIME *TimeOfStart ,float *pfDifferences, int inoOfimages) Description THIS FUNCTION IS RESERVED. GetMSTimingsEnabled unsigned int WINAPI GetMSTimingsEnabled(void) Description THIS FUNCTION IS RESERVED. GetNewData unsigned int WINAPI GetNewData(at_32* arr, unsigned long size) Description Deprecated see Note: This function will update the data array to hold data acquired so far.
FUNCTIONS GetNewData16 unsigned int WINAPI GetNewData16(WORD* arr, unsigned long size) Description Deprecated see Note: 16-bit version of the GetNewData function. Parameters WORD* arr: pointer to data storage allocated by the user. unsigned long size: total number of pixels. Return unsigned int DRV_SUCCESS Data copied. DRV_NOT_INITIALIZED System not initialized. DRV_ERROR_ACK Unable to communicate with card. DRV_P1INVALID Invalid pointer (i.e. NULL). DRV_P2INVALID Array size is incorrect.
FUNCTIONS GetNewFloatData unsigned int WINAPI GetNewFloatData(float* arr, unsigned long size) Description THIS FUNCTION IS RESERVED. GetNumberADChannels unsigned int WINAPI GetNumberADChannels(int* channels) Description As your Andor SDK system may be capable of operating with more than one A-D converter, this function will tell you the number available. Parameters int* channels: number of allowed channels Return unsigned int DRV_SUCCESS See also Number of channels returned.
FUNCTIONS GetNumberDevices unsigned int WINAPI GetNumberDevices (int* numDevs) Description THIS FUNCTION IS RESERVED. GetNumberFKVShiftSpeeds unsigned int WINAPI GetNumberFKVShiftSpeeds(int* number) Description As your Andor SDK system is capable of operating at more than one fast kinetics vertical shift speed this function will return the actual number of speeds available. Parameters int* number: number of allowed speeds Return unsigned int See also DRV_SUCCESS Number of speeds returned.
FUNCTIONS GetNumberHSSpeeds unsigned int WINAPI GetNumberHSSpeeds(int channel, int typ, int* speeds) Description As your Andor SDK system is capable of operating at more than one horizontal shift speed this function will return the actual number of speeds available. Parameters int channel: the AD channel. int typ: output amplification. Valid values: 0 1 electron multiplication. conventional.
FUNCTIONS GetNumberPhotonCountingDivisions unsigned int WINAPI GetNumberPhotonCountingDivisions(unsigned long * noOfDivisions) Description Available in some systems is photon counting mode. This function gets the number of photon counting divisions available. The functions SetPhotonCounting and SetPhotonCountingThreshold can be used to specify which of these divisions is to be used.
FUNCTIONS unsigned int WINAPI GetNumberIO(int* iNumber) Description Available in some systems are a number of IO’s that can be configured to be inputs or outputs. This function gets the number of these IO’s available. The functions GetIODirection, GetIOLevel, SetIODirection and SetIOLevel can be used to specify the configuration. Parameters int* iNumber: number of allowed IO’s Return unsigned int See also DRV_SUCCESS Number of IO’s returned. DRV_NOT_INITIALIZED System not initialized.
FUNCTIONS GetNumberVerticalSpeeds unsigned int WINAPI GetNumberVerticalSpeeds(int* number) Description Deprecated see Note: As your Andor system may be capable of operating at more than one vertical shift speed this function will return the actual number of speeds available. Parameters int* number: number of allowed vertical speeds Return unsigned int See also DRV_SUCCESS Number of speeds returned. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress.
FUNCTIONS GetOldestImage unsigned int WINAPI GetOldestImage(at_32* arr, unsigned long size) Description This function will update the data array with the oldest image in the circular buffer. Once the oldest image has been retrieved it no longer is available. The data are returned as long integers (32-bit signed integers). The "array" must be exactly the same size as the full image. Parameters at_32* arr: pointer to data storage allocated by the user. unsigned long size: total number of pixels.
FUNCTIONS GetPhysicalDMAAddress unsigned int WINAPI GetPhysicalDMAAddress (unsigned long* Address1, unsigned long* Address2) Description THIS FUNCTION IS RESERVED. GetPixelSize unsigned int WINAPI GetPixelSize(float* xSize, float* ySize) Description This function returns the dimension of the pixels in the detector in microns. Parameters float* xSize: width of pixel. float* ySize: height of pixel. Return unsigned int DRV_SUCCESS Pixel size returned.
FUNCTIONS GetPreAmpGainText unsigned int WINAPI GetPreAmpGainText (int index , char* name, int len) Description This function will return a string with a pre amp gain description. The pre amp gain is selected using the index. The SDK has a string associated with each of its pre amp gains. The maximum number of characters needed to store the pre amp gain descriptions is 30. The user has to specify the number of characters they wish to have returned to them from this function.
FUNCTIONS GetReadOutTime unsigned int WINAPI GetReadOutTime(float* ReadoutTime) Description This function will return the time to readout data from a sensor. This function should be used after all the acquisitions settings have been set, e.g. SetExposureTime, SetKineticCycleTime and SetReadMode etc. The value returned is the actual times used in subsequent acquisitions. Parameters float* ReadoutTime: valid readout time in seconds Return unsigned int DRV_SUCCESS Timing information returned.
FUNCTIONS GetSensitivity unsigned int WINAPI GetSensitivity(int channel, int index, int amplifier, int pa, float* sensitivity) Description This function returns the sensitivity for a particular speed. Parameters int channel: AD channel index. int amplifier: Type of output amplifier. int index: Channel speed index. int pa: PreAmp gain index. float* sensitivity: requested sensitivity. Return See also unsigned int DRV_SUCCESS Sensitivity returned. DRV_NOT_INITIALIZED System not initialized.
FUNCTIONS GetSizeOfCircularBuffer unsigned int WINAPI GetSizeOfCircularBuffer(long* index) Description This function will return the maximum number of images the circular buffer can store based on the current acquisition settings. Parameters long* index: returns the maximum number of images the circular buffer can store. Return unsigned int DRV_SUCCESS Maximum number of images returned. DRV_NOT_INITIALIZED System not initialized.
FUNCTIONS GetSoftwareVersion unsigned int WINAPI GetSoftwareVersion(unsigned int* eprom, unsigned int* cofFile, unsigned int* vxdRev, unsigned int* vxdVer, unsigned int* dllRev, unsigned int* dllVer) Description This function returns the Software version information for the microprocessor code and the driver.
FUNCTIONS GetStatus unsigned int WINAPI GetStatus(int* status) Description This function will return the current status of the Andor SDK system. This function should be called before an acquisition is started to ensure that it is IDLE and during an acquisition to monitor the process. Parameters int* status: current status DRV_IDLE IDLE waiting on instructions. DRV_TEMPCYCLE Executing temperature cycle. DRV_ACQUIRING Acquisition in progress.
FUNCTIONS GetTemperature unsigned int WINAPI GetTemperature(int* temperature) Description This function returns the temperature of the detector to the nearest degree. It also gives the status of cooling process. Parameters int* temperature: temperature of the detector Return unsigned int See also DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_ERROR_ACK Unable to communicate with card. DRV_TEMP_OFF Temperature is OFF.
FUNCTIONS GetTemperatureRange unsigned int WINAPI GetTemperatureRange(int* mintemp, int* maxtemp) Description This function returns the valid range of temperatures in centigrads to which the detector can be cooled. Parameters int* mintemp: minimum temperature int* maxtemp: maximum temperature Return unsigned int See also DRV_SUCCESS Temperature range returned. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress.
FUNCTIONS GetIODirection unsigned int WINAPI GetIODirection(int index, int* iDirection) Description Available in some systems are a number of IO’s that can be configured to be inputs or outputs. This function gets the current state of a particular IO. Parameters int index: IO index Valid values: 0 toGetNumberIO() - 1 int* iDirection: current direction for this index. 0: Output 1: Input Return See also unsigned int DRV_SUCCESS IO direction returned. DRV_NOT_INITIALIZED System not initialized.
FUNCTIONS GetVersionInfo unsigned int WINAPI GetVersionInfo (AT_VersionInfoId arr, char* szVersionInfo, at_u32 ui32BufferLen) Description This function retrieves version information about different aspects of the Andor system. The information is copied into a passed string buffer. Currently, the version of the SDK and the Device Driver (USB or PCI) is supported.
FUNCTIONS GetVirtualDMAAddress unsigned int WINAPI GetVirtualDMAAddress(void** Address1, void** Address2) Description THIS FUNCTION IS RESERVED. GetVSSpeed unsigned int WINAPI GetVSSpeed(int index, float* speed) Description As your Andor SDK system may be capable of operating at more than one vertical shift speed this function will return the actual speeds available. The value returned is in microseconds.
FUNCTIONS GPIBReceive unsigned int WINAPI GPIBReceive(int id, short address, char* text, int size) Description This function reads data from a device until a byte is received with the EOI line asserted or until size bytes have been read. Parameters int id: The interface board number short address: Address of device to send data char* text: The data to be sent int size: Number of characters to read Return unsigned int DRV_SUCCESS Data received. DRV_P3INVALID Invalid pointer (e.g. NULL).
FUNCTIONS I2CBurstRead unsigned int WINAPI I2CBurstRead(BYTE i2cAddress, long nBytes, BYTE* data) Description This function will read a specified number of bytes from a chosen device attached to the 2 I C data bus. Parameters BYTE i2cAddress: The address of the device to read from. long nBytes: The number of bytes to read from the device. BYTE* data: The data read from the device. Return See also unsigned int DRV_SUCCESS Read successful. DRV_VXDNOTINSTALLED VxD not loaded.
FUNCTIONS I2CRead unsigned int WINAPI I2CRead(BYTE deviceID, BYTE intAddress, BYTE* pdata) Description This function will read a single byte from the chosen device. Parameters BYTE deviceID: The device to read from. BYTE intAddress: The internal address of the device to be read from. BYTE* pdata: The byte read from the device. Return See also unsigned int DRV_SUCCESS Read successful. DRV_VXDNOTINSTALLED VxD not loaded. DRV_INIERROR Unable to load “DETECTOR.INI”. DRV_COFERROR Unable to load “*.
FUNCTIONS I2CWrite unsigned int WINAPI I2CWrite(BYTE deviceID, BYTE intAddress, BYTE data) Description This function will write a single byte to the chosen device. Parameters BYTE deviceID: The device to write to. BYTE intAddress: The internal address of the device to write to. BYTE data: The byte to be written to the device. Return See also unsigned int DRV_SUCCESS Write successful. DRV_VXDNOTINSTALLED VxD not loaded. DRV_INIERROR Unable to load “DETECTOR.INI”. DRV_COFERROR Unable to load “*.
FUNCTIONS Initialize unsigned int WINAPI Initialize(char* dir) Description This function will initialize the Andor SDK System. As part of the initialization procedure on some cameras (i.e. Classic, iStar and earlier iXion) the DLL will need access to a DETECTOR.INI which contains information relating to the detector head, number pixels, readout speeds etc.
FUNCTIONS IsCoolerOn unsigned int WINAPI IsCoolerOn (int* iCoolerStatus) Description This function checks the status of the cooler. Parameters int* iCoolerStatus: 0: Cooler is OFF. 1: Cooler is ON. Return unsigned int See also DRV_SUCCESS Status returned.
FUNCTIONS IsAmplifierAvailable unsigned int WINAPI IsAmplifierAvailable(int iamp) Description This function checks if the hardware and current settings permit the use of the specified amplifier. Parameters int iamp: amplifier to check.
FUNCTIONS IsTriggerModeAvailable unsigned int WINAPI IsTriggerModeAvailable(int iTriggerMode) Description This function checks if the hardware and current settings permit the use of the specified trigger mode. Parameters int iTriggerMode: Trigger mode to check.
FUNCTIONS OA_AddMode unsigned int WINAPI OA_AddMode (char* ModeName, unsigned int ModeNameLen, char * ModeDescription, unsigned int ModeDescriptionLen) Description This function will add a mode name and description to memory. Note that this will not add the mode to file, a subsequent call to OA_WriteToFile must be made. Parameters char* ModeName: A name for the mode to be defined. unsigned int ModeNameLen: Mode name string length. char* modeDescription: A description of the user defined mode.
FUNCTIONS OA_EnableMode unsigned int WINAPI OA_EnableMode (const char* const ModeName) Description This function will set all the parameters associated with the specified mode to be used for all subsequent acquisitions. The mode specified by the user must be in either the Preset file or the User defined file. Parameters const char* const ModeName: The mode to be used for all subsequent acquisitions. Return unsigned int See also DRV_SUCCESS All parameters accepted DRV_P1INVALID Null mode name.
FUNCTIONS OA_GetInt unsigned int WINAPI OA_GetInt (const char* const ModeName, const char* const ModeParam, int* IntValue) Description This function is used to get the values for integer type acquisition parameters. Values are retrieved from memory for the specified mode name. Parameters const char* const ModeName: The name of the mode for which an acquisition parameter will be retrieved. const char* const ModeParam: The name of the acquisition parameter for which a value will be retrieved.
FUNCTIONS OA_GetNumberOfAcqParams unsigned int WINAPI OA_GetNumberOfAcqParams (const char* const ModeName, unsigned int* const NumberOfParams) Description This function will return the parameters associated with a specified mode. The mode must be present in either the Preset file or the User defined file. Parameters const char* const ModeName The mode to search for a list of acquisition parameters. unsigned int* const NumberOfParams: The number of acquisition parameters for the specified mode.
FUNCTIONS OA_GetPreSetModeNames unsigned int WINAPI OA_GetPreSetModeNames (char * ListOfModes) Description This function will return the available mode names from the Preset file. The mode and the Preset file must exist. The user must allocate enough memory for all of the acquisition parameters. Parameters char * ListOfModes: A user allocated array of characters for storage of the mode names. Mode names will be delimited by a ‘,’.
FUNCTIONS OA_GetUserModeNames unsigned int WINAPI OA_GetUserModeNames (char * ListOfModes) Description This function will return the available mode names from a User defined file. The mode and the User defined file must exist. The user must allocate enough memory for all of the acquisition parameters. Parameters char * ListOfModes: A user allocated array of characters for storage of the mode names. Mode names will be delimited by a ‘,’.
FUNCTIONS OA_SetFloat unsigned int WINAPI OA_SetFloat (const char* const ModeName, const char * ModeParam, const float FloatValue) Description This function is used to set values for floating point type acquisition parameters where the new values are stored in memory. To commit changes to file call WriteToFile(). Parameters const char* const ModeName: The name of the mode for which an acquisition parameter will be edited. const char * const ModeParam: The name of the acquisition parameter to be edited.
FUNCTIONS OA_SetString unsigned int WINAPI OA_SetString (const char* const ModeName, const char* ModeParam, char* StringValue, const unsigned int StringLen) Description This function is used to set values for string type acquisition parameters where the new values are stored in memory. To commit changes to file call WriteToFile(). Parameters const char* const ModeName: The name of the mode for which an acquisition parameter is to be edited.
FUNCTIONS OutAuxPort unsigned int WINAPI OutAuxPort(int port, int state) Description This function sets the TTL Auxiliary Output port (P) on the Andor plug-in card to either ON/HIGH or OFF/LOW. Parameters int port: Number of AUX out port on Andor card Valid Values 1 to 4 int state: state to put port in Return See also 0 OFF/LOW all others ON/HIGH unsigned int DRV_SUCCESS AUX port set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress.
FUNCTIONS PrepareAcquisition unsigned int WINAPI PrepareAcquisition(void) Description This function reads the current acquisition setup and allocates and configures any memory that will be used during the acquisition. The function call is not required as it will be called automatically by the StartAcquisition function if it has not already been called externally.
FUNCTIONS PostProcessCountConvert unsigned int WINAPI PostProcessCountConvert(at_32 * InputImage, at_32 * OutputImage, int OutputBufferSize, int NumImages, int Baseline, int Mode, int EmGain, float QE, float Sensitivity, int Height, int Width) Description This function will convert the input image data to either Photons or Electrons based on the mode selected by the user. The input data should be in counts. Parameters at32* InputImage: The input image data to be processed.
FUNCTIONS PostProcessNoiseFilter unsigned int WINAPI PostProcessNoiseFilter(at_32 * InputImage, at_32 * OutputImage, int OutputBufferSize, int Baseline, int Mode, float Threshold, int Height, int Width) Description This function will apply a filter to the input image and return the processed image in the output buffer. The filter applied is chosen by the user by setting Mode to a permitted value. Parameters at32* InputImage: The input image data to be processed.
FUNCTIONS PostProcessPhotonCounting unsigned int WINAPI PostProcessPhotonCounting(at_32 * InputImage, at_32 * OutputImage, int OutputBufferSize, int NumImages, int NumFrames, int NumberOfThresholds, float * Threshold, int Height, int Width) Description This function will convert the input image data to photons and return the processed image in the output buffer. Parameters at32* InputImage: The input image data to be processed. at32* OutputImage: The output buffer to return the processed image.
FUNCTIONS SaveAsBmp unsigned int WINAPI SaveAsBmp(char* path, char* palette, long ymin, long ymax) Description This function saves the last acquisition as a bitmap file, which can be loaded into an imaging package. The palette parameter specifies the location of a .PAL file, which describes the colors to use in the bitmap. This file consists of 256 lines of ASCII text; each line containing three numbers separated by spaces indicating the red, green and blue component of the respective color value.
FUNCTIONS SaveAsCommentedSif unsigned int WINAPI SaveAsCommentedSif(char* path, char* comment) Description This function will save the data from the last acquisition into a file. The comment text will be added to the user text portion of the Sif file. Parameters char* path: pointer to a filename specified by the user. char* comment: comment text to add to the sif file Return See also unsigned int DRV_SUCCESS Data saved. DRV_NOT_INITIALIZED System not initialized.
FUNCTIONS SaveAsFITS unsigned int WINAPI SaveAsFITS (char* szFileTitle, int typ) Description This function saves the last acquisition in the FITS (Flexible Image Transport System) Data Format (*.fits) endorsed by NASA. Parameters char* szFileTitle: the filename to save too. int typ: Valid values: 0 Unsigned 16 1 Unsigned 32 2 Signed 16 3 Signed 32 4 Float Return See also unsigned int DRV_SUCCESS Data successfully saved. DRV_NOT_INITIALIZED System not initialized.
FUNCTIONS SaveAsSif unsigned int WINAPI SaveAsSif(char* path) Description This function will save the data from the last acquisition into a file, which can be read in by the main application. User text can be added to sif files using the SaveAsCommentedSif and SetSifComment functions. Parameters char* path: pointer to a filename specified by the user. Return unsigned int See also DRV_SUCCESS Data saved. DRV_NOT_INITIALIZED System not initialized.
FUNCTIONS SaveAsSPC unsigned int WINAPI SaveAsSPC (char* path) Description This function saves the last acquisition in the GRAMS .spc file format Parameters char* path: the filename to save too. Return unsigned int See also DRV_SUCCESS Data successfully saved. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_ERROR_ACK Unable to communicate with card. DRV_P1INVALID Path invalid. DRV_ERROR_PAGELOCK File too large to be generated in memory.
FUNCTIONS SaveAsTiffEx unsigned int WINAPI SaveAsTiffEx(char* path, char* palette, int position, int typ, int mode) Description This function saves the last acquisition as a tiff file, which can be loaded into an imaging package. This is an extended version of the SaveAsTiff function. The palette parameter specifies the location of a .PAL file, which describes the colors to use in the tiff.
FUNCTIONS SaveEEPROMToFile unsigned int WINAPI SaveEEPROMToFile(char *cFileName) Description THIS FUNCTION IS RESERVED. SaveToClipBoard unsigned int WINAPI SaveToClipBoard(char* palette) Description THIS FUNCTION IS RESERVED. SelectDevice unsigned int WINAPI SelectDevice(int devNum) Description THIS FUNCTION IS RESERVED. SendSoftwareTrigger unsigned int WINAPI SendSoftwareTrigger () Description This function sends an event to the camera to take an acquisition when in Software Trigger mode.
FUNCTIONS SetAccumulationCycleTime unsigned int WINAPI SetAccumulationCycleTime(float time) Description This function will set the accumulation cycle time to the nearest valid value not less than the given value. The actual cycle time used is obtained by GetAcquisitionTimings. Please refer to SECTION 5 – ACQUISITION MODES for further information. Parameters float time: the accumulation cycle time in seconds. Return unsigned int See also DRV_SUCCESS Cycle time accepted.
FUNCTIONS SetAcquisitionMode unsigned int WINAPI SetAcquisitionMode(int mode) Description This function will set the acquisition mode to be used on the next StartAcquisition. Parameters int mode: the acquisition mode. Valid values: Return See also 1 Single Scan 2 Accumulate 3 Kinetics 4 Fast Kinetics 5 Run till abort unsigned int DRV_SUCCESS Acquisition mode set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_P1INVALID Acquisition Mode invalid.
FUNCTIONS SetAdvancedTriggerModeState unsigned int WINAPI SetAdvancedTriggerModeState (int iState) Description This function will set the state for the iCam functionality that some cameras are capable of. There may be some cases where we wish to prevent the software using the new functionality and just do it the way it was previously done. Parameters int iState: 0: turn off iCam 1: Enable iCam.
FUNCTIONS SetBackground unsigned int WINAPI SetBackground(at_32* arr, unsigned long size) Description THIS FUNCTION IS RESERVED. SetBaselineClamp unsigned int WINAPI SetBaselineClamp(int state) Description This function turns on and off the baseline clamp functionality. With this feature enabled the baseline level of each scan in a kinetic series will be more consistent across the sequence.
FUNCTIONS SetCameraStatusEnable unsigned int WINAPI SetCameraStatusEnable(DWORD Enable) Description Use this function to Mask out certain types of acquisition status events. The default is to notify on every type of event but this may cause missed events if different types of event occur very close together. The bits in the mask correspond to the following event types: 0 – Fire pulse down event 1 – Fire pulse up event Set the corresponding bit to 0 to disable the event type and 1 to enable the event type.
FUNCTIONS SetComplexImage unsigned int WINAPI SetComplexImage(int numAreas, int* areas) Description This is a function that allows the setting up of random tracks with more options that the SetRandomTracks function. The minimum number of tracks is 1. The maximum number of tracks is the number of vertical pixels. There is a further limit to the number of tracks that can be set due to memory constraints in the camera. It is not a fixed number but depends upon the combinations of the tracks.
FUNCTIONS SetCoolerMode unsigned int WINAPI SetCoolerMode(int mode) Description This function determines whether the cooler is switched off when the camera is shut down. Parameters int mode: 1 – Temperature is maintained on ShutDown 0 – Returns to ambient temperature on ShutDown Return unsigned int DRV_SUCCESS Parameters set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_P1INVALID State parameter was not zero or one.
FUNCTIONS SetCountConvertMode unsigned int WINAPI SetCountConvertMode(int mode) Description This function configures the Count Convert mode. Parameters int mode: 0 – Data in Counts 1 – Data in Electrons 2 – Data in Photons Return See also unsigned int DRV_SUCCESS Count Convert mode set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_NOT_AVAILABLE Count Convert not available for this camera DRV_P1INVALID Mode parameter was out of range.
FUNCTIONS SetCropMode unsigned int WINAPI SetCropMode (int active, int cropHeight, int reserved) Description This function effectively reduces the height of the CCD by excluding some rows to achieve higher frame rates. This is currently only available on Newton cameras when the selected read mode is Full Vertical Binning. The cropHeight is the number of active rows measured from the bottom of the CCD.
FUNCTIONS SetCurrentCamera unsigned int WINAPI SetCurrentCamera(long cameraHandle) Description When multiple Andor cameras are installed this function allows the user to select which camera is currently active. Once a camera has been selected the other functions can be called as normal but they will only apply to the selected camera. If only 1 camera is installed calling this function is not required since that camera will be selected by default.
FUNCTIONS SetDACOutputScale unsigned int WINAPI SetDACOutputScale(int scale) Description Clara offers 2 configurable precision 16-bit DAC outputs. This function should be used to select the active one. Parameters int scale: 5 or 10 volt DAC range (1/2). Return unsigned int See also DRV_SUCCESS DAC Scale option accepted. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_NOT_AVAILABLE Feature not available DRV_P1INVALID DAC Scale value invalid.
FUNCTIONS SetDataType unsigned int WINAPI SetDataType (int typ) Description THIS FUNCTION IS RESERVED. SetDDGAddress unsigned int WINAPI SetDDGAddress(BYTE t0, BYTE t1, BYTE t2, BYTE t3, BYTE address) Description THIS FUNCTION IS RESERVED. SetDDGGain unsigned int WINAPI SetDDGGain(int gain) Description Deprecated for SetMCPGain. SetDDGGateStep unsigned int WINAPI SetDDGGateStep(double step_Renamed) Description This function will set a constant value for the gate step in a kinetic series.
FUNCTIONS SetDDGInsertionDelay unsigned int WINAPI SetDDGInsertionDelay(int state) Description This function controls the length of the insertion delay. Parameters int state: NORMAL/FAST switch for insertion delay. Valid values: 0 1 Return See also to set normal insertion delay. to set fast insertion delay. unsigned int DRV_SUCCESS Value for delay accepted. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_I2CTIMEOUT I2C command timed out.
FUNCTIONS SetDDGIOC unsigned int WINAPI SetDDGIOC(int state) Description This function activates the integrate on chip (IOC) option. Parameters int integrate: ON/OFF switch for the IOC option. Valid values: 0 to switch IOC OFF. 1 to switch IOC ON. Return unsigned int See also DRV_SUCCESS IOC option accepted. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_I2CTIMEOUT I2C command timed out. DRV_I2CDEVNOTFOUND I2C device not present.
FUNCTIONS SetDDGIOCFrequency unsigned int WINAPI SetDDGIOCFrequency(double frequency) Description This function sets the frequency of the integrate on chip option. It should be called once the conditions of the experiment have been setup in order for correct operation. The frequency should be limited to 5000Hz when Intelligate is activated to prevent damage to the head and 50000Hz otherwise to prevent the gater from overheating.
FUNCTIONS SetDDGIOCNumber unsigned int WINAPI SetDDGIOCNumber(unsigned long numberPulses) Description This function allows the user to limit the number of pulses used in the integrate on chip option at a given frequency. It should be called once the conditions of the experiment have been setup in order for correct operation. Parameters unsigned long numberPulses: the number of integrate on chip pulses triggered within the fire pulse.
FUNCTIONS SetDDGTriggerMode unsigned int WINAPI SetDDGTriggerMode(int mode) Description This function will set the trigger mode of the internal delay generator to either Internal or External Parameters int mode: trigger mode Valid values: Return 0 Internal 1 External unsigned int DRV_SUCCESS Trigger mode set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_ERROR_ACK Unable to communicate with card. DRV_P1INVALID Trigger mode invalid.
FUNCTIONS SetDelayGenerator unsigned int WINAPI SetDelayGenerator(int board, short address, int typ) Description This function sets parameters to control the delay generator through the GPIB card in your computer. Parameters int board: The GPIB board number of the card used to interface with the Delay Generator. short address: The number that allows the GPIB board to identify and send commands to the delay generator. Int typ: The type of your Delay Generator.
FUNCTIONS SetDMAParameters unsigned int WINAPI SetDMAParameters(int MaxImagesPerDMA, float SecondsPerDMA) Description In order to facilitate high image readout rates the controller card may wait for multiple images to be acquired before notifying the SDK that new data is available. Without this facility, there is a chance that hardware interrupts may be lost as the operating system does not have enough time to respond to each interrupt.
FUNCTIONS SetDriverEvent unsigned int WINAPI SetDriverEvent(HANDLE driverEvent) Description This function passes a Win32 Event handle to the SDK via which the the user software can be informed that something has occurred. For example the SDK can “set” the event when an acquisition has completed thus relieving the user code of having to continually pole to check on the status of the acquisition. The event will be “set” under the follow conditions: 1) Acquisition completed or aborted.
FUNCTIONS SetDualExposureMode unsigned int WINAPI SetDualExposureMode(int mode) Description This function turns on and off the option to acquire 2 frames for each external trigger pulse. This mode is only available for certain sensors in run till abort mode, external trigger, full image. Parameters int state: Enables/Disables dual exposure mode 1 – Enable mode 0 – Disable mode Return See also unsigned int DRV_SUCCESS Parameters set. DRV_NOT_INITIALIZED System not initialized.
FUNCTIONS SetEMAdvanced unsigned int WINAPI SetEMAdvanced(int state) Description This function turns on and off access to higher EM gain levels within the SDK. Typically, optimal signal to noise ratio and dynamic range is achieved between x1 to x300 EM Gain. Higher gains of > x300 are recommended for single photon counting only. Before using higher levels, you should ensure that light levels do not exceed the regime of tens of photons per pixel, otherwise accelerated ageing of the sensor can occur.
FUNCTIONS SetEMClockCompensation unsigned int WINAPI SetEMClockCompensation(int EMClockCompensationFlag) Description THIS FUNCTION IS RESERVED. SetEMGainMode unsigned int WINAPI SetEMGainMode(int mode) Description Set the EM Gain mode to one of the following possible settings. Mode 0: The EM Gain is controlled by DAC settings in the range 0-255. Default mode. 1: The EM Gain is controlled by DAC settings in the range 0-4095. 2: Linear mode.
FUNCTIONS SetExposureTime unsigned int WINAPI SetExposureTime(float time) Description This function will set the exposure time to the nearest valid value not less than the given value. The actual exposure time used is obtained by GetAcquisitionTimings. . Please refer to SECTION 5 – ACQUISITION MODES for further information. Parameters float time: the exposure time in seconds. Return unsigned int See also DRV_SUCCESS Exposure time accepted. DRV_NOT_INITIALIZED System not initialized.
FUNCTIONS SetFastKinetics unsigned int WINAPI SetFastKinetics(int exposedRows int seriesLength, float time, int mode, int hbin, int vbin) Description This function will set the parameters to be used when taking a fast kinetics acquisition. Parameters int exposedRows: sub-area height in rows. int seriesLength: number in series. float time: exposure time in seconds. int mode: binning mode (0 – FVB , 4 – Image). int hbin: horizontal binning. int vbin: vertical binning (only used when in image mode).
FUNCTIONS SetFastKineticsEx unsigned int WINAPI SetFastKineticsEx(int exposedRows, int seriesLength, float time, int mode, int hbin, int vbin, int offset) Description This function is the same as SetFastKinetics with the addition of an Offset parameter, which will inform the SDK of the first row to be used. Parameters int exposedRows: sub-area height in rows. int seriesLength: number in series. float time: exposure time in seconds. int mode: binning mode (0 – FVB , 4 – Image).
FUNCTIONS SetFastExtTrigger unsigned int WINAPI SetFastExtTrigger(int mode) Description This function will enable fast external triggering. When fast external triggering is enabled the system will NOT wait until a “Keep Clean” cycle has been completed before accepting the next trigger. This setting will only have an effect if the trigger mode has been set to External via SetTriggerMode.
FUNCTIONS SetFKVShiftSpeed unsigned int WINAPI SetFKVShiftSpeed(int index) Description This function will set the fast kinetics vertical shift speed to one of the possible speeds of the system. It will be used for subsequent acquisitions. Parameters int index: the speed to be used Valid values Return See also 0 to GetNumberFKVShiftSpeeds-1 unsigned int DRV_SUCCESS Fast kinetics vertical shift speed set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress.
FUNCTIONS SetFullImage unsigned int WINAPI SetFullImage(int hbin, int vbin) Description Deprecated see Note: This function will set the horizontal and vertical binning to be used when taking a full resolution image.
FUNCTIONS SetGain unsigned int WINAPI SetGain(int gain) Description Deprecated for SetMCPGain. SetGate unsigned int WINAPI SetGate(float delay, float width, float step_Renamed) Description This function sets the Gater parameters for an ICCD system. The image intensifier of the Andor ICCD acts as a shutter on nanosecond time-scales using a process known as gating. Parameters float delay: Sets the delay(>=0) between the T0 and C outputs on the SRS box to delay nanoseconds.
FUNCTIONS SetGateMode unsigned int WINAPI SetGateMode(int gatemode) Description Allows the user to control the photocathode gating mode. Parameters int gatemode: the gate mode. Valid values: 0 Return See also Fire ANDed with the Gate input. 1 Gating controlled from Fire pulse only. 2 Gating controlled from SMB Gate input only. 3 Gating ON continuously. 4 Gating OFF continuously. 5 Gate using DDG (iStar only). unsigned int DRV_SUCCESS Gating mode accepted.
FUNCTIONS SetHighCapacity unsigned int WINAPI SetHighCapacity(int state) Description This function switches between high sensitivity and high capacity functionality. With high capacity enabled the output amplifier is switched to a mode of operation which reduces the responsivity thus allowing the reading of larger charge packets during binning operations.
FUNCTIONS SetHSSpeed unsigned int WINAPI SetHSSpeed(int typ, int index) Description This function will set the speed at which the pixels are shifted into the output node during the readout phase of an acquisition. Typically your camera will be capable of operating at several horizontal shift speeds. To get the actual speed that an index corresponds to use the GetHSSpeed function. Parameters int typ: output amplification. Valid values: 0 1 electron multiplication/Conventional(clara).
FUNCTIONS SetImage unsigned int WINAPI SetImage(int hbin, int vbin, int hstart, int hend, int vstart, int vend) Description This function will set the horizontal and vertical binning to be used when taking a full resolution image. Parameters int hbin: number of pixels to bin horizontally. int vbin: number of pixels to bin vertically. int hstart: Start column (inclusive). int hend: End column (inclusive). int vstart: Start row (inclusive). int vend: End row (inclusive).
FUNCTIONS SetImageFlip unsigned int WINAPI SetImageFlip(int iHFlip, int iVFlip) Description This function will cause data output from the SDK to be flipped on one or both axes. This flip is not done in the camera, it occurs after the data is retrieved and will increase processing overhead. If flipping could be implemented by the user more efficiently then use of this function is not recomended. E.g writing to file or displaying on screen. Parameters int iHFlip: Sets horizontal flipping.
FUNCTIONS SetImageRotate unsigned int WINAPI SetImageRotate(int iRotate) Description This function will cause data output from the SDK to be rotated on one or both axes. This rotate is not done in the camera, it occurs after the data is retrieved and will increase processing overhead. If the rotation could be implemented by the user more efficiently then use of this function is not recomended. E.g writing to file or displaying on screen.
FUNCTIONS SetIsolatedCropMode unsigned int WINAPI SetIsolatedCropMode(int active, int cropheight, int cropwidth, int vbin, int hbin) Description This function effectively reduces the dimensions of the CCD by excluding some rows or columns to achieve higher throughput. In isolated crop mode iXon, Newton and iKon cameras can operate in either Full Vertical Binning or Imaging read modes. iDus can operate in Full Vertical Binning read mode only.
FUNCTIONS SetKineticCycleTime unsigned int WINAPI SetKineticCycleTime(float time) Description This function will set the kinetic cycle time to the nearest valid value not less than the given value. The actual time used is obtained by GetAcquisitionTimings. . Please refer to SECTION 5 – ACQUISITION MODES for further information. Parameters float time: the kinetic cycle time in seconds. Return unsigned int See also DRV_SUCCESS Cycle time accepted. DRV_NOT_INITIALIZED System not initialized.
FUNCTIONS SetMCPGating unsigned int WINAPI SetMCPGating(int gating) Description This function controls the MCP gating. Parameters int gating: ON/OFF switch for the MCP gating. Valid values: 0 1 Return See also to switch MCP gating OFF. to switch MCP gating ON. unsigned int DRV_SUCCESS Value for gating accepted. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_I2CTIMEOUT I C command timed out. DRV_I2CDEVNOTFOUND I C device not present.
FUNCTIONS SetMultiTrack unsigned int WINAPI SetMultiTrack(int number, int height, int offset, int* bottom, int *gap) Description This function will set the multi-Track parameters. The tracks are automatically spread evenly over the detector. Validation of the parameters is carried out in the following order: • Number of tracks, • Track height • Offset. The first pixels row of the first track is returned via ‘bottom’. The number of rows between each track is returned via ‘gap’.
FUNCTIONS SetMultiTrackHBin unsigned int WINAPI SetMultiTrackHBin(int bin) Description This function sets the horizontal binning used when acquiring in Multi-Track read mode. Parameters int bin: Binning size. Return unsigned int See also DRV_SUCCESS Binning set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_P1INVALID Invalid binning size.
FUNCTIONS SetNextAddress unsigned int WINAPI SetNextAddress(at_32* data, long lowAdd, long highAdd, long len, long physical) Description THIS FUNCTION IS RESERVED. SetNextAddress16 unsigned int WINAPI SetNextAddress16(at_32* data, long lowAdd, long highAdd, long len, long physical) Description THIS FUNCTION IS RESERVED. SetNumberAccumulations unsigned int WINAPI SetNumberAccumulations(int number) Description This function will set the number of scans accumulated in memory.
FUNCTIONS SetNumberPrescans unsigned int WINAPI SetNumberPrescans(int iNumber) Description This function will set the number of scans acquired before data is to be retrieved. This will only take effect if the acquisition mode is Kinetic Series. Parameters int iNumber: number of scans to ignore Return unsigned int See also DRV_SUCCESS Prescans set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_P1INVALID Number of prescans invalid.
FUNCTIONS SetOverlapMode unsigned int WINAPI SetOverlapMode (int mode) Description This function will set whether an acquisition will readout in Overlap Mode. If the acquisition mode is Single Scan or Fast Kinetics this call will have no affect. Parameters int mode: mode 0 OFF 1 ON Return See also unsigned int DRV_SUCCESS Overlap mode set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_P1INVALID Invalid parameter.
FUNCTIONS SetPCIMode unsigned int WINAPI SetPCIMode(int mode, int value) Description With the CCI23 card, events can be sent when the camera is starting to expose and when it has finished exposing. This function will control whether those events happen or not. Parameters int mode: currently must be set to 1 int value: 0 to disable the events, 1 to enable Return unsigned int DRV_SUCCESS Acquisition mode set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress.
FUNCTIONS SetPhotonCounting unsigned int WINAPI SetPhotonCounting(int state) Description This function activates the photon counting option. Parameters int state: ON/OFF switch for the photon counting option. Valid values: 0 1 Return See also to switch photon counting OFF. to switch photon counting ON. unsigned int DRV_SUCCESS photon counting option accepted. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_ERROR_ACK Unable to communicate with card.
FUNCTIONS See also DRV_ACQUIRING Acquisition in progress. DRV_ERROR_ACK Unable to communicate with card. SetPhotonCounting SetPixelMode unsigned int WINAPI SetPixelMode (int bitdepth, int colormode) Description THIS FUNCTION IS RESERVED.
FUNCTIONS SetPreAmpGain unsigned int WINAPI SetPreAmpGain(int index) Description This function will set the pre amp gain to be used for subsequent acquisitions. The actual gain factor that will be applied can be found through a call to the GetPreAmpGain function. The number of Pre Amp Gains available is found by calling the GetNumberPreAmpGains function. Parameters int index: index pre amp gain table Valid values Return See also 0 to GetNumberPreAmpGains-1 unsigned int DRV_SUCCESS Pre amp gain set.
FUNCTIONS SetRandomTracks unsigned int WINAPI SetRandomTracks(int numTracks, int* areas) Description This function will set the Random-Track parameters. The positions of the tracks are validated to ensure that the tracks are in increasing order and do not overlap. The horizontal binning is set via the SetCustomTrackHBin function. The vertical binning is set to the height of each track. Some cameras need to have at least 1 row in between specified tracks.
FUNCTIONS SetReadMode unsigned int WINAPI SetReadMode(int mode) Description This function will set the readout mode to be used on the subsequent acquisitions. Parameters int mode: readout mode Valid values: 0 Return See also Full Vertical Binning 1 Multi-Track 2 Random-Track 3 Single-Track 4 Image unsigned int DRV_SUCCESS Readout mode set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_P1INVALID Invalid readout mode passed.
FUNCTIONS SetRingExposureTimes unsigned int WINAPI SetRingExposureTimes(int numTimes, float* times) Description This function will send up an array of exposure times to the camera if the hardware supports the feature. See GetCapabilities. Each acquisition will then use the next exposure in the ring looping round to the start again when the end is reached. There can be a maximum of 16 exposures.
FUNCTIONS SetSaturationEvent unsigned int WINAPI SetSaturationEvent(HANDLE saturationEvent) Description This is only supported with the CCI-23 PCI card. USB cameras do not have this feature. This function passes a Win32 Event handle to the driver via which the driver can inform the main software that an acquisition has saturated the sensor to a potentially damaging level. You must reset the event after it has been handled in order to receive additional triggers.
FUNCTIONS SetShutter unsigned int WINAPI SetShutter(int typ, int mode, int closingtime, int openingtime) Description This function controls the behaviour of the shutter. The typ parameter allows the user to control the TTL signal output to an external shutter. The mode parameter configures whether the shutter opens & closes automatically (controlled by the camera) or is permanently open or permanently closed.
FUNCTIONS SetShutterEx unsigned int WINAPI SetShutterEx(int typ, int mode, int closingtime, int openingtime, int extmode) Description This function expands the control offered by SetShutter to allow an external shutter and internal shutter to be controlled independently (only available on some cameras – please consult your Camera User Guide). The typ parameter allows the user to control the TTL signal output to an external shutter.
FUNCTIONS no independent shutter control (capability AC_FEATURES_SHUTTEREX), the external shutter will always behave like the internal shutter and the externalMode parameter is meaningless. SetShutters unsigned int WINAPI SetShutters(int typ, int mode, int closingtime, int openingtime, int exttype, int extmode, int dummy1, int dummy2) Description THIS FUNCTION IS RESERVED.
FUNCTIONS SetSingleTrackHBin unsigned int WINAPI SetSingleTrackHBin(int bin) Description This function sets the horizontal binning used when acquiring in Single Track read mode. Parameters Int bin: Binning size. Return unsigned int See also DRV_SUCCESS Binning set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_P1INVALID Invalid binning size.
FUNCTIONS SetSpool unsigned int WINAPI SetSpool(int active, int method, char* path, int framebuffersize) Description This function will enable and disable the spooling of acquired data to the hard disk or to the RAM. With spooling method 0, each scan in the series will be saved to a separate file composed of a sequence of 32-bit integers. With spooling method 1 the type of data in the output files depends on what type of acquisition is taking place (see below).
FUNCTIONS required rate. Return See also unsigned int DRV_SUCCESS Parameters set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. GetSpoolProgress SetSpoolThreadCount unsigned int WINAPI SetSpoolThreadCount(int count) Description This function sets the number of parallel threads used for writing data to disk when spooling is enabled.
FUNCTIONS See also CoolerOFF, CoolerON, GetTemperature, GetTemperatureF, GetTemperatureRange NOTE: Not available on Luca R cameras – automatically cooled to -20.
FUNCTIONS SetTriggerInvert unsigned int WINAPI SetTriggerInvert(int mode) Description This function will set whether an acquisition will be triggered on a rising or falling edge external trigger. Parameters int mode: trigger mode Valid values: Return See also 0. Rising Edge 1. Falling Edge unsigned int DRV_SUCCESS Trigger mode set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_P1INVALID Trigger mode invalid. DRV_NOT_AVAILABLE Feature not available.
FUNCTIONS SetIODirection unsigned int WINAPI SetIODirection(int index, int iDirection) Description Available in some systems are a number of IO’s that can be configured to be inputs or outputs. This function sets the current state of a particular IO. Parameters int index: IO index Valid values: 0 to GetNumberIO() - 1 int iDirection: requested direction for this index. 0: Output 1: Input Return See also unsigned int DRV_SUCCESS IO direction set. DRV_NOT_INITIALIZED System not initialized.
FUNCTIONS SetUserEvent unsigned int WINAPI SetUserEvent(HANDLE userEvent) Description THIS FUNCTION IS RESERVED. SetVerticalRowBuffer unsigned int WINAPI SetVerticalRowBuffer(int rows) Description THIS FUNCTION IS RESERVED.
FUNCTIONS SetVerticalSpeed unsigned int WINAPI SetVerticalSpeed(int index) Description Deprecated see Note: This function will set the vertical speed to be used for subsequent acquisitions Parameters int index: index into the vertical speed table Valid values Return See also 0 to GetNumberVerticalSpeeds-1 unsigned int DRV_SUCCESS Vertical speed set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_P1INVALID Index out of range.
FUNCTIONS SetVSAmplitude unsigned int WINAPI SetVSAmplitude(int state) Description If you choose a high readout speed (a low readout time), then you should also consider increasing the amplitude of the Vertical Clock Voltage. There are five levels of amplitude available for you to choose from: • Normal • +1 • +2 • +3 • +4 Exercise caution when increasing the amplitude of the vertical clock voltage, since higher clocking voltages may result in increased clock-induced charge (noise) in your signal.
FUNCTIONS SetVSSpeed unsigned int WINAPI SetVSSpeed(int index) Description This function will set the vertical speed to be used for subsequent acquisitions Parameters int index: index into the vertical speed table Valid values Return See also 0 to GetNumberVSSpeeds-1 unsigned int DRV_SUCCESS Vertical speed set. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_P1INVALID Index out of range.
FUNCTIONS StartAcquisition unsigned int WINAPI StartAcquisition(void) Description This function starts an acquisition. The status of the acquisition can be monitored via GetStatus(). Parameters NONE Return unsigned int See also DRV_SUCCESS Acquisition started. DRV_NOT_INITIALIZED System not initialized. DRV_ACQUIRING Acquisition in progress. DRV_VXDNOTINSTALLED VxD not loaded. DRV_ERROR_ACK Unable to communicate with card. DRV_INIERROR Error reading “DETECTOR.INI”.
FUNCTIONS UnMapPhysicalAddress unsigned int WINAPI UnMapPhysicalAddress(void) Description THIS FUNCTION IS RESERVED.
FUNCTIONS WaitForAcquisition unsigned int WINAPI WaitForAcquisition(void) Description WaitForAcquisition can be called after an acquisition is started using StartAcquisition to put the calling thread to sleep until an Acquisition Event occurs. This can be used as a simple alternative to the functionality provided by the SetDriverEvent function, as all Event creation and handling is performed internally by the SDK library.
FUNCTIONS DRV_NO_NEW_DATA See also Non-Acquisition Event occurred.(eg CancelWait () called) CancelWait, GetCameraHandle, StartAcquisition, WaitForAcquisition, WaitForAcquisitionTimeOut, WaitForAcquisitionByHandleTimeOut.
FUNCTIONS WaitForAcquisitionByHandleTimeOut unsigned int WINAPI WaitForAcquisitionByHandleTimeOut (long cameraHandle, int iTimeOutMs) Description Whilst using multiple cameras WaitForAcquisitionByHandle can be called after an acquisition is started using StartAcquisition to put the calling thread to sleep until an Acquisition Event occurs.
FUNCTIONS WaitForAcquisitionTimeOut unsigned int WINAPI WaitForAcquisitionTimeOut (int iTimeOutMs) Description WaitForAcquisitionTimeOut can be called after an acquisition is started using StartAcquisition to put the calling thread to sleep until an Acquisition Event occurs. This can be used as a simple alternative to the functionality provided by the SetDriverEvent function, as all Event creation and handling is performed internally by the SDK library.
FUNCTIONS WhiteBalance unsigned int WINAPI WhiteBalance (WORD* wRed, WORD* wGreen, WORD* wBlue, float * fRelR, float * fRelB, WhiteBalanceInfo * info) Description For colour sensors only Calculates the red and blue relative to green factors to white balance a colour image using the parameters stored in info. Before passing the address of an WhiteBalanceInfo structure to the function the iSize member of the structure should be set to the size of the structure.
ERROR CODES SECTION 12 - ERROR CODES CODE ERROR CODE ERROR DRV_ERROR_CODES 20001 DRV_P1INVALID 20066 DRV_SUCCESS 20002 DRV_P2INVALID 20067 DRV_VXDNOTINSTALLED 20003 DRV_P3INVALID 20068 DRV_ERROR_SCAN 20004 DRV_P4INVALID 20069 DRV_ERROR_CHECK_SUM 20005 DRV_INIERROR 20070 DRV_ERROR_FILELOAD 20006 DRV_COFERROR 20071 DRV_UNKNOWN_FUNCTION 20007 DRV_ACQUIRING 20072 DRV_ERROR_VXD_INIT 20008 DRV_IDLE 20073 DRV_ERROR_ADDRESS 20009 DRV_TEMPCYCLE 20074 DRV_ERROR_PAGELOCK 20010
DETECTOR.INI SECTION 13 - DETECTOR.INI DETECTOR.INI EXPLAINED All systems shipped from Andor contain a configuration file called "Detector.ini". This file is used to configure both the Andor software and hardware for the system. It contains information regarding the CCD chip, A/Ds and cooling capabilities. The file contains four sections. The start of each section is denoted by [name], where name is the name of the section. The following two sections are common to all detector.
DETECTOR.INI [SYSTEM] This section has 3 entries that describe the controller, head models and the mode for operation. Each entry is described in more detail below: • Controller: gives the section name where the controller (plug-in card) details can be found. Further details on this section are given below. • Head: gives the section name where the detector head details can be found. Further details on this section are given below. • Operation: this item related to the overall system type, i.e.
DETECTOR.INI [COOLING] This section does not contain a fixed number of entries. However, each entry has the same basic structure and purpose. The purpose being to tell the software the range of temperatures to offer the user and the range of temperature over which the system can measure.
DETECTOR.INI [DETECTOR] This section details the detector head. It is the most complex section in the file and contains 10 or more items. Format Format = x,y Gives the active pixel dimensions as x, y. x is the number of pixels along the readout register axis. y is the number of pixel perpendicular to the readout axis. DummyPixels DummyPixels = a, b, c, d Gives the number of columns and row that are present on the device but do not respond to light.
DETECTOR.INI DummyHShiftSpeed DummyHShiftSpeed = a, b, c, d, e This lists the speeds, in microseconds, at which the charge can be moved in the shift register. These speeds are used when the charge been shifted in the amplifier does not need to be digitized. This allows faster keep clean cycles and faster readout when pixel skipping is implemented.
DETECTOR.INI FlexFile FlexFile = filename.ext This gives the file name of the logic uploaded to the Field Programmable Gate Array on the plug-in card. (This field is only used by the PCI version of the system.) This field is typically PCI_FPGA.RBF for standard 2 systems and PCIIFPGA.RBF for I C compatible cards. Cooling Cooling = type This gives the type of cooling. The type relates back to the cooling section.
DETECTOR.INI EMCCDRegisterSize EMCCDRegisterSize = a This specifies the length on the electron multiplying register in L3 Vision CCD iStar iStar = a This specifies whether the system is an iStar or a standard ICCD 0 = Standard ICCD 1 = iStar SlowVerticalSpeedFactor SlowVerticalSpeedFactor = a This specifies the factor by which the vertical shifted has been slowed. This is used for those CCD’s that are not capable at running at 16us. The only possible value is 7.
DETECTOR.INI AD2DumpHSSpeed AD2DumpHSSpeed = default, min, max This is similar to AD2DataHSSpeed but specifies the readout speeds available when performing a dump (i.e. discarding) of data from the CCD. AD2BinHSSpeed AD2BinHSSpeed = default, min, max This is similar to AD2DataHSSpeed but specifies the readout speeds available when binning (i.e. summing values from blocks of neighbouring pixels) data from the CCD.
DETECTOR.INI Pixel=25.0,25.0 Cooling=Vacuum FKVerticalShiftSpeed=16.0e-6 DV437 [DV437] Format=512,512 DummyPixels=24,24,16,528 DataHShiftSpeed=16,1,2,16,32 DataVShiftSpeed=16,16,0,0,0 DummyHShiftSpeed=16,1,2,16,32 DummyVShiftSpeed=16,16,0,0,0 VerticalHorizontalTime=16,16,0,0,0 Pixel=13.0,13.0 Cooling=Vacuum CodeFile=pci_29k.cof FlexFile=pci_fpga.
DETECTOR.INI [CONTROLLER] This section details the controller card. ReadOutSpeeds ReadOutSpeeds = a,b,c,dLists the readout speeds available on the specified plug-in card. These values are used in conjunction with the values specified in the head section to generate the final list of available speeds. PipeLine PipeLine=a,b,c,d,e,f,g,h This lists the pipeline depth that must be used the microprocessor to synchronize the reading of the AD with the digitization process.