Home

USER`S GUIDE TO:

image

Contents

1. SECTION 11 Page 195 ANDOR FUNCTIONS SetNumberPrescans unsigned int WINAPI SetNumberPrescans int number Description Parameters Return See also 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 int number number of scans to ignore unsigned int DRV_SUCCESS Prescans set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Number of prescans invalid GetAcquisitionTimings SetAcquisitionMode SetKineticCycleTime SetNumberKinetics SetOutputAmplifier unsigned int WINAPI SetOutputAmplifier int type Description Parameters Return Some EMCCD systems have the capability to use a second output amplifier This function will set the type of output amplifier to be used when reading data from the head for these systems int type the type of output amplifier 0 Standard EMCCD gain register default 1 Conventional CCD register unsigned int DRV_SUCCESS Series length set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Output amplifier type invalid NOTE Available in iXon amp Newton SECTION 11 Page 196 ANDOR haa FUNCTIONS SetPCIMode unsigned int WINAPI SetPCIMode int mode int value Description With the CCI23 card events can be sent when the camera is startin
2. e Improved noise performance on DZ936 cameras at 3 and 5MHz horizontal readout speeds Bug fixes e None Version 2 81 30003 1 New features e None Bug fixes e Fixed some documentation errors in LabVIEW context help e Fixed Shamrock close and re initialisation in C interface of Shamrock SDK e Fixed Shamrock close operation in LabVIEW Version 2 81 30002 0 New features e None Bug fixes e Fixed cooling issue on Fibre Optic systems e Fixed hot column issue on iXon DU888 cameras e Fixed crash in External Trigger on Newton e Fixed DLL error on Windows Install program SECTION 1 Page 11 ANDOR o TECHNOLOGY INTRODUCTION Version 2 81 New features Improved shutdown in Linux during abnormal termination Ctrl C etc signal handlers added CCI 24 support added to Linux SDK Bug fixes Removed Linux Device Driver compilation warnings for Kernel 2 6 23 and above Crash could occur if GetAcquiredData was called before PrepareAcquisition or StartAcquisition SetDriverEvent causes crash when called when system not initialized GetlmagesPerDMA did not return correct value unless PrepareAcquisition has been called Timings incorrect for Frame Transfer in iCam mode GetMostRecentlmage 16 now returns correct data when used in Accumulate acquisition mode Fixed crash that would occur if GetNumberAvailablelmages called before acquisition started Acquisitions now complete correctly if camera is rein
3. ANDOR FUNCTIONS SaveAsTiffEx unsigned int WINAPI SaveAsTiffEx char path char palette long position long type long mode Description Parameters Return See also 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 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 The parameter position can be changed to export different scans in a kinetic series If the acquisition is any other mode position should be set to 1 The parameter type can be set to 0 1 or 2 which correspond to 8 bit 16 bit and color respectively The mode parameter specifies the mode of output Data can be output scaled from the min and max count values across the entire range of values mode 0 or can remain unchanged mode 1 Of course if the count value is higher or lower than the output data range then even in mode 1 data will be scaled char path The filename of the tiff char palette The filename of a palette file PAL for applying color to the tiff long position The number in the series should be 1 for a single scan long type The type of tiff file to create long mode The output mode unsigned i
4. SetHSSpeed unsigned int WINAPI SetHSSpeed int type 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 type output amplification Valid values 0 electron multiplication 1 conventional int index the horizontal speed to be used Valid values 0 to GetNumberHSSpeeds 1 Return unsigned int DRV_SUCCESS Horizontal speed set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Mode is invalid DRV_P2INVALID Index is out off range See also GetNumberHSSpeeds GetHSSpeed GetNumberAmp SECTION 11 Page 186 ANDOR Sena FUNCTIONS Setimage unsigned int WINAPI Setlmage 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 Return unsigned int DRV_SUCCESS All parameters accepted DRV_NOT_INITIALIZED System not initialized DRV_ACQU
5. 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 Ability to change exposure times during acquisition without aborting the run 4 External Level Exposure Bulb Trigger These enhanced features are particular useful in situations where you need to acquire data at a fast rate but not at some predefined rate or when you need to change the exposure time between successive scans A good example would be calcium imaging where you need to take 2 images at different wavelengths with possibly different light levels With this new mode of operation you would set the experiment up as follows 1 Configure the camera to acquire an image SetReadMode Setlmage SetFrameTransferMode 2 Select Run till abort mode SetAcquisitionMode w Select Software trigger SetTriggerMode 10 Confirm with IsTriggerModeAvailable 10 Set exposure time SetExposureTime or SetRingExposureTimes Move filter to first position Start acquisition StartAcquisition N Do a Ff Send software Trigger SendSoftwareTriqger Wait for an acquisition event See SetDriverEvent o Move F
6. A new directory named andor is created To install the SDK run the script install_andor from the andor directory See the INSTALL file located in the same directory for further information SECTION 2 Page 20 ANDOR ea 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 e Check that the device driver is loaded Type sbin 1smod andordrvlx should be listed For USB e Check that libUSB is available whereis libusb e Check that the Andor device is listed in the proc bus usb devices file e Check that the relevant device under proc bus usb 00X 0O0yY has write access for all users SECTION 2 Page 21 AN DOR T EEN 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 EEV 30 11 CCD chip have 1024 X 256 pixels where each pixel is 26m 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 We refer to these binning patterns as Readout Modes Andor has several different readout modes as follows e Full Vertical Binning
7. Capability AC_READMODE_MULTITRACK Description Multi Track Read Mode available using SetReadMode Bit 4 State 1 Capability AC_READMODE_RANDOMTRACK Description Random Track Read Mode available using SetReadMode Bit 5 State 1 SECTION 11 Page 91 ANDOR Pan 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 Bit 2 State 1 Capability AC_TRIGGERMODE_CONTINUOUS Description Continuous Trigger Mode available using SetTriggerMode Bit 3 State 1 Capability AC_TRIGGERMODE_EXTERNALSTART Description External Start Trigger Mode available using SetTriggerMode Bit 4 State 1 Capability AC_TRIGGERMODE_BULB Description Bulb Trigger Mode available using SetTriggerMode Bit 5 State 1 Note This capability is deprecated by AC_TRIGGERMODE_EXTERNALEXPOSURE Capability AC_TRIGGERMODE_EXTERNALEXPOSURE Description External Exposure Trigger Mode available using SetTriggerMode Bit 5 State 1 SECTION 11 Page 92 ANDOR FUNCTIONS Camera Type AndorCapabilities Member
8. unsigned int DRV_SUCCESS Spool progress returned DRV_NOT_INITIALIZED System not initialized SetSpool NOTE Deprecated by GetTotalNumberlmagesAcquired SECTION 11 Page 135 ANDOR oe TECHNOLOGY 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 DRV_ACCUM_TIME_NOT_MET Unable to meet Accumulate cycle time DRV_KINETIC_TIME_NOT_MET Unable to meet Kinetic cycle time DRV_ERROR_ACK Unable to communicate with card DRV_ACQ_BUFFER Computer unable to read the data via the ISA slot at the required rate DRV_SPOOLERROR Overflow of the spool buffer Return unsigned int DRV_SUCCESS Status returned DRV_NOT_INITIALIZED System not initialized See also SetTemperature StartAcquisition NOTE If the status is one of the following e DRV_ACCUM_TIME_NOT_MET e DRV_KINETIC_TIME_NOT_MET e DRV_ERROR_ACK e DRV_ACQ_BUFFER then the current acquisition will be aborted automatically SECTION 11 Page 136 ANDOR oe TECHNOLOGY FUNCTIONS GetTemperature unsigned int WINAPI GetTemperature int temperature Description
9. FUNCTIONS SetFastKineticsEx unsigned int WINAPI SetFastKineticsEx int height int series float exptime 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 height sub area height in rows int series number in series float exptime 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 Int offset offset of first row to be used in Fast Kinetics from the bottom of the CCD Return unsigned int DRV_SUCCESS DRV_NOT_INITIALIZED DRV_ACQUIRING DRV_P1INVALID DRV_P2INVALID DRV_P3INVALID DRV_P4INVALID DRV_PSINVALID DRV_P6INVALID DRV_P7INVALID All parameters accepted System not initialized Acquisition in progress Invalid height Invalid number in series Exposure time must be greater than 0 Mode must be equal to 0 or 4 Horizontal binning Vertical binning Offset not within CCD limits See also SetFKVShiftSpeed SetFastKinetics NOTE For classic cameras the offset must be 0 and the vertical and horizontal binning must be 1 For iDus it is recommended that you set horizontal binning to 1 SECTION 11 Page 179 ANDOR FUNCTIONS SetFastExtTrigger unsigned int WINAPI SetFastExtTrigger int mode Description Par
10. Get ees ae 40 Acqusition 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 At this point the user may choose to capture a new acquisition or not 11 Yes capture a new scan The user may decide to alter the acquisition set up e g change the exposure time or simply use the current parameters S D K SECTION 10 Page 72 ANDOR eS EXAMPLES from 11 12 CoolerOFF ae GetTemperature i i NO A i i i Has temperature risen sufficiently m 15 ShutDown 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 The current temperature is periodically monitored to check if the temperature has risen to a sufficiently high va
11. USER S GUIDE TO ANDOR SDK www andor com Andor plc 2008 Software Version 2 82 ANDOR oe TECHNOLOGY TABLE OF CONTENTS SECTION 1 INTRODUCTION TECHNICAL SUPPORT SOFTWARE IMPROVEMENTS AND ADDITIONAL FEATURES SECTION 2 SOFTWARE INSTALLATIONS PC requirements SDK WINDOWS INSTALLATION Windows Troubleshooting SDK LINUX INSTALLATION Linux Troubleshooting SECTION 3 READOUT MODES INTRODUCTION Full Vertical Binning Single Track Multi Track Random track Image Cropped SECTION 4 ACQUISITION MODES ACQUISITION MODE TYPES Single Scan Accumulate Kinetic Series Run Till Abort Fast Kinetics Frame Transfer SECTION 5 TRIGGERING TRIGGER MODES Internal External External Start External Exposure Software SECTION 6 SHIFT SPEEDS SECTION 7 SHUTTER CONTROL Page 2 PAGE 17 19 20 21 52 TABLE OF CONTENTS ANDOR TABLE OF CONTENTS SHUTTER MODES Fully Auto Hold Open Hold Closed SHUTTER TYPE SHUTTER TRANSFER TIME SECTION 8 TEMPERATURE CONTROL SECTION 9 SPECIAL GUIDES CONTROLLING MULTIPLE CAMERAS USING MULTIPLE CAMERA FUNCTIONS DATA RETRIEVAL METHODS How to determine when new data is available Retrieving Image Data DETERMINING CAMERA CAPABILITIES Retrieving capabilities from the camera Other Capabilities iCam SECTION 10 EXAMPLES INTRODUCTION RUNNING THE EXAMPLES C LabVIEW Visual Basic FLOW CHART OF THE FUNCTION CALLS NEEDE
12. unsigned int WINAPI SetlmageRotate int iRotate Description Parameters Return See also 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 int iRotate Rotation setting 0 No rotation 1 Rotate 90 degrees clockwise 2 Rotate 90 degrees anti clockwise If this function is used in conjunction with the SetlmageFlip function the rotation will occur before the flip regardless of which order the functions are called 180 degree rotation can be achieved using the SetlmageFlip function by selecting both horizontal and vertical flipping unsigned int DRV_SUCCESS All parameters accepted DRV_NOT_INITIALIZED System not initialized DRV_P1INVALID Rotate parameter invalid SetlmageFlip SECTION 11 Page 189 ANDOR oe TECHNOLOGY FUNCTIONS SetlsolatedCropMode unsigned int WINAPI SetlsolatedCropMode int active int cropheight int cropwidth int vbin int hbin Description Parameters Return See also 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
13. DRV_IDLE 20073 DRV_TEMPCYCLE 20074 DRV_NOT_INITIALIZED 20075 DRV_PSINVALID 20076 DRV_P6INVALID 20077 DRV_INVALID_MODE 20078 DRV_INVALID_FILTER 20079 DRV_I2CERRORS 20080 DRV_DRV_IZCDEVNOTFOUND 20081 DRV_I2CTIMEOUT 20082 DRV_P7INVALID 20083 DRV_USBERROR 20089 DRV_IOCERROR 20090 DRV_NOT_SUPPORTED 20091 DRV_USB_INTERRUPT_ENDPOINT_ERROR 20093 DRV_RANDOM_TRACK_ERROR 20094 DRV_INVALID_TRIGGER_MODE 20095 DRV_LOAD_FIRMWARE_ERROR 20096 DRV_DIVIDE_BY_ZERO_ERROR 20097 DRV_INVALID_RINGEXPOSURES 20098 DRV_BINNING_ERROR 20099 DRV_ERROR_NOCAMERA 20990 DRV_NOT_SUPPORTED 20991 DRV_NOT_AVAILABLE 20992 DRV_ERROR_MAP 20115 DRV_ERROR_UNMAP 20116 DRV_ERROR_MDL 20117 DRV_ERROR_UNMDL 20118 DRV_ERROR_BUFFSIZE 20119 DRV_ERROR_NOHANDLE 20121 DRV_GATING_NOT_AVAILABLE 20130 DRV_FPGA_VOLTAGE_ERROR 20131 SECTION 12 Page 222 ANDOR ea 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 ini files e System e Cooling The names of the remaining sections are given by entries in the System section SECTION 13 Page 2
14. DRV_P1INVALID Invalid channel DRV_P2INVALID Invalid horizontal read mode GetHSSpeed SetHSSpeed GetNumberNewlmages unsigned int WINAPI GetNumberNewlmages long first long last Description Parameters Return See also This function will return information on the number of new images i e images which have not yet been retrieved in the circular buffer This information can be used with Getlmages to retrieve a series of the latest images If any images are overwritten in the circular buffer they can no longer be retrieved and the information returned will treat overwritten images as having been retrieved long first returns the index of the first available image in the circular buffer long last returns the index of the last available image in the circular buffer unsigned int DRV_SUCCESS Number of acquired images returned DRV_NOT_INITIALIZED System not initialized DRV_ERROR_ACK Unable to communicate with card DRV_NO_NEW_DATA There is no new data yet Getlmages Getlmages16 GetNumberAvailablelmages Note This index will increment as soon as a single accumulation has been completed within the current acquisition SECTION 11 Page 128 ANDOR FUNCTIONS GetNumberPreAmpGains unsigned int WINAPI GetNumberPreAmpGains int number Description Parameters Return See also Available in some systems are a number of pre amp gains that can be applied to the data as it is read out This
15. Frame Transfer CCD SECTION 4 Page 37 ANDOR ea ACQUISITION MODES Figure 8 takes you through the capture sequence for an FT CCD Continuously Clean 2 ccD Keep Clean Cycle lt lt lt ee Step 2 Step 3 A mM Ce mo oe lt Step 4 Step 5 Step 6 Step 1 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 This allows the image photoelectric charge to build up in the Image area of the CCD The CCD remains in this state until the exposure time has elapsed at which point the readout process starts Step 3 In this step the charge built up in the Image area is quickly shifted into the Storage area The time required to move the charge into the storage area is calculated as follows No of Rows in the Image Area x Vertical Shift Rate Once the Image area has been shifted into the storage area the Image area stops vertically shifting and begins to accumulate charge again i e the next exposure starts Step 4 While the Image area is accumulating charge the Storage area is being read out This readout phase can take tens of milliseconds to seconds depend
16. 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 Bit 2 State 1 Capability AC_READMODE_FVB Description Full Vertical Binning Read Mode available using SetReadMode Bit 3 State 1 Capability AC_READMODE_MULTITRACK Description Multi Track Read Mode available using SetReadMode Bit 4 State 1 Capability AC_READMODE_RANDOMTRACK Description Random Track Read Mode available using SetReadMode Bit 5 State 1 SECTION 11 Page 90 ANDOR Pan 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 Bit 2 State 1 Capability AC_READMODE_FVB Description Full Vertical Binning Read Mode available using SetReadMode Bit 3 State 1
17. NOTES 1 The total number of images acquired during the acquisition can be obtained at any time by calling the GetTotalNumberlmagesAcquired function The data acquired during the acquisition will be stored in the circular buffer until it is overwritten by new scans The capacity of the circular buffer can be obtained by calling the GetSizeOfCircularBuffer function To retrieve all valid data from the circular buffer before it is overwritten by new data the GetNumberNewlmages and Getimages functions should be used Alternatively to retrieve only the most recent image the GetMostRecentlmage function can be used Finally to retrieve the oldest image the GetOldestlmage function can be used Due to the time needed to shift charge into the shift register digitize it and operate shutters where necessary the exposure time cannot be set to just any value For example the minimum exposure time depends on many factors including the readout mode trigger mode and the digitizing rate To help the user determine what the actual exposure time will be the driver automatically calculates the nearest allowed value that is not less than the user s choice Thus the actual calculated exposure time used by Andor SDK may be obtained via GetAcquisitionTimings this function should be called after the acquisition details have been fully defined i e readout mode trigger mode etc have been set SECTION 4 Page 33 AN DOR i omae ACQUISITION MODES
18. SetMessageWindow 192 SetMultiTrack 193 SetMultiTrackHBin 194 SetMultiTrackHRange 194 SetNextAddress 195 SetNextAddress16 195 SetNumberAccumulations 195 SetNumberkKinetics 195 SetNumberPrescans 196 SetOutputAmplifier 196 SetPClIMode 197 SetPhotonCounting 198 SetPhotonCountingThreshold 198 SetPixelMode 198 SetPreAmpGain 199 SetRandomtracks 200 SetReadMode 201 SetRegisterDump 201 SetRingExposureTimes 202 SetSaturationEvent 203 SetShutter 204 SetShutterEx 205 SetShutters 206 SetSifComment 206 SetSingleTrack 206 SetSingleTrackHBin 207 SetSpool 208 SetStorageMode 209 SetTemperature 209 SetTriggerMode 210 SetUserEvent 211 SetUSGenomics 211 SetVerticalRowBuffer 211 SetVerticalSpeed 212 SetVirtualChip 212 SetVSAmplitude 213 SetVSSpeed 214 ShutDown 214 StartAcquisition 215 UnMapPhysicalAddress 216 WaitForAcquisition 217 WaitForAcquisitionByHandle 217 WaitForAcquisitionByHandleTimeOut 219 WaitForAcquisitionTimeOut 220 WhiteBalance 221 SECTION 12 ERROR CODES 222 SECTION 13 DETECTOR INI 223 TABLE OF CONTENTS Page 7 ANDOR TABLE OF CONTENTS DETECTOR INI EXPLAINED SYSTEM COOLING DETECTOR Format DummyPixels DataHShiftSpeed DatavVSshiftSpeed DummyHShiftSpeed DummyVShiftSpeed VerticalHorizontallime CodeFile FlexFile Cooling Type FKVerticalShiftSpeed Gain PhotonCountingCCD EMCCDRegisterSize iStar SlowVerticalSpoeedFactor HELLFunction HELLLoop1 ADChannels AD2DataHSSpeed AD2DumpHSSpeed AD2Bi
19. 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 float exposure valid exposure time in seconds unsigned int DRV_SUCCESS Timing information returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_INVALID_MODE Fast kinetics is not available SetFastKinetics SetFKVShiftSpeed GetFKVShiftSpeed unsigned int WINAPI GetFKVShiftSpeed int index int speed Description Parameters Return See also Deprecated see Note As your Andor SDK 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 int index speed required Valid values 0 to GetNumberFKVShiftSpeeds 1 int speed speed in micro seconds per pixel shift unsigned int DRV_SUCCESS Speed returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Invalid index GetNumberFKVShiftSpeeds SetFKVShiftSpeed NOTE Deprecated by GetF KVShiftSpeedF SECTION 11 Page 109 ANDOR ene 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 thi
20. the status of cooling process Parameters Return unsigned int DRV_NOT_INITIALIZED DRV_ACQUIRING DRV_ERROR_ACK DRV_TEMP_OFF DRV_TEMP_STABILIZED DRV_TEMP_NOT_REACHED DRV_TEMP_DRIFT DRV_TEMP_NOT_STABILIZED See also This function returns the temperature of the detector to the nearest degree It also gives int temperature temperature of the detector System not initialized Acquisition in progress Unable to communicate with card Temperature is OFF Temperature has stabilized at set point Temperature has not reached set point Temperature had stabilized but has since drifted Temperature reached but not stabilized GetTemperatureF Setfemperature CoolerON CoolerOFF GetlemperatureRange GetTemperatureF unsigned int WINAPI GetTemperatureF float temperature Description cooling process Parameters Return unsigned int DRV_NOT_INITIALIZED DRV_ACQUIRING DRV_ERROR_ACK DRV_TEMP_OFF DRV_TEMP_STABILIZED DRV_TEMP_NOT_REACHED DRV_TEMP_DRIFT DRV_TEMP_NOT_STABILIZED See also This function returns the temperature in degrees of the detector It also gives the status of float temperature temperature of the detector System not initialized Acquisition in progress Unable to communicate with card Temperature is OFF Temperature has stabilized at set point Temperature has not reached set point Temperature had stabilised but has since drifted Temperature reached but not stabilized GetTempera
21. 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 Bits 0 31 Value 3 Capability AC_CAMERATYPE_CCD Description Camera is an Andor CCD Bits 0 31 Value 4 Capability AC_CAMERATYPE_ISTAR Description Camera is an Andor iStar Bits 0 31 Value 5 Capability AC_CAMERATYPE_VIDEO Description Camera is a third party camera Bits 0 31 Value 6 Page 93 GetCapabilities Camera Type SECTION 11 ANDOR FUNCTIONS 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 Bits 0 31 Value 11 Capability AC_CAMERATYPE_RESERVED Description Reserved Bits 0 31 Value 12 Capability AC_CAMERATYPE_IKON Description Camera is an Andor iKon Bits 0 31 Value 13 All other values reserved
22. Binning or Imaging read modes iDus can operate in Full Vertical Binning read mode only Note It is important to ensure that no light falls on the excluded region otherwise the acquired data will be corrupted int active 1 Crop mode is ON 0 Crop mode is OFF int cropheight The selected crop height This value must be between 1 and the CCD height int cropwidth The selected crop width This value must be between 1 and the CCD width int vbin The selected vertical binning int hbin The selected horizontal binning unsigned int DRV_SUCCESS Parameters set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID active parameter was not zero or one DRV_P2INVALID Invalid crop height DRV_P3INVALID Invalid crop width DRV_P4INVALID Invalid vertical binning DRV_PSINVALID Invalid horizontal binning DRV_NOT_SUPPORTED Either the camera does not support isolated Crop mode or the read mode is invalid GetDetector SetReadMode NOTE For iDus it is recommended that you set horizontal binning to 1 SECTION 11 Page 190 ANDOR Pao 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 Paramet
23. DRV_SUCCESS Sif comment set See also SaveAsSif SaveAsCommentedSif NOTE To add a comment to a SIF file that will not be used in any future SIF files that are saved use the function SaveAsCommentedSif SetSingleTrack unsigned int WINAPI SetSingleTrack int centre int height Description This function will set the single track parameters The parameters are validated in the following order centre row and then track height Parameters int centre centre row of track Valid range 0 to number of vertical pixels int height height of track Valid range gt 1 maximum value depends on centre row and number of vertical pixels Return unsigned int DRV_SUCCESS Parameters set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Center row invalid DRV_P2INVALID Track height invalid See also SetReadMode SECTION 11 Page 206 ANDOR h 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 DRV_SUCCESS Binning set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Invalid binning size See also SetReadMode NOTE 1 If the detector width is not a multiple of the binning DRV_BINNING_ERROR will be returned from PrepareAcquisition and or StartAcquisition
24. FVB e Single Track e Multi Track e Random Track e Image e Cropped Figure 1 shows the binning patterns BINNING PATTERNS FULL VERTICAL BINNING SINGLE TRACK Track Centre Chip Height Row Height MULTI TRACK RANDOM MULTI TRACK Track I Height g 4 E Offset 0 i FULL IMAGE Track IMAGE Number Figure 1 Binning patterns We will now look at each of these modes in more detail NOTE All of the patterns described can be simulated by the user in software but by carrying out the pattern in the camera greatly increases speed and improves Signal to Noise ratio SDK SECTION 3 Page 22 ANDOR Pa 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 To set up a Full Vertical Binning acquisition call SetReadMode 0 FULL VERTICAL BINNING Chip Height Figure 2 Full Vertical Binning Single Track Single Track mode is similar to the Full Vertical Binning mode discussed previously in that upon completion of an acquisition you will have a single spectrum However that is where the similarities end With Single Track you can spe
25. Must be large enough to hold iNum elements int fPhotoepc pointer to the Photoelectrons per count array Must be large enough to hold iNum elements unsigned int DRV_SUCCESS Table returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Number of array elements is not 10 DRV_P2INVALID Invalid pointer i e NULL DRV_P3INVALID Invalid pointer i e NULL DRV_NOT_AVAILABLE Not a USB iStar GetMCPVoltage Available only on USB iStar GetMCPGainRange unsigned int WINAPI GetMCPGainRange int low int high Description Parameters Return See also NOTE Returns the minimum and maximum values of the SetMCPGain function int low lowest gain setting int high highest gain setting DRV_SUCCESS Gain range returned DRV_NOT_INITIALIZED System not initialized SetMCPGain Available only iStar GetMCPVoltage unsigned int WINAPI GetMCPVoltage int iVoltage Description Parameters This function will retrieve the current Micro Channel Plate voltage int iVoltage Will contain voltage on return The unit is in Volts and should be between the range 600 1100 Volts SECTION 11 Page 119 ANDOR FUNCTIONS 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 DRV_GENERAL_ERRORS EEPROM not valid See also GetMCPGain NOTE Availa
26. NOTE Available on iStar SECTION 11 Page 184 ANDOR Po FUNCTIONS SetHighCapacity unsigned int WINAPI SetHighCapacity int state Description Parameters Return This function turns on and off the high capacity functionality With this feature 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 int state Enables Disables High Capacity functionality 1 Enable High Capacity 0 Disable High Capacity 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 NOTE Available on some iXon models SetHorizontalSpeed unsigned int WINAPI SetHorizontalSpeed int index Description Parameters Return See also Deprecated see Note This function will set the horizontal speed to one of the possible speeds of the system It will be used for subsequent acquisitions int index the horizontal speed to be used Valid values 0 to GetNumberHorizontalSpeeds 1 unsigned int DRV_SUCCESS Horizontal speed set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Index is out off range GetNumberHorizontalSpeeds GetHorizontalSpeed NOTE Deprecated by SetHSSpeed SECTION 11 Page 185 ANDOR ene FUNCTIONS
27. Page 35 AN DOR i omone 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 The image builds up on the illuminated section of the sensor which is typically a small number of rows at the top of the sensor Step 3 the sensor remains in this state until the exposure time has elapsed at which point the complete sensor is clocked vertically by the number of rows specified by the user Steps 4 amp 5 the process is continued until the number of images stored equals the series length set by the user Step 6 at this point the sequence moves into the readout phase by first vertically shifting the first image to the bottom row of the sensor The sensor is then read out in the standard method Points to consider for Fast Kinetics Mode e Light MUST only be allowed to fall on the specified sub area Light falling anywhere else will contaminate the data The maximum number of images in the sequence is set by the position of the sub area the height of the sub area and the number of rows in the CCD Image and Storage area e There are no Keep Clean cycles during the ac
28. Page 94 GetCapabilities Camera Type continued SECTION 11 ANDOR FUNCTIONS 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 Bit 3 State 1 Capability AC_PIXELMODE_MONO Description Camera acquires data in grey scale Bits 16 31 Value 0 Capability AC_PIXELMODE_RGB Description Camera acquires data in RGB mode Bits 16 31 Value 1 Capability AC_PIXELMODE_CMY Description Camera acquires data in CMY mode Bits 16 31 Value 2 Page 95 GetCapabilities Pixel Mode SECTION 11 ANDOR aia 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 B
29. 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 The ymin and ymax parameters indicate which data values will map to the first and last colors in the palette e All data values below or equal to ymin will be colored with the first color e All values above or equal to ymax will be colored with the last color e All other palette colors will be scaled across values between these limits Parameters char path The filename of the bitmap char palette The filename of a palette file PAL for applying color to the bitmap long ymin long ymax Range of data values that palette will be scaled across If set to 0 0 the palette will scale across the full range of values Return unsigned int DRV SUCCESS Data successfully saved as bitmap DRV NOT INITIALIZED System not initialized DRV ACOUPNG Acquisition in progress DRV ERROR ACK Unable to communicate with card DRV_P1INVALID Path invalid File too large to be generated in memory DRV_ERROR_PAGELOCK See also SaveAsSif SaveAsEDF SaveAsFITS SaveAsRaw SaveAsSPC SaveAsTiff NOTE If the last acquisition was in Kinetic Series mode each image will be saved in a separate Bitmap file The filename specified will have an index number appended to it indicating the position in the series SECTION 11 Page
30. allowed speeds Return unsigned int DRV_SUCCESS Number of speeds returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress See also GetFKVShiftSpeedF SetFKVShiftSpeed NOTE Only available if camera is Classic or iStar GetNumberHorizontalSpeeds unsigned int WINAPI GetNumberHorizontalSpeeds int number Description Deprecated see Note 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 number number of allowed horizontal speeds Return unsigned int DRV_SUCCESS Number of speeds returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress See also GetHorizontalSpeed SetHorizontalSpeed NOTE Deprecated by GetNumberHSSpeeds SECTION 11 Page 127 ANDOR FUNCTIONS GetNumberHSSpeeds unsigned int WINAPI GetNumberHSSpeeds int channel int type int number Description Parameters Return See also 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 int channel the AD channel int type output amplification Valid values 0 electron multiplication 1 conventional int number number of allowed horizontal speeds unsigned int DRV_SUCCESS Number of speeds returned DRV_NOT_INITIALIZED System not initialized
31. and then binning charge horizontally from several columns of the shift register at a time e g 4 the ANDOR SDK system is effectively reading out charge from a matrix of super pixels which each measure 4 x 4 real pixels The result is a more coarsely defined image but faster processing speed lower storage requirements and a better signal to noise ratio since for each element or super pixel in the resultant image the combined charge from several pixels is being binned and read out rather than the possibly weak charge from an individual pixel SECTION 3 Page 26 ANDOR haa 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 Figure 7 Cropped mode To set up the CCD with a cropped image as in figure 7 see SetlsolatedCropMode NOTE It is important to ensure that no light falls on the excluded region otherwise the acquired data will be corrupted SECTION 3 Page 27 ANDOR ea ACQUISITION MODES SECTION 4 ACQUISITION MODES ACQUISITION MODE TYPES In the previous section the
32. between the TO and C outputs on the SRS box to delay nanoseconds float width Sets the width gt 0 of the gate in nanoseconds float step Sets the amount lt gt 0 in nanoseconds by which the gate position is moved in time after each scan in a kinetic series Return unsigned int DRV_SUCCESS Gater parameters set DRV_NOT_INITIALIZED System not initialized DRV_ERROR_ACK Unable to communicate with card DRV_ACQUIRING Acquisition in progress DRV_GPIBERROR Error communicating with GPIB card DRV_P1INVALID Invalid delay DRV_P2INVALID Invalid width DRV_P3INVALID Invalid step See also SetDelayGenerator NOTE Available on ICCD SECTION 11 Page 183 ANDOR FUNCTIONS SetGateMode unsigned int WINAPI SetGateMode int mode Description Allows the user to control the photocathode gating mode Parameters int mode the gate mode Valid values 0 1 2 3 4 5 Return unsigned int DRV_SUCCESS Fire ANDed with the Gate input Gating controlled from Fire pulse only Gating controlled from SMB Gate input only Gating ON continuously Gating OFF continuously Gate using DDG iStar only Gating mode accepted DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING DRV_I2CTIMEOUT Acquisition in progress C command timed out DRV_I2ZCDEVNOTFOUND C device not present DRV_ERROR_ACK DRV_P1INVALID Unable to communicate with card Gating mode invalid See also SetMCPGain SetMCPGating
33. disk however as the compression can be very CPU intensive this option may not be suitable on slower processors The data is stored in row order starting with the row nearest the readout register With the exception of methods 5 6 and 7 the data acquired during a spooled acquisition can be retrieved through the normal functions This is a change to previous versions it is no longer necessary to load the data from disk from your own application int active Enable disable spooling Valid values 0 Disable spooling 1 Enable spooling int method Indicates the format of the files written to disk Valid values 0 Files contain sequence of 32 bit integers 1 Format of data in files depends on whether multiple accumulations are being taken for each scan Format will be 32 bit integer if data is being accumulated each scan otherwise the format will be 16 bit integer 2 Files contain sequence of 16 bit integers 3 Multiple directory structure with multiple images per file and multiple files per directory 4 Spool to RAM disk 5 Spool to 16 bit Fits File 6 Spool to Andor Sif format T Spool to 16 bit Tiff File 8 Similar to method 3 but with data compression char name String containing the filename stem May also contain the path to the directory into which the files are to be stored int framebuffersize This sets the size of an internal circular buffer used as temporary storage The value is the total number images the buffer can ho
34. 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 However for long kinetic series acquisitions the time to allocate and configure any memory can be quite long which can result in a long delay between calling StartAcquisition and the acquisition actually commencing For iDus there is an additional delay caused by the camera being set up with any new acquisition parameters Calling PrepareAcquisition first will reduce this delay in the StartAcquisition call NONE unsigned int DRV_SUCCESS Acquisition prepared 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 DRV_ACQERROR Acquisition settings invalid DRV_ERROR_PAGELOCK Unable to allocate memory DRV_INVALID_FILTER Filter not available for current acquisition DRV_IOCERROR Integrate On Chip setup error DRV_BINNING_ ERROR Range not multiple of horizontal binning StartAcquisition FreelnternalMemory SECTION 11 Page 149 ANDOR Gees 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
35. exist or there is an exclamation mark beside it carry out the following actions 1 Power the camera off and on and after the new hardware is detected follow the instructions to install a driver for the new device When asked for a location point to the directory where the software was installed 2 If there is a USB device with an exclamation mark beside it and you cannot account for this device then it is probably the Andor camera and the driver is not installed Install the driver as described previously or right click on the entry and update driver 3 Close down any Andor software remove the USB cable from either the camera or the PC and reconnect it again Run the software to see if the camera is now detected 4 If still not connected then remove the USB cable from either the PC or the camera power the camera off and on the camera and reconnect the USB cable again 5 Run the software to see if the camera is now detected NOTE If the camera is still not detected after step 6 please contact the appropriate technical support person SECTION 2 Page 19 ANDOR ea INSTALLATION SDK LINUX INSTALLATION The first step is to unpack the archive that you have received With the following steps replace lt version gt 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 lt version gt tar gz file is located 3 Type tar zxvf andor lt version gt tar gz
36. function gets the number of these pre amp gains available The functions GetPreAmpGain and SetPreAmpGain can be used to specify which of these gains is to be used int number number of allowed pre amp gains unsigned int DRV_SUCCESS Number of pre amp gains returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress IsPreAmpGainAvailable GetPreAmpGain SetPreAmpGain GetCapabilities GetNumberRingExposureTimes unsigned int WINAPI GetNumberRingExposureTimes int _ipnumTimes Description Parameters Return See also Gets the number of exposures in the ring at this moment int _ipnumTimes Numberof exposure times unsigned int DRV_SUCCESS Success DRV_NOT_INITIALIZED System not initialized SetRingExposureTimes SECTION 11 Page 129 ANDOR FUNCTIONS GetNumberVerticalSpeeds unsigned int WINAPI GetNumberVerticalSpeeds int number Description Parameters Return See also 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 int number number of allowed vertical speeds unsigned int DRV_SUCCESS Number of speeds returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress GetVerticalSpeed SetVerticalSpeed NOTE Deprecated by GetNumberVSSpeeds GetNumberVSAmplitudes unsigned int WINAPI GetNumber
37. 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 GetDICameralnfo unsigned int WINAPI GetDICameralnfo void info Description THIS FUNCTION IS RESERVED SECTION 11 Page 106 ANDOR C 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 GetEMGainRange unsigned int WINAPI GetEMGainRange int low int high Description Returns the minimum and maximum values of the current selected EM Gain mode and temperature of the sensor Parameters int low lowest gain setting int high highest gain setting Return DRV_SUCCESS Gain range returned DRV_NOT_INITIALIZED System not initialized SECTION 11 Page 107 ANDOR Qao 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 sp
38. in MHz on idus iXon amp Newton int channel the AD channel int type output amplification Valid values 0 electron multiplication 1 conventional int index speed required Valid values 0 to NumberSpeeds 1 where NumberSpeeds is value returned in first parameter after a call to GetNumberHSSpeeds float speed speed in microseconds per pixel shift in MHz on iXon unsigned int DRV_SUCCESS Speed returned DRV_NOT_INITIALIZED System not initialized DRV_P1INVALID Invalid channel DRV_P2INVALID Invalid horizontal read mode DRV_P3INVALID Invalid index GetNumberHSSpeeds SetHSSpeed NOTE The speed is returned in MHz GetHVflag unsigned int WINAPI GetHVflag int bFlag Description Parameters Return NOTE This function will retrieve the High Voltage flag from your USB iStar intensifier A 0 value indicates that the high voltage is abnormal int bFlag pointer to High Voltage flag unsigned int DRV_SUCCESS HV flag returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_NOT_AVAILABLE Not a USB iStar Available only on USB iStar SECTION 11 Page 113 ANDOR oe TECHNOLOGY FUNCTIONS GetID unsigned int WINAPI GetID int devNum int id Description THIS FUNCTION IS RESERVED GetlmageFlip unsigned int WINAPI GetlmageFlip int iHFlip int iVFlip Description This function will obtain whether the acquired data output is flipped in either the
39. occurs before the first one has been acknowledged the first one will be ignored Care should be taken in this case as you may have to use CancelWait to exit the function NONE unsigned int DRV_SUCCESS Acquisition Event occurred DRV_NO_NEW_DATA Non Acquisition Event occurred e g CancelWait called StartAcquisition CancelWait WaitForAcquisitionByHandle unsigned int WINAPI WaitForAcquisitionByHandle long cameraHandle Description Parameters Return 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 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 Like the SetDriverEvent functionality it will use less processor resources than continuously polling with the GetStatus function If you wish to restart the calling thread without waiting for an Acquisition event call the function CancelWait An Acquisition Event occurs each time a new image is acquired during an Accumulation Kinetic Series or Run Till Abort acquisition or at the end of a Single Scan Acquisition Long cameraHandle handle of camera to put into wait state unsigned int DRV_SUCCESS Acquisition Event occurred DRV_P1INVALID Handle not valid DRV_NO_NEW_DATA Non Acquisition Event oc
40. on the CCD chip SECTION 3 Page 24 ANDOR Po 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 RANDOM TRACK TT TT ts TTT TT TTT TT 2 ETT TTT TTT TTT TTT 4 Track Kner 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 To set up a Random Track acquisition you need to call the following functions SetReadMode 2 int position 6 position 0 20 position 1 30 end of track 1 11 rows height position 2 40 start of track 2 position 3 40 end of track 2 1 row height position 4 100 start of track 3 position 5 150 end of track 3 51 rows height SetRandomTracks 3 position The SetRandomTracks function validates all the entries and then makes a local copy of the tracks positions For the array of tracks to be valid the track positions MUST be in ascending order NOTES 1 A track of 1 row in height will have the same start and end positions 2 Before using Random Track mode with fiber bundles it is often useful to acquire a Full Resolution Image of the output 3 Having observed the vertica
41. possible to control multiple Andor cameras The following SDK functions permit the selection and use of one Andor camera at a time e GetAvailableCameras e GetCameraHandle e SetCurrentCamera e GetCurrentCamera e 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 A maximum of eight cameras can be controlled by the SDK This can be a combination of USB and PCI cameras but the maximum number of PCI cameras that can be supported is two While using more than one camera the other SDK functions are used in the normal way When a function is called it only affects the currently selected camera and is not sent to all cameras This allows each camera to be programmed individually but it also means that each camera has to be individually initialized and shut down Another aspect of this control method is that cameras cannot be simultaneously triggered using the software if simultaneous triggering is required then external triggers should be used SECTION 9 Page 57 ANDOR Pao 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 func
42. random tracks are setup e Fixed default EM gain Set to off when system initialized e SetRandomTracks no longer returns an error if not in random track mode e Image mode Linux example will now work with an InGaAs e SetRandomTracks was not returning an error for certain incorrect track combinations e Fixed SetBaselineClamp and SetBaselineOffset The test for availability was not complete e Fixed GetRingExposureRange Now uses same limit as SetRingExposureTimes e Fixed SetRandomTracks Was failing for some valid tracks e Fixed SetGain error code Now returns DRV_NOT_SUPPORTED if not an ICCD e Fixed bug in SetRandomTracks to prevent negative numbers for number of tracks with correct return code e GetAmpMaxSpeed now tests for NULL array parameter e SetCustomTrackHBin returns DRV_NOT_SUPPORTED if not available for a system e Fixed GetAmpDesc Tests negative value for 3rd parameter could cause crash e Fixed GetAmpDesc could return unterminated string e Luca R cooler control was never supported but SDK returned DRV_SUCCESS SDK functions now return proper error codes e Fixed bug in Initialisation Shutdown cycling could cause crash e Extra fire pulse when using kinetic series external exposure on DU885 e Fixed incorrect data when using kinetic series external exposure on Luca R e Fixed external exposure trigger mode for Luca S SECTION 1 Page 10 ANDOR ee INTRODUCTION Version 2 81 30004 0 New features
43. set too low or are not permissible values the driver will automatically calculate the nearest appropriate value 2 The actual values used can be obtained via the GetAcquisitionTimings function this function should be called after the acquisition has been fully defined i e readout mode trigger mode etc have been set 3 In External Trigger mode the delay between each scan making up the acquisition is not under the control of the Andor system but is synchronized to an externally generated trigger pulse SECTION 4 Page 30 AN DOR T EN 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 KINETIC SERIES l Exposure Time 0 35 Exposure Time Kinetic Cycle Time 3s No in Kinetic Series 3 C lt Kinetic Cycle Time ACCUMULATED KINETIC SERIES Exposure Time ES w Accumulations i i oe Example Riro PE ma Exposure Time 0 3s Accumulated Cycle time 1 518 s pe Kinetic Cycle Time a No of Accumulations 3 Kinetic Cycle Time 3s No in Kinetic series 4 NOTE In External Trigger mo
44. the complete data capture process By contrast a scan is a single readout of data from the CCD Chip i e a complete data acquisition comprises the capture of one or more scans SECTION 4 Page 28 ANDOR eo 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 SINGLE SCAN Example M Exposure Time 0 35s To set the acquisition mode to Single Scan call Exposure Time 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 NOTE Due to the time needed to shift charge into the shift register digitize it and operate shutters where necessary the exposure time cannot be set to just any value For example the minimum exposure time depends on many factors including the readout mode trigger mode and the digitizing rate To help the user determine what the actual exposure time will be the driver automatically calculates the nearest allowed value not less than the user s choice The actual calculated exposure time used by Andor SDK may be obtained via the GetAcquisitionTimings function this function should be called after the acquisition details have been fully defined i e readout mode trigger mode etc hav
45. unsigned int WINAPI GetPreAmpGain int index float gain Description For those systems that provide a number of pre amp gains to apply to the data as it is read out this function retrieves the amount of gain that is stored for a particular index The number of gains available can be obtained by calling the GetNumberPreAmpGains function and a specific Gain can be selected using the function SetPreAmpGain Parameters int index gain index Valid values 0 to GetNumberPreAmpGains 1 float gain gain factor for this index Return unsigned int DRV_SUCCESS Gain returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Invalid index See also IsPreAmpGainAvailable GetNumberPreAmpGains SetPreAmpGain GetCapabilities SECTION 11 Page 132 ANDOR FUNCTIONS GetReadOutTime unsigned int WINAPI GetReadOutTime float _fReadoutTime Description Parameters Return See also NOTES 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 float _fReadoutTime valid readout time in seconds unsigned int DRV_SUCCESS Timing information returned DRV_NOT_INITIALIZED System not initialized DRV_ERROR_CODES Error communicating with camera GetAcquisiti
46. 1 Capability AC_EMGAIN_REAL12 Description Gain setting represents the real EM Gain value 12 bit DAC used internally Bit 3 State 1 SECTION 11 Page 101 ANDOR Po 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 unsigned int DRV_SUCCESS Name returned DRV_NOT_INITIALIZED System not initialized See also GetHeadModel GetCameraSerialNumber GetCameralnformation GetCapabilities GetCurrentCamera unsigned int WINAPI GetCurrentCamera long cameraHandle Description When multiple Andor cameras are installed this function returns the handle of the currently selected one Parameters long cameraHandle handle of the currently selected camera Return unsigned int DRV_SUCCESS Camera handle returned See also SetCurrentCamera GetAvailableCameras GetCameraHandle SECTION 11 Page 102 ANDOR ea FUNCTIONS GetDDGPulse unsigned int WINAPI GetDDGPulse double region double resolution double delay double width Description This function attempts to find a laser pulse in a user defined region with a given
47. 14 114 115 116 116 116 117 118 118 119 119 119 121 122 123 123 124 124 124 125 125 126 126 126 126 127 127 TABLE OF CONTENTS ANDOR TABLE OF CONTENTS GetNumberHorizontalSpeeds GetNumberHSSpeeds GetNumberNewlmages GetNumberPreAmpGains GetNumberkingExposureTimes GetNumberVerticalSpeeds GetNumberVSAmplitudes GetNumberVSSpeeds GetOldestImage GetOldestimage 16 GetPhysicalDMAAddress GetPixelSize GetPreAmpGain GetReadOutlime GetRegisterDump GetRingExposureRange GetSizeOfCircularBuffer GetSlotBusDeviceFunction GetSoftwareVersion GetSpoolProgress GetStatus GetTemperature GetTemperatureF GetTemperatureRange GetTemperatureStatus GetTotalNumberlmagesAcquired GetVersionInfo GetVerticalSpeed GetVirtualIDMAAddress GetVSSpeed GPIBReceive GPIBSend I2CBurstRead I2CBurstWrite I2CRead I2CReset I2CWrite IdAndorDIl InAuxPort Initialize InitializeDevice IsCoolerOn IsinternalMechanicalShutter IsPreAmMpGainAvailable IsTriggerModeAvailable Merge OutAuxPort PrepareAcquisition SaveAsBmp SaveAsCommentedcsif SaveAsEDF SaveAsFITS SaveAsRaw SaveAssSif SaveAsSPC SaveAsTTiff SaveAsTiffEx Page 5 127 128 128 129 129 130 130 130 131 131 132 132 132 133 133 133 134 134 135 135 136 137 137 138 138 138 139 139 140 140 141 141 142 142 143 143 144 144 144 145 145 146 146 147 147 148 148 149 150 151 151 152 152 153 154 154 155 TABLE OF
48. 150 ANDOR FUNCTIONS SaveAsCommentedSif unsigned int WINAPI SaveAsCommentedSif char path char comment Description Parameters Return See also 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 char path pointer to a filename specified by the user char comment comment text to add to the sif file unsigned int DRV_SUCCESS Data saved DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_ERROR_ACK Unable to communicate with card DRV_P1INVALID Invalid filename SetSifComment SaveAsSif SaveASEDF SaveAsFITS SaveAsRaw SaveAsSPC SaveAsTiff SaveAsBmp NOTE The comment used in SIF files created with this function is discarded once the call completes i e future calls to SaveAsSif will not use this comment To set a persistent comment use the SetSifComment function SaveAsEDF unsigned int WINAPI SaveAsEDF char _szPath int iMode Description Parameters Return See also This function saves the last acquisition in the European Synchotron Radiation Facility Data Format edf char _szPath the filename to save too int iMode option to save to multiple files Valid values 0 Save to 1 file 1 Save kinetic series to multiple files unsigned int DRV_SUCCESS Data successfully saved DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in p
49. 2 For iDus it is recommended that you set horizontal binning to 1 SECTION 11 Page 207 ANDOR FUNCTIONS SetSpool unsigned int WINAPI SetSpool int active int method char name int framebuffersize Description Parameters 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 Spooling method 2 writes out the data to file as 16 bit integers Spooling method 3 creates a directory structure for storing images where multiple images may appear in each file within the directory structure and the files may be spread across multiple directories Like method 1 the data type of the image pixels depends on whether accumulate mode is being used Method 4 Creates a RAM disk for storing images so you should ensure that there is enough free RAM to store the full acquisition Methods 5 6 and 7 can be used to directly spool out to a particular file type either FITS SIF or TIFF respectively In the case of FITS and TIFF the data will be written out as 16 bit values Method 8 is similar to method 3 however the data is first compressed before writing to disk In some circumstances this may improve the maximum rate of writing images to
50. 20ms accumulate cycle time to 30ms and then set the readout mode to full image As it can take 250ms to read out an image it is not possible to have a cycle time of 30ms float exposure valid exposure time in seconds float accumulate valid accumulate cycle time in seconds float kinetic valid kinetic cycle time in seconds unsigned int DRV_SUCCESS Timing information returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_INVALID_ MODE Acquisition or readout mode is not available SetAccumulationCycleTime SetAcquisitionMode SetExposureTime SetHSSpeed SetKineticCycleTime SetMultiTrack SetNumberAccumulations SetNumberKinetics SetReadMode SetSingleTrack SetTriqgerMode SetVSSpeed GetAdjustedRingExposureTimes unsigned int WINAPI GetAdjustedRingExposureTimes int _inumTimes float _fptimes Description Parameters Return See also This function will return the actual exposure times that the camera will use There may be differences between requested exposures and the actual exposures int_inumTimes Numbers of times requested float _ fptimes Pointer to an array large enough to hold _inumTimes floats unsigned int DRV_SUCCESS Success DRV_NOT_INITIALIZED System not initialized DRV_P1INVALID Invalid number of exposures requested GetNumberRingExposureTimes SetRingExposureTimes SECTION 11 Page 83 ANDOR FUNCTIONS GetAlIDMAData un
51. 23 ANDOR ea 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 e Controller gives the section name where the controller plug in card details can be found Further details on this section are given below e Head gives the section name where the detector head details can be found Further details on this section are given below e Operation this item related to the overall system type i e whether the system is a PDA CCD ICCD or InGaAs This item has the effect of changing the Acquisition dialog within the software so that only those options relating to the system type are displayed Possible values are as follows e 2for PDA e 3 for InGaAs e 4 for CCD e 5 for ICCD EXAMPLE System Controller CC 010 Head DV437 Operation 4 SECTION 13 Page 224 ANDOR 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 The structure of each item is Itemname a b c d itemname a b c d Example Cooling Single 28 30 28 100 Three 20 60 28 100 Vacuum 20 100 28 100 Page 225 SECTION 13 ANDOR eS ores DETECTOR INI D
52. 6 ANDOR Goes 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 The figure below illustrates the timing sequence for this mode of operation External trigger keep clean running with Number of vertical clocks depends on sub area height global clear on 885 ii A Image amp Storage area clocks Horizontal clocks External Trigger Fire output r Number of repeats set Read phase Exposure time by series length External Start trigger in Fast Kinetics mode SECTION 5 Page 47 ANDOR g mesial 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 Global clear used to keep image area cl
53. AC_TRIGGERMODE_EXTERNALEXPOSURE being set If this bit is set please use the function GetCapabilities again and check the ulFeatures variable for bit 12 AC_FEATURES_FTEXTERNALEXPOSURE being set when Frame Transfer mode is used and bit 13 AC_FEATURES_KINETICEXTERNALEXPOSURE being set when Kinetc and Frame Transfer modes are used together SDK SECTION 5 Page 49 ANDOR Pan 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 It permits the highly efficient upload of new exposure times between acquisitions and even allows a pre load of up to 16 exposures to the camera which will be cycled through with each acquisition It also permits the user software to perform certain actions before requesting the next acquisition such as moving an external stage or even to change the exposure time Note that not all systems support Software Trigger mode 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 If this bit is set and the system is configured with the following modes e Read mode set to image e Acquisition mode set to Run til
54. ATION 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 This will take you through the complete installation process You will be prompted to select the type of camera you have purchased as the installation needs to configure were required the Detector ini file appropriately You will also be requested to select a destination directory this should be a directory that all users planning to use the SDK have full read write privileges to The directory will be created if it does not already exist It is recommended that if you are performing an upgrade or reinstall that you do it to a clean directory Example programs will be copied into sub directories of the installation directory specified above 2 If not already installed proceed with installing camera hardware Consult your User guide for details You may have to restart the PC to complete the installation 3 Navigate to the directory lt destination directory gt Examples c directory Go into any sub directory and run the exe file t
55. Acquisition in progress DRV_P1INVALID Invalid binning size See also SetReadMode NOTE For iDus it is recommended that you set horizontal binning to 1 SetDataType unsigned int WINAPI SetDataType int type Description THIS FUNCTION IS RESERVED SetDDGAddress unsigned int WINAPI SetDDGAddress byte t0 byte t1 byte t2 byte tt byte address Description THIS FUNCTION IS RESERVED SECTION 11 Page 165 ANDOR Sorc FUNCTIONS SetDDGGain unsigned int WINAPI SetDDGGain int gain Description Deprecated for SetMCPGain SetDDGGateStep unsigned int WINAPI SetDDGGateStep double step Description This function will set a constant value for the gate step in a kinetic series The lowest available resolution is 25 picoseconds and the maximum permitted value is 25 seconds Parameters double step gate step in picoseconds Return unsigned int DRV_SUCCESS Gate step set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_ERROR_ACK Unable to communicate with card DRV_P1INVALID Gate step invalid See also SetDDGTimes SetDDGVariableGateStep NOTE Available on iStar SECTION 11 Page 166 ANDOR Sess FUNCTIONS SetDDGInsertionDelay unsigned int WINAPI SetDDGInsertionDelay int delay Description This function controls the length of the insertion delay Parameters int delay NORMAL FAST switch for insertion delay Valid values 0 to set normal insertion delay 1 to set f
56. CONTENTS ANDOR TABLE OF CONTENTS SaveEEPROMToFile SaveToClipBoard SelectDevice SendSoftwaretTrigger SetAccumulationCycleTime SetAcqStatusEvent SetAcquisitionMode SetAcquisitionlype SetADChannel SetAdvancedtTriggerModeState SetBackground SetBaselineClamp SetBaselineOffset SetCameraStatusEnable SetComplexlmage SetCoolerMode SetCropMode SetCurrentCamera SetCustomTrackHBin SetDataType SetDDGAdadress SetDDGGain SetDDGGateStep SetDDGInsertionDelay SetDDGIntelligate SetDDGIOC SetDDGIOCFrequency SetDDGIOCNumber SetDDGTimes SetDDGTriggerMode SetDDGVariableGateStep SetDelayGenerator SetDMAParameters SetDriverEvent SetEMAdvanced SetEMCCDGain SetEMClockCompensation SetEMGainMode SetExposureTime SetFanMode SetFastKinetics SetFastKineticsEx SetFastExtTrigger SetFilterMode SetFilterParameters SetFKVShiftSpeed SetFPDP SetFrametransferMode SetFulllmage SetFVBHBin SetGain SetGate SetGateMode SetHighCapacity SetHorizontalSpeed SetHSSpeed Setimage Page 6 156 156 156 156 157 157 158 158 158 159 160 160 160 161 162 163 163 165 165 165 165 166 166 167 167 168 169 170 170 171 171 172 173 174 175 175 176 176 177 177 178 179 180 180 180 181 181 181 182 182 183 183 184 185 185 186 187 TABLE OF CONTENTS ANDOR Ce TABLE OF CONTENTS SetimageFlip 188 SetimageRotate 189 SetlsolatedCrooMode 190 SetKineticCycleTime 191 SetMCPGain 191 SetMCPGating 191
57. D cam_status The status of the firepulse will be returned that the firepulse is low 0 Fire pulse low 1 Fire pulse high unsigned int DRV_SUCCESS Status returned DRV_NOT_INITIALIZED System not initialized SetAcgStatusEvent SetPCIMode This is only supported by the CCI23 card GetCameraHandle unsigned int WINAPI GetCameraHandle long cameralndex long cameraHandle Description Parameters Return See also This function returns the handle for the camera specified by cameralndex When multiple Andor cameras are installed the handle of each camera must be retrieved in order to select a camera using the SetCurrentCamera function The number of cameras can be obtained using the GetAvailableCameras function long cameralndex index of any of the installed cameras Valid values 0 to NumberCameras 1 where NumberCameras is the value returned by the GetAvailableCameras function long cameraHandle handle of the camera unsigned int DRV_SUCCESS Camera handle returned DRV_P1INVALID Invalid camera index SetCurrentCamera GetAvailableCameras GetCurrentCamera SECTION 11 Page 86 ANDOR Qao FUNCTIONS GetCameralnformation unsigned int WINAPI GetCameralnformation int index long information Description This function will return information on a particular camera denoted by the index Parameters Int index reserved Long information current state of camera Bit 1 1 USB camera present Bit 2 1 A
58. D TO CONTROL ANDOR CAMERA SECTION 11 FUNCTIONS AbortAcquisition CancelWait CoolerOFF CoolerON Demosaiclmage FreelnternalMemory GetAcquiredData GetAcquiredDatal GetAcquiredFloatData GetAcquisitionProgress GetAcquisitionTimings GetAdjustedRingExposureTimes GetAIIDMAData GetAmpDesc GetAmpMaxSpeed 56 57 57 58 60 62 63 67 68 69 69 70 70 70 70 71 TABLE OF CONTENTS Page 3 ANDOR TABLE OF CONTENTS GetAvailableCameras GetBackground GetBitDepth GetCameraEventStatus GetCameraHandle GetCameralnformation GetCameraSerialNumber GetCapabilities GetControllerCardModel GetCurrentCamera GetDDGPulse GetDDGIOCFrequency GetDDGIOCNumber GetDDGIOCPulses GetDetector GetDICameralnfo GetEMCCDGain GetEMGainRange GetFastestRecommendedvSsSpeed GetFIFOUsage GetFilterMode GetFKExposureTime GetFKVShiftSpeed GetFKVShiftSpeedF GetHardwareVersion GetHeadModel GetHorizontalSpeed GetHSSpeed GetHVflag GetlD GetlmagefFlip GetlmageRotate Getlmages Getilmages16 GetImagesPerDMA GetIRQ GetKeepCleanTime GetMaximumBinning GetMaximumExposure GetMCPGain GetMCPGainRange GetMCPVoltage GetMinimumlmageLength GetMostRecentColorlmage 16 GetMostRecentiImage GetMostRecentlmage1 6 GetMSTimingsData GetMSTimingsEnabled GetNewData GetNewDatal GetNewDatag GetNewFloatData GetNumberADChannels GetNumberAmp GetNumberAvailablelmages GetNumberDevices GetNumberFKVShiftSoeeds Page 4 113 114 1
59. ETECTOR 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 DummypPixels DummyPixels a b c d Gives the number of columns and row that are present on the device but do not respond to light The dummy columns are a combination of dark columns which run the full height of the sensor and dummy pixels in the shift register where number of dummy columns at non amplifier end number of dummy columns at amplifier end number of dummy rows at top of CCD qao oOo number of dummy rows at bottom of CCD DataHShiftSpeed DataHShiftSpeed a b c d e Lists the speeds at which the charge can be moved in the shift register This is also equivalent to the digitization speed in microseconds Where a default speed b c d e allowed speeds fastest first DataVShiftSpeed DataVShiftSpeed a b c d e This lists the speeds in microseconds at which the CCD rows can be vertically shifted These speeds are used during CCD readout Where a default speed b c d e allowed speeds fastest first SECTION 13 Page 226 ANDOR OSS DETECTOR INI DummyHShiftSpeed DummyHShiftSpeed a b c d e This lists the speeds in microseconds at which the charge can be moved in the
60. FF IsInternalMechanicalShutter unsigned int WINAPI IsInternalMechanicalShutter int InternalShutter Description This function checks if an iXon camera has a mechanical shutter installed Parameters int InternalShutter 0 Mechanical shutter not installed 1 Mechanical shutter installed Return unsigned int DRV_SUCCESS Internal Shutter state returned DRV_NOT_AVAILABLE Not an iXon camera NOTE Available only on iXon SECTION 11 Page 146 ANDOR FUNCTIONS IsPreAmpGainAvailable unsigned int WINAPI IsPreAmpGainAvailable int channel int amplifier int index int gain int status Description This function checks that the AD channel exists and that the amplifier speed and gain are available for the AD channel Parameters int channel AD channel index int amplifier Type of output amplifier int index int gain int status Channel speed index PreAmp gain index 0 PreAmpGain not available 1 PreAmpGain Available Return unsigned int DRV_SUCCESS DRV_NOT_INITIALIZED DRV_ACQUIRING DRV_P1INVALID DRV_P2INVALID DRV_P3INVALID DRV_P4INVALID See also NOTE Available only on iXon PreAmpGain status returned System not initialized Acquisition in progress Invalid channel Invalid amplifier Invalid speed index Invalid gain GetNumberPreAmpGains GetPreAmpGain SetPreAmpGain IsTriggerModeAvailable unsigned int WINAPI IsTriggerModeAvailable int _itriggerMode This f
61. IAL 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 This alongside the bi directional communication between camera and PC facilitates unparalleled synchronization with other peripheral equipment A ring mode offers the capacity to use up to 16 different timing patterns uploaded into the camera head thus trigger events can yield virtually instantaneous switching between exposure channels This new functionality has been added to the Run Till Abort acquisition mode and currently will only operate with Image readout mode Cameras must contain a suitable firmware and if a PCI card is being used it must be a CCI 23 card and have a suitable firmware loaded If you are unsure if your current Hardware is iCam compatible please download the iCam compatibility checker from andor com It will operate in Software and External trigger mode with both Frame Transfer and Non Frame Transfer mode The idea behind this is that the SDK puts the camera into a heightened state of readiness and when a trigger comes either software or hardware the acquisition can be taken immediately If you hard
62. ID Invalid output A delay P2_INVALID Invalid gate delay P3_INVALID Invalid pulse width SetDDGGateStep NOTE Available on iStar SECTION 11 Page 170 ANDOR oe TECHNOLOGY FUNCTIONS SetDDGTriggerMode unsigned int WINAPI SetDDGTriggerMode int mode Description Parameters Return This function will set the trigger mode of the internal delay generator to either Internal or External int mode trigger mode Valid values 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 NOTE Available on iStar SetDDGVariableGateStep unsigned int WINAPI SetDDGVariableGateStep int mode double a double b Description Parameters Return See also This function will set a varying value for the gate step in a kinetic series The lowest available resolution is 25 picoseconds and the maximum permitted value is 25 seconds int mode the gate step mode Valid values 1 Exponential a exp b n 2 Logarithmic a log b n 3 Linear a b n n 1 2 number in kinetic series unsigned int DRV_SUCCESS Gate step mode set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_ERROR_ACK Unable to communicate with card DRV_P1INVALID Gate step mode invalid StartAcquisition NOTE Availa
63. INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Invalid index GetNumberVerticalSpeeds SetVerticalSpeed NOTE Deprecated by GetVSSpeed SECTION 11 Page 139 TECHNOLOGY ANDOR Ww FUNCTIONS Description GetVirtualDMAAddress unsigned int WINAPI GetVirtualDMAAddress void Address1 void Address2 THIS FUNCTION IS RESERVED unsigned int WINAPI GetVSSpeed int index float speed Description Parameters Return See also GetVSSpeed 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 int index speed required Valid values 0 to GetNumberVSSpeeds 1 float speed speed in microseconds per pixel shift unsigned int DRV_SUCCESS Speed returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Invalid index GetNumberVSSpeeds SetVSSpeed GetFastestRecommendedVSSpeed Page 140 SECTION 11 ANDOR ba TECHNOLOGY FUNCTIONS GPIBReceive unsigned int WINAPI GPIBReceive int id short address char text int size Description Parameters Return See also This function reads data from a device until a byte is received with the EOI line asserted or until size bytes have been read int id The interface board number short address Address of device t
64. IOCNumber unsigned long number Description Parameters Return See also 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 unsigned long number the number of integrate on chip pulses triggered within the fire pulse unsigned int DRV_SUCCESS Value for IOC number accepted DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_I2CTIMEOUT 12C command timed out DRV_I2CDEVNOTFOUND 12C device not present DRV_ERROR_ACK Unable to communicate with card SetDDGIOCFrequency GetDDGIOCFrequency GetDDGIOCNumber GetDDGIOCPulses SetDDGIOC NOTE Available on iStar SetDDGTimes unsigned int WINAPI SetDDGTimes double T0 double T1 double T2 Description Parameters Return See also This function sets the properties of the gate pulse TO has a resolution of 16 nanoseconds whilst T1 and T2 have a resolution of 25 picoseconds double TO output A delay in nanoseconds double T1 gate delay in picoseconds double T2 pulse width in picoseconds unsigned int DRV_SUCCESS Values for gate pulse accepted DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_I2CTIMEOUT I2C command timed out DRV_I2ZCDEVNOTFOUND I2C device not present DRV_ERROR_ACK Unable to communicate with card P1_INVAL
65. IRING Acquisition in progress DRV_P1INVALID Binning parameters invalid DRV_P2INVALID Binning parameters invalid DRV_P3INVALID Sub area co ordinate is invalid DRV_P4INVALID Sub area co ordinate is invalid DRV_P5INVALID Sub area co ordinate is invalid DRV_P6INVALID Sub area co ordinate is invalid See also SetReadMode NOTE For iDus it is recommended that you set horizontal binning to 1 SECTION 11 Page 187 ANDOR eS FUNCTIONS SetlmageFlip unsigned int WINAPI SetlmageFlip 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 iHF lip Sets horizontal flipping int iVFlip Sets vertical flipping 1 Enables Flipping 0 Disables Flipping If this function is used in conjunction with the SetlmageRotate function the rotation will occur before the flip regardless of which order the functions are called Return unsigned int DRV_SUCCESS All parameters accepted DRV_NOT_INITIALIZED System not initialized DRV_P1INVALID HF lip parameter invalid DRV_P2INVALID VFlip parameter invalid See also SetlmageRotate SECTION 11 Page 188 ANDOR FUNCTIONS SetimageRotate
66. MPLES 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 The user has the ability to add select their own track parameters i e Start amp Stop number of tracks Maximum of 20 tracks for iDus and they can also select the shutter parameters Spool This example demonstrates the use of spooling to disk Spooling can be enabled or disabled and the stem of the created spool files can be entered The acquisition mode is set to Kinetic Series Continuous mode This is a simple example to demonstrate the iCam functionality that some cameras may have SECTION 10 Page 75 ANDOR Sena 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 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 Unabl
67. ModeAvailable SECTION 11 Page 202 ANDOR FUNCTIONS SetSaturationEvent unsigned int WINAPI SetSaturationEvent HANDLE event Description Parameters Return See also NOTE 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 Before deleting the event you must call SetEvent with NULL as the parameter HANDLE event Win32 event handle unsigned int DRV_SUCCESS Acquisition mode set DRV_NOT_INITIALIZED System not initialized DRV_NOT_SUPPORTED Function not supported for operating system SetDriverEvent The programmer must reset the event after it has been handled in order to receive additional triggers unless the event has been created with auto reset e g event CreateEvent NULL FALSE FALSE NULL Also NOT all programming environments allow the use of multiple threads and Win32 events Only supported with the CCI 23 card USB cameras do not have this feature SECTION 11 Page 203 ANDOR ene FUNCTIONS SetShutter unsigned int WINAPI SetShutter int ttIType int mode int closingTime int openingTime Description This function controls the behaviour of the shutter The ttIType pa
68. ON 1 Page 13 ANDOR ee INTRODUCTION Version 2 78 New features e Support for Luca 285 added e Data transfer from USB cameras improved e SetlsolatedCropMode function added to provide crop mode option added for iXon e Improved support for integrate on chip Added GetDDGIOCFrequency GetDDGIOCNumber SetDDGIOCNumber e Option to export to raw data SaveAsRaw Bug fixes e SaveAsSif in SDK not storing readout speed correctly e Shutter now works correctly for Classic cameras when the software is run for the first time after rebooting PC e Data was wrapping at 65K if taking a kinetic series of accumulations Version 2 77 New features e Supports 32 and 64 bit Windows XP and Vista e Moved to new USB device driver libUSB e iCam New Run Till Abort functionality for latest iXon with CCI 23 controller card and Luca Cameras SendSoftwareTrigger SetRingExposureTimes GetAdjustedRingExposureTimes GetNumberRingExposureTimes GetRingExposureRange IsTriggerModeAvailable e New image manipulation functions SetimageFlip SetilmageRotate e Save as GRAMS SPC file format SaveAsSPC e Calculate the red and blue relative to green factors to white balance a colour image WhiteBalance SECTION 1 Page 14 ANDOR ee INTRODUCTION Version 2 76 New features e Additional capabilities added to GetCapabilities function e GetAmpDesc function added e Timeout added for WaitForAcquisition function Bug fix
69. R Qao 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 The horizontal shift speed is the speed at which the charge in the shift register is shifted horizontally It is also the speed at which the signal is digitized via the on board A D converters The number of horizontal shift speeds and their actual values are determined via the GetNumberHSSpeeds and GetHSSpeed functions The horizontal shift speed is dependant on the CCD type and the model of plug in card in the system The shift speeds are always returned fastest first The following example retrieves the number of horizontal speeds allowed and their actual values in microseconds Finally it selects the fastest speed as follows GetNumberHSSpeeds 0 0 amp a first A D request data speeds for I 0 lt a l GetHSSpeed 0 0 amp speed l SetHSSpeed 0 0 Fastest speed SECTION 6 Page 51 ANDOR Qao SHUTTER CONTROL SECTION 7 SHUTTER CONTROL SHUTTER MODES In the sections on Acquisition modes and R
70. S SHUTTEREX we can control the TTL type and mode of the internal if available and external shutter independently using function SetShutterEx The external shutter signal will be output through the Shutter SMB port on the rear of the camera The internal and external shutters will have the same opening and closing times SECTION 7 Page 53 ANDOR Sess 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 Similarly if you are triggering a pulse light source via the Fire pulse then you will want to ensure that the Fire pulse goes high only when the shutter is opened Also if you are acquiring data in an imaging mode Multi Track Random Track Single Track or Image with either a continuous light source or a large high background illumination with a pulsed source the shutter must be fully closed before readout begins Otherwise a smeared image will result The SetShutter and SetShutterEx functions allow you to specify a Transfer Time for both opening and closing the shutter The time you specify for the shutter opening time will affect the minimum exposure time you can set via the S
71. TIALIZED System not initialized GetSlotBusDeviceFunction unsigned int WINAPI GetSlotBusDeviceFunction DWORD dwSlot DWORD dwBus DWORD dwDevice DWORD dwFunction Description THIS FUNCTION IS RESERVED SECTION 11 Page 134 ANDOR 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 Parameters Return This function returns the Software version information for the microprocessor code and the driver unsigned int eprom EPROM version unsigned int cofFile COF file version unsigned int vxdRev Driver revision number unsigned int vxdVer Driver version number unsigned int dllRev DLL revision number unsigned int dllVer DLL version number unsigned int DRV_SUCCESS Version information returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_ERROR_ACK Unable to communicate with card GetSpoolProgress unsigned int WINAPI GetSpoolProgress long index Description Parameters Return See also Deprecated see Note This function will return information on the progress of the current spool operation The value returned is the number of images that have been saved to disk during the current kinetic scan long index returns the number of files saved to disk in the current kinetic scan
72. The GetStatus function can be used to get the current status of the acquisition It will return information such as the acquisition is in progress or it is finished See GetStatus for full list of return information Another way to know if an acquisition is finished is with the WaitForAcquisition function When an acquisition is started the WaitForAcquisition function can be called it does not return from this function until the acquisition is finished The function can be cancelled by calling the CancelWait function although this will require the user application to be multi threaded Hes f f WaitForAcquisition Pseudo Code Example f f Note This code does not compile of f f Start of program f f Initialize camera Initialize ff Start the acquisition Startad cquisition f f Wait for the acquisition to complete WaitFordcquisition f f Retrieve data f f Shut down camera ShutDown i f f End of program Figure 12 Example of WaitForAcquisition Pseudo Code SECTION 9 Page 60 AN DOR ene 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 t
73. VALID DRV_P4INVALID DRV_P5INVALID Image demosaiced Invalid pointer i e NULL Invalid pointer i e NULL Invalid pointer i e NULL Invalid pointer i e NULL One or more parameters in info is out of range GetMostRecentColorlmage16 WhiteBalance SECTION 11 Page 79 ANDOR ene FUNCTIONS FreelnternalMemory unsigned int WINAPI FreelnternalMemory void Description The FreelnternalMemory function will deallocate any memory used internally to store the previously acquired data Note that once this function has been called data from last acquisition cannot be retrived Parameters NONE Return unsigned int DRV_SUCCESS Memory freed DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_ERROR_ACK Unable to communicate with card See also Getlmages PrepareAcquisition SECTION 11 Page 80 ANDOR Pao FUNCTIONS GetAcquiredData unsigned int WINAPI GetAcquiredData long array 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 Parameters long array 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_ACQUIRING Acquisition in progress DRV_ERROR_ACK Una
74. VSAmplitudes int number Description Parameters Return This function will normally return the number of vertical clock voltage amplitues that the camera has int number unsigned int DRV_SUCCESS Number returned DRV_NOT_INITIALIZED System not initialized DRV_NOT_AVAILABLE Your system does not support this feature GetNumberVSSpeeds unsigned int WINAPI GetNumberVSSpeeds int number Description Parameters Return See also 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 int number number of allowed vertical speeds unsigned int DRV_SUCCESS Number of speeds returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress GetVSSpeed SetVSSpeed GetFastestRecommendedVSSpeed SECTION 11 Page 130 ANDOR oe TECHNOLOGY FUNCTIONS GetOldestlmage unsigned int WINAPI GetOldestImage long array 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 long array pointer to data storage allocated by the user unsigned long size total number of pixels Return unsigned int DRV_SUCCESS Image has been copi
75. V_IDLE Not Acquiring DRV_ERROR_CODES Error communicating with camera DRV_ERROR_ACK Previous acquisition not complete See also GetCapabilities IsTriqgerModeAvailable SetAcquisitionMode SetReadMode SetTriggerMode NOTES The settings of the camera must be as follows ReadOut mode is full image RunMode is Run Till Abort TriggerMode is 10 SECTION 11 Page 156 ANDOR FUNCTIONS SetAccumulationCycleTime unsigned int WINAPI SetAccumulationCycleTime float time Description Parameters Return See also 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 float time the accumulation cycle time in seconds unsigned int DRV_SUCCESS Cycle time accepted DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Exposure time invalid SetNumberAccumulations GetAcquisitionTimings SetAcqStatusEvent unsigned int WINAPI SetAcqStatusEvent HANDLE event Description Parameters Return See also NOTE This function passes a Win32 Event handle to the driver via which the driver can inform the user software that the camera has started exposing or that the camera has finished exposing To determine what event has actually occurred call the GetCameraEventStatus funtion This may give th
76. ality With this feature enabled the baseline level of each scan in a kinetic series will be more consistent across the sequence int active Enables Disables Baseline clamp functionality 1 Enable Baseline Clamp 0 Disable Baseline Clamp unsigned int DRV_SUCCESS Parameters set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_NOT_AVAILABLE Baseline Clamp not available for this camera DRV_P1INVALID State parameter was not zero or one SetBaselineOffset unsigned int WINAPI SetBaselineOffset int offset Description Parameters Return NOTE This function allows the user to move the baseline level by the amount selected For example 100 will add approximately 100 counts to the default baseline value The value entered should be a multiple of 100 between 1000 and 1000 inclusively Int offset Amount to offset baseline by unsigned int DRV_SUCCESS Parameters set DRV_NOT_INITIALIZED System not initialized DRV_NOT_AVAILABLE Baseline Clamp not available for this camera DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Offset out of range Only available on iXon range SECTION 11 Page 160 ANDOR FUNCTIONS SetCameraStatusEnable unsigned int WINAPI SetCameraStatusEnable DWORD Enable Description Parameters Return See also NOTE Use this function to Mask out certain types of acquisition status events The default is to notify on ever
77. all the data from the series This could be a single scan or an entire kinetic series SECTION 9 Page 62 ANDOR OA 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 e Horizontal Pixel Shift Capabilities e Vertical Pixel Shift Capabilities e Other Capabilities SECTION 9 Page 63 ANDOR Pan 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 amp range of Horizontal Shift Speeds and the number amp range of Pre Amp Gains The first step in this process is to determine the following e Number of A D channels using the GetNumberADChannels function e Number of output amplifiers using the GetNumberAmp function e Maximum number of pre amp gains using the GetNumberPreAmpGains function NOTE Not all PRE AMP gains are available for each horizontal shift speed The IsPreAmpGainAvailable function is used to determine which are valid for a particular horizontal shift speed and this will be explained later The bit depth of each A D channel can be found
78. also This function will set the vertical speed to be used for subsequent acquisitions int index index into the vertical speed table Valid values 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 GetNumberVSSpeeds GetVSSpeed GetFastestRecommendedVSSpeed ShutDown unsigned int WINAPI ShutDown void Description Parameters Return See also This function will close the AndorMCD system down NONE unsigned int DRV_SUCCESS System shut down CoolerOFF CoolerON Setlemperature GetTemperature NOTE For Classic amp ICCD systems the temperature of the detector should be above 20 C before shutting down the system SECTION 11 Page 214 ANDOR FUNCTIONS unsigned int WINAPI StartAcquisition void Description Parameters Return See also StartAcquisition This function starts an acquisition The status of the acquisition can be monitored via GetStatus NONE unsigned int DRV_SUCCESS DRV_NOT_INITIALIZED DRV_ACQUIRING DRV_VXDNOTINSTALLED DRV_ERROR_ACK DRV_INIERROR DRV_ACQERROR DRV_ERROR_PAGELOCK DRV_INVALID_FILTER DRV_BINNING_ERROR Acquisition started System not initialized Acquisition in progress VxD not loaded Unable to communicate with card Error reading DETECTOR INI Acquisition settings invalid Unable to allocate mem
79. ameters Return See also 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 int mode 0 Disabled 1 Enabled unsigned int DRV_SUCCESS Parameters accepted SetTriggerMode SetFilterMode unsigned int WINAPI SetFilterMode int mode Description Parameters Return See also This function will set the state of the cosmic ray filter mode for future acquisitions If the filter mode is on consecutive scans in an accumulation will be compared and any cosmic ray like features that are only present in one scan will be replaced with a scaled version of the corresponding pixel value in the correct scan int mode current state of filter 0 OFF 2 ON unsigned int DRV_SUCCESS Filter mode set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Mode is out off range GetFilterMode SetFilterParameters unsigned int WINAPI SetFilterParameters int width float sensitivity int range float accept int smooth int noise Description THIS FUNCTION IS RESERVED SECTION 11 Page 180 ANDOR Pan FUNCTIONS SetFKVShiftSpeed unsigned int WINAPI SetFKVShiftSpeed int index Description This function will
80. arameter is not zero or one DRV_P2INVALID Cropheight parameter is less than one or greater than the CCD height DRV_P3INVALID Reserved parameter is not equal to zero DRV_NOT_SUPPORTED Either the camera is not a Newton or the read mode is SECTION 11 Page 163 ANDOR gt FUNCTIONS not Full Vertical Binning See also GetDetector SetlsolatedCropMode NOTE Available on Newton SDK SECTION 11 Page 164 ANDOR ea 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 Parameters long cameraHandle Selects the active camera Return unsigned int DRV_SUCCESS Camera successfully selected DRV_P1INVALID Invalid camera handle SEE ALSO GetCurrentCamera GetAvailableCameras GetCameraHandle SetCustomTrackHBin unsigned int WINAPI SetCustomTrackHBin int bin Description This function sets the horizontal binning value to be used when the readout mode is set to Random Track Parameters Int bin Binning size Return unsigned int DRV_SUCCESS Binning set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING
81. ardwareVersion GetNumber SSpeeds GetVSSpeed GetSoftwareVersion GetHSSpeed GetNumberHSSpeed GetTemperatureRange SetTemperature CoolerON Get Temperature Has Temperature Stabilized 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 The current temperature is periodically monitored to check if the temperature has stabilized to the set value The temperature can take several minutes to stabilize and with the appropriate programming techniques the user should be able to set up other tasks as illustrated in the C examples Once the CCD sensor temperature has stabilized you can start acquiring data SECTION 10 Page 71 ANDOR oe TECHNOLOGY EXAMPLES from 4 SetAcquisitionMode SetReadoutMode SetShutter SetExposureTime SetTriggerMode SetAccumulationCycyletime SetNumberAccumulations SetNumberKinetics SetKineticCycletime GetAcquisitiontimings SetHSSpeed SetVSSpeed Change Ba StartAcquisition tes anaes GetStatus 4 i i NO Is Data 8 ae Fequisition l complete 4 9 GetAcquiredData i
82. ast insertion delay Return 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 DRV_IZCDEVNOTFOUND I2C device not present DRV_ERROR_ACK Unable to communicate with card See also SetDDGiIntelligate NOTE Available on iStar SetDDGIntelligate unsigned int WINAPI SetDDGintelligate int gating Description This function controls the MCP gating Not available when the fast insertion delay option is selected Parameters int gating ON OFF switch for the MCP gating Valid values 0 to switch MCP gating OFF 1 to switch MCP gating ON Return unsigned int DRV_SUCCESS Intelligate option accepted DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_I2CTIMEOUT I2C command timed out DRV_I2ZCDEVNOTFOUND I2C device not present DRV_ERROR_ACK Unable to communicate with card See also SetDDGInsertionDelay NOTE Available on iStar SECTION 11 Page 167 ANDOR ene FUNCTIONS SetDDGIOC unsigned int WINAPI SetDDGIOC int integrate 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 DRV_SUCCESS IOC option accepted DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_I2CTIMEOUT I2C c
83. aveAsTiff char path char palette long position long type Description This function saves the last acquisition as a tiff 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 tiff 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 The parameter position can be changed to export different scans in a kinetic series If the acquisition is any other mode position should be set to 1 The parameter type can be set to 0 1 or 2 which correspond to 8 bit 16 bit and color respectively Parameters char path The filename of the tiff char palette The filename of a palette file PAL for applying color to the tiff long position The number in the series should be 1 for a single scan long type The type of tiff file to create Return unsigned int DRV_SUCCESS Data successfully saved as tiff DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_ERROR_ACK Unable to communicate with card DRV_P1INVALID Path invalid DRV_P2INVALID Invalid palette file DRV_P3INVALID position out of range DRV_P4INVALID type not valid DRV_ERROR_PAGELOCK File too large to be generated in memory See also SaveAsSif SaveAsEDF SaveAsFITS SaveAsRaw SaveAsSPC SaveAsBmp SaveAs TiffEx SECTION 11 Page 154
84. axlmagesPerDMA Override to the number of images per DMA if the calculated value is higher than this Default 0 ie no override float SecondsPerDMA Minimum amount of time to elapse between interrrupts Default 0 03s unsigned int DRV_SUCCESS DMA Parameters setup successfully DRV_NOT_INITIALIZED System not initialized DRV_P1INVALID MaxImagesPerDMA invalid DRV_P2INVALID SecondsPerDMA invalid SECTION 11 Page 173 ANDOR oe TECHNOLOGY FUNCTIONS SetDriverEvent unsigned int WINAPI SetDriverEvent HANDLE event Description Parameters Return See also 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 2 As each scan during an acquisition is completed 3 Temperature as stabilized drifted from stabilization or could not be reached When an event is triggered the user software can then use other SDK functions to determine what actually happened Condition 1 and 2 can be tested via GetStatus function while condition 3 checked via GetTemperature function You must reset the event after it has been handled in order to receive additional triggers Before del
85. ble on iStar SECTION 11 Page 171 ANDOR eS FUNCTIONS SetDelayGenerator unsigned int WINAPI SetDelayGenerator int board short address int type 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 type The type of your Delay Generator Return unsigned int DRV_SUCCESS Delay Generator set up DRV_NOT_INITIALIZED System not initialized DRV_ERROR_ACK Unable to communicate with card DRV_ACQUIRING Acquisition in progress DRV_P1INVALID GPIB board invalid DRV_P2INVALID GPIB address invalid DRV_P3INVALID Delay generator type invalid See also SetGate NOTE Available on ICCD SECTION 11 Page 172 ANDOR ene FUNCTIONS SetDMAParameters unsigned int WINAPI SetDMAParameters int MaxlmagesPerDMA float SecondsPerDMA Description Parameters Return 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 The drawback to this is that you will not get the data for an i
86. ble only on USB iStar SECTION 11 Page 120 ANDOR FUNCTIONS GetMinimumimageLength unsigned int WINAPI GetMinimumlImageLength int MinimageLength Description Parameters Return See also 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 int MinlmageLength Will contain the minimum number of super pixels on return unsigned int DRV_SUCCESS Minimum Number of Pixels returned DRV_NOT_INITIALIZED System not initialized DRV_P1INVALID Invalid MinImageLength value i e NULL Setlmage SECTION 11 Page 121 ANDOR ba TECHNOLOGY FUNCTIONS GetMostRecentColorimage16 unsigned int WINAPI GetMostRecentColorlmage16 unsigned long size int algorithm WORD red WORD green WORD blue Description Parameters Return See also For colour sensors only Color version of the GetMostRecentlmage16 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 unsigned long size total number of pixels int algorithm algorithm used to extract the RGB from the original CYMG CCD 0 basic algorithm combining Cyan Yellow and Magenta 1 algorithm combining Cyan Ye
87. ble to communicate with card DRV_P1INVALID Invalid pointer i e NULL DRV_P2INVALID Array size is incorrect DRV_NO_NEW_DATA No acquisition has taken place See also GetStatus StartAcquisition GetAcquiredData16 GetAcquiredData16 unsigned int WINAPI GetAcquiredData16 WORD array unsigned long size Description 16 bit version of the GetAcquiredData function The array must be large enough to hold the complete data set Parameters WORD array pointer to data storage allocated by the user long size total number of pixels Return unsigned int DRV_SUCCESS Data copied DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_ERROR_ACK Unable to communicate with card DRV_P1INVALID Invalid pointer i e NULL DRV_P2INVALID Array size isincorrect DRV_NO_NEW_DATA No acquisition has taken place See also GetStatus StartAcquisition GetAcquiredData SECTION 11 Page 81 ANDOR FUNCTIONS GetAcquiredFloatData unsigned int WINAPI GetAcquiredFloatData float array unsigned long size Description THIS FUNCTION IS RESERVED GetAcquisitionProgress unsigned int WINAPI GetAcquisitionProgress long accum long series Description Parameters Return See also 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 comple
88. celD 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 unsigned int DRV_SUCCESS Write successful DRV_VXDNOTINSTALLED VxD not loaded DRV_INIERROR Unable to load DETECTOR INI DRV_COFERROR Unable to load COF DRV_FLEXERROR Unable to load RBF DRV_ERROR_ACK Unable to communicate with card DRV_I2CDEVNOTFOUND Could not find the specified device DRV_I2CTIMEOUT Timed out reading from device DRV_UNKNOWN_FUNC Unknown function incorrect cof file See also I2CBurstWrite I2CBurstRead 2CRead l2cReset IdAndorDIl unsigned int WINAPI IdAndorDIl void Description THIS FUNCTION IS RESERVED InAuxPort unsigned int WINAPI InAuxPort int port int state Description This function returns the state of the TTL Auxiliary Input Port on the Andor plug in card Parameters int port Number of AUX in port on Andor card Valid Values 1 to 4 int state current state of port 0 OFF LOW all otherON HIGH Return unsigned int DRV_SUCCESS AUX read 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_P1INVALID Invalid port id See also OutAuxPort SECTION 11 Page 144 ANDOR Po FUNCTIONS Initialize unsigned int WINAPI Initialize char directory Description This function will initialize the Andor SDK System As part of
89. cify not only the height in pixels of the area to be acquired but also its vertical position on the CCD To ensure the best possible Signal to Noise ratio all the rows within the specified area are binned together into the shift register of the CCD and then digitized SINGLE TRACK Centre Track Height Row Figure 3 Single track Single Track mode is useful because you are able to precisely define only the area of the CCD sensor that is illuminated by light This is particularly important in low light level applications as it allows you to minimize the contribution of dark current in the measured signal Also if you are using an imaging spectrograph such as the Shamrock with a multiple core fiber this mode allows you to select a single fiber for examination To set up a Single Track acquisition you need to call the following functions SetReadMode 3 SetSingleTrack 128 20 NOTE If a non frame transfer camera is used a shutter may be required to prevent light which would otherwise fall on the CCD chip outside the specified track from corrupting the data during binning Please refer to SECTION 8 SHUTTER CONTROL for further information SECTION 3 Page 23 ANDOR eS 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 ac
90. cks Description Parameters Return See also 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 Ixon and the USB cameras allow tracks with no gaps in between Example Tracks specified as 20 30 31 40 tells the SDK that the first track starts at row 20 in the CCD and finishes at row 30 The next track starts at row 31 no gap between tracks and ends at row 40 int number number tracks Valid values 1 to number of vertical pixels 2 int tracks pointer to an array of track positions The array has the form bottom1 top1 bottom2 top2 bottomN topN unsigned int DRV_SUCCESS Parameters set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Number of tracks invalid DRV_P2INVALID Track positions invalid SetCustomTrackHBin SetReadMode StartAcquisition SECTION 11 Page 200 ANDOR 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 1 2 3 4 Return unsigned int DRV_SUCCESS Full Ve
91. cription Deprecated see Note 8 bit version of the GetNewData function This function will return the data in the lower 8 bits of the acquired data Parameters unsigned char array pointer to data storage allocated by the user unsigned long size total number of pixels Return unsigned int DRV_SUCCESS DRV_NOT_INITIALIZED DRV_ERROR_ACK DRV_P1INVALID DRV_P2INVALID DRV_NO_NEW_DATA NOTE Deprecated by the following functions e Getlmages e GetMostRecentimage e GetOldestlimage Data copied System not initialized Unable to communicate with card Invalid pointer i e NULL Array size is incorrect There is no new data yet SECTION 11 Page 125 ANDOR ene FUNCTIONS GetNewFloatData unsigned int WINAPI GetNewFloatData float array unsigned long size Description THIS FUNCTION IS RESERVED GetNumberADChannels unsigned int WINAPI GetNumberADChannels int number 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 number number of allowed channels Return unsigned int DRV_SUCCESS Number of channels returned See also SetADChannel GetNumberAmp unsigned int WINAPI GetNumberAmp int number Description As your Andor SDK system may be capable of operating with more than one output amplifier this function will tell you the number available Parameters int number number of all
92. cs function Kinetic Cycle Time This is the period in seconds between the start of each scan or set of accumulated scans if you have set the Number of Accumulations to more than 1 in the series Set via the SetKineticCycleTime function This parameter is only applicable if you have selected the Internal trigger see Trigger Modes NOTE 1 If the exposure time or the cycle time are set too low or are not permissible values the driver will automatically calculate the nearest appropriate value 2 The actual values used can be obtained via the GetAcquisitionTimings function This function should be called after the acquisition has been fully defined i e readout mode trigger mode etc have been set If you are using a shutter please refer to SECTION 8 SHUTTER CONTROL for further information SECTION 4 Page 32 ANDOR 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 Exposure Time Run Till Abort lt lt e g Minimum Kinetic Cycle Time Exposure Time 0 3s 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
93. curred eg CancelWait called SECTION 11 Page 217 ANDOR Sa FUNCTIONS See also CancelWait GetCameraHandle StartAcquisition WaitForAcquisition WaitForAcquisitionTimeOut WaitForAcquisitionByHandleTimeOut SDK SECTION 11 Page 218 ANDOR FUNCTIONS WaitForAcquisitionByHandleTimeOut unsigned int WINAPI WaitForAcquisitionByHandleTimeOut long cameraHandle int _iTimeOutMs Description Parameters Return See also 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 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 Like the SetDriverEvent functionality it will use less processor resources than continuously polling with the GetStatus function If you wish to restart the calling thread without waiting for an Acquisition event call the function CancelWait An Acquisition Event occurs each time a new image is acquired during an Accumulation Kinetic Series or Run Till Abort acquisition or at the end of a Single Scan Acquisition If an Acquisition Event does not occur within _TimeOutMs milliseconds WaitForAcquisitionTimeOut returns DRV_NO_NEW_DATA Long cameraHandle handle of camera to put into wait state int _iTimeOutMs Time befo
94. d SetReadMode StartAcquisition SetRandomTracks SECTION 11 Page 193 ANDOR h 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 DRV_SUCCESS Binning set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Invalid binning size See also SetReadMode SetMultiTrack NOTE 1 If the multitrack range is not a multiple of the binning DRV_BINNING_ERROR will be returned from PrepareAcquisition and or StartAcquisition 2 For iDus it is recommended that you set horizontal binning to 1 SetMultiTrackHRange unsigned int WINAPI SetMultiTrackHRange int start int end Description This function sets the horizontal range used when acquiring in Multi Track read mode Parameters int start First horizontal pixel in multi track mode int end Last horizontal pixel in multi track mode Return unsigned int DRV_SUCCESS Range set DRV_NOT_INITIALIZED System not initialized DRV_NOT_AVAILABLE Feature not available for this camera DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Invalid start position DRV_P2INVALID Invalid end position See also SetReadMode SetMultiTrack SECTION 11 Page 194 ANDOR on FUNCTIONS SetNextAddress unsigned int WINAPI SetNextAddress long data long lowAdd long h
95. de e Step 5 On completion of the readout the CCD is again completely cleared ready to acquire the next image The CCD remains in the Keep Clean Cycle until the end of the accumulation or kinetic cycle time depending on the acquisition mode i e back to Step 1 As at least one Keep Clean Cycle is performed between each exposure the minimum exposure time is no longer set by the time to read out the image 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 SECTION 4 Page 40 ANDOR ea ACQUISITION MODES NOTES e When using an FT CCD as a standard CCD the Exposure Time Accumulation Cycle Time and Kinetic Cycle Time can be set independently e The minimum exposure time is not related to the time taken to read out the image e External trigger operates as if the CCD was a Non FT CCD e 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 e For short exposure times the image may appear streaked as the time taken to shift the image area into the storage area may be of similar magnitude e Light falling on the Image area while the Storage area is being read out may contaminate the image in the Storage area due to charge spilling vertically along a column from the Image area The slower the readout rate or the shorter the
96. de the delay between each scan making up the acquisition is not under the control of the Andor SDK but is synchronized to an externally generated trigger pulse SECTION 4 Page 31 ANDOR o aA 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 The default value of 1 means that each member of the kinetic series will consist of a single scan Set via the SetNumberAccumulations function Accumulate Cycle Time This is the period in seconds between the start of individual scans see Number of Accumulations above that are accumulated in computer memory to create each member of your kinetic series each member of the series is an accumulated scan Set via the SetAccumulationCycleTime function This parameter is only applicable if you have selected the Internal trigger and the Number of Accumulations is greater than 1 Please refer to SECTION 6 TRIGGERING for further information Number in Kinetic Series This is the number of scans or accumulated scans you specify to be in your series Set via the SetNumberKineti
97. 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 To simplify the process of controlling these acquisitions the Andor SDK has divided the acquisition process into several different Acquisition Modes e Single Scan e Accumulate e Kinetic Series e Run Till Abort e Fast Kinetics Single Scan is the simplest form of acquisition where a single scan is captured Accumulate mode takes a sequence of single scans and adds them together Kinetic Series mode captures a sequence of single scans or possibly depending on the camera a sequence of accumulated scans Run Till Abort continually performs scans of the CCD until aborted If your system is a Frame Transfer CCD the acquisition modes can be enhanced by setting the chip operational mode to Frame Transfer In the remainder of this section we will discuss in detail what each of these modes actually are and what needs to be specified to fully define an acquisition The table below summarizes the information that is needed for each acquisition mode NO ACCUMULATE NO KINETIC i MODE EXPOSURE CYCLE OF CYCLE TIME KINETIC TIME ACCUMULATIONS TIME SERIES SINGLE SCAN x ACCUMULATE x x X KINETIC SERIES x x x x X RUN TILL ABORT x X FAST KINETICS X X X NOTE For the purpose of this document an acquisition is taken to mean
98. e 204 ANDOR FUNCTIONS SetShutterEx unsigned int WINAPI SetShutterEx int ttIType int internalMode int closingTime int openingTime int externalMode Description Parameters Return NOTE 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 ttIType parameter allows the user to control the TTL signal output to an external shutter The opening and closing times specify the length of time required to open and close the shutter this information is required for calculating acquisition timings see SHUTTER TRANSFER TIME The internalMode and externalMode parameters control the behaviour of the internal and external shutters To have an external shutter open and close automatically in an experiment set the internalMode parameter to Open and set the externalMode parameter to Auto To have an internal shutter open and close automatically in an experiment set the externa Mode parameter to Open and set the internalMode parameter to Auto To not use any shutter in the experiment set both shutter modes to permanently open Int ttIType 0 Output TTL low signal to open shutter 1 Output TTL high signal to open shutter int internalMode 0 Auto 1 Open 2 Close int closingTime time shutter takes to close milliseconds int openingTime T
99. e 98 ANDOR Pan 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 See SetDriverEvent Bit 1 State 1 Capability AC_FEATURES_SPOOLING Description Acquisition Data can be made to spool to disk using the SetSpool function Bit 2 State 1 Capability AC_FEATURES_ SHUTTER Description Shutter settings can be adjusted through the SetShutter function Bit 3 State 1 Capability AC_FEATURES_ SHUTTEREX Description Shutter settings can be adjusted through the SetShutterEx function Bit 4 State 1 Capability AC_FEATURES EXTERNAL _12C Description The camera has its own dedicated external I2C bus Bit 5 State 1 Capability AC_FEATURES_SATURATIONEVENT Description Sensor saturation can be determined through the SetSaturationEvent function Bit 6 State 1 SECTION 11 Page 99 ANDOR Sess 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 Descript
100. e been set SECTION 4 Page 29 ANDOR ea 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 ACCUMULATED Example Exposure Time 0 3s Exposure Time Accumulated Cycle time 1 55 PB No of Accurnulations 3 M mn gt lt Accumulated Cycle Time To set the acquisition mode to Accumulate call SetAcquisitionMode 2 To fully define an Accumulate acquisition you will need to supply the follow information Exposure Time This is the time in seconds during which the CCD sensor collects light prior to readout Set via the SetExposureTime function Number of Accumulations This is the number of scans to be acquired and accumulated in the memory of the PC Set via the SetNumberAccumulations function Accumulate Cycle Time This is the period in seconds between the start of each scan Set via the SetAccumulationCycleTime function This parameter is only applicable if you have selected Internal trigger Please refer to SECTION 6 TRIGGERING for further information NOTES 1 If the exposure time or the cycle time are
101. e for use and the default selection a is the default type and is followed by a list of all possible types AD2DataHSSpeed AD2DataHSSpeed default min max This line specifies the possible horizontal readout speeds min and max specify the range of readout times available in microseconds SECTION 13 Page 229 ANDOR ea 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 AD2Pipeline AD2Pipeline a b c See PipeLine in the controller section iXon Ixon a Specifies whether the CCD is an iXon camera if so the line will read Ixon 1 If this line is missing the CCD is not an iXon EXAMPLE DETECTOR INI FILES DH220 DH220 Format 1024 1 DummyPixels 0 0 0 0 DataHShiftSpeed 16 1 2 16 32 DataV ShiftSpeed 16 16 0 0 0 DummyHShiftSpeed 16 1 2 16 32 DummyVShiftSpeed 16 16 0 0 0 VerticalHorizontalTime 16 16 0 0 0 CodeFile Instapda cof Pixel 25 0 2500 0 Cooling Single DV420 DV420 Format 1024 256 DummyPixels 8 8 0 0 DataHShiftSpeed 16 1 2 16 32 DataVShiftSpeed 16 16 0 0 0 DummyHShiftSpeed 16 1 2 16 32 DummyVShiftSpeed 16 16 0 0 0 VerticalHo
102. e in your signal In general only the very highest speeds are likely to benefit from increased vertical clock voltage amplitude Once the information has been retrieved the relevant selections can be made using these functions e SetVSSpeed e SetVSAmplitude An example of the pseudo code for this capability is shown in figure 15 ff f Vertical Pixel Shift Pseudo Code Example Note This code does not compile ff ff Start of program f f Initialize camera Initialize long NumV SSpeeds RecommendedVSSpeedIndex float VSSpeed GetNumber VS Speeds NumVS Speeds GetFastestRecommendedVS Speed Recommended SSpeedIndex VSSpeed for i 0 to MumChannels 1 GetVSSpeed i VSSpeed f f Shat down camera Shur Downt End of program Figure 15 Example of vertical pixel shift pseudo code SECTION 9 Page 66 ANDOR OA SPECIAL GUIDES Other Capabilities Other information about the camera can be obtained using the following functions e GetCapabilities e 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 The IslnternalMechanicalShutter function is used to determine if the camera has an internal mechanical shutter SECTION 9 Page 67 ANDOR Ga SPEC
103. e is no new data yet See also GetMostRecentlmage16 GetOldestImage GetOldestImage16 Getlmages GetMostRecentlmage16 unsigned int WINAPI GetMostRecentimage16 WORD array unsigned long size Description 16 bit version of the GetMostRecentlmage function Parameters WORD array pointer to data storage allocated by the user unsigned long size total number of pixels Return unsigned int DRV_SUCCESS Image has been copied into array 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 DRV_NO_NEW_DATA There is no new data yet See also GetMostRecentimage GetOldestImage16 GetOldestImage Getlmages SECTION 11 Page 123 ANDOR on 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 long array unsigned long size Description Deprecated see Note This function will update the data array to hold data acquired so far The data are returned as long integers 32 bit signed integers The array must be large enough to hold the complete data set When used in conjunction with the SetDriverEvent and GetAcquisitonProgress function
104. e of CCD attached to your system char model A user allocated array of characters for storage of the Head Model This should be declared as size MAX_PATH unsigned int DRV_SUCCESS Name returned DRV_NOT_INITIALIZED System not initialized SECTION 11 Page 111 ANDOR haa 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 int speed speed in micro seconds per pixel shift Return unsigned int DRV_SUCCESS Speed returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Invalid index See also GetNumberHorizontalSpeeds SetHorizontalSpeed NOTE Deprecated by GetHSSpeed SECTION 11 Page 112 ANDOR FUNCTIONS GetHSSpeed unsigned int WINAPI GetHSSpeed int channel int type int index float speed Description Parameters Return See also 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
105. e 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 This ensures that all acquisitions are identical no matter how long a time has elapsed since data was last acquired in fact the camera continually reads out the CCD to help prevent it from being saturated by light falling on it whilst it is not acquiring data The camera also generates all the necessary pulses for shuttering and firing external sources These pulses are accessed directly on the camera or via the Auxiliary Connector depending on the model The Fire Output defines the position in time during which it is safe to allow a pulsed source to fire The figure below illustrates the timing sequence for this mode of operation Exposure time Shutter Output Fire Output lt 3 Read time Triqqer Fire Pulse gt Time to Open Time to Close Shutter Transfer Time Shutter Transfer Time Internal Trigger Mode is ideal for situations where you are using continuous wave CW light sources an ordinary room light for instance and incoming data for the purposes of your observation are steady and unbroken thus you can begin acquisitions at will You may use Internal Trigger Mode when you are able to send a trigger signal or Fire Pulse to a short duration pul
106. e to communicate with card See also GetStatus StartAcquisition CancelWait unsigned int WINAPI CancelWait void Description This function restarts a thread which is sleeping within the WaitForAcquisition function The sleeping thread will return from WaitForAcquisition with a value not equal to DRV_SUCCESS Parameters NONE Return unsigned int DRV_SUCCESS Thread restarted successfully See also WaitForAcquisition SECTION 11 Page 76 ANDOR Pan 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 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 DRV_NOT_SUPPORTED Camera does not support switching cooler off See also CoolerON SetTemperature Getlemperature GetTemperatureF GetTemperatureRange GetStatus NOTE Not available on Luca R cameras always cooled to 20 NOTE Classic amp ICCD only 1 When the temperature control is switched off the temperature of the sensor is gradually raised to 0 C to ensure no thermal stresses are set up in the sensor 2 When closing down the program via ShutDown you must ensure that the temperature of the detector
107. e user software an opportunity to perform other actions that will not affect the readout of the current acquisition The SetPCIMode function must be called to enable disable the events from the driver HANDLE event Win32 event handle unsigned int DRV_SUCCESS Mode set DRV_NOT_INITIALIZED System not initialized DRV_NOT_SUPPORTED Function not supported for operating system GetCameraEventStatus SetPClMode This is only available with the CCI23 PCI card SECTION 11 Page 157 ANDOR ere 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 1 Single Scan 2 Accumulate 3 Kinetics 4 Fast Kinetics 5 Run till abort 9 Time Delayed Integration requires special files Return unsigned int DRV_SUCCESS Acquisition mode set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Acquisition Mode invalid See also StartAcquisition NOTE In Mode 5 the system uses a Run Till Abort acquisition mode In Mode 5 only the camera continually acquires data until the AbortAcquisition function is called By using the SetDriverEvent function you will be notified as each acquisition is completed SetAcquisitionType unsigned int WINAPI SetAcquisitionType int type Description THIS FUNCTION IS RESERVED S
108. e user to change the gain value The valid range for the gain depends on what gain mode the camera is operating in See SetEMGainMode to set the mode and GetEMGainRange to get the valid range to work with Parameters int gain amount of gain applied Return unsigned int DRV_SUCCESS Value for gain accepted DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_I2CTIMEOUT 12C command timed out DRV_I2CDEVNOTFOUND I2C device not present DRV_ERROR_ACK Unable to communicate with card DRV_P1INVALID Gain value invalid See also GetEMCCDGain SetEMGainMode GetEMGainRange NOTE Only available on EMCCD sensor systems SECTION 11 Page 175 ANDOR ea 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 3 Real EM gain Parameters int mode EM Gain mode Return DRV_SUCCESS Mode set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID EM Gain mode invalid SECTION 11 Page 176 ANDOR Po FUNCTIONS SetExposureTime unsigned int WINAPI SetExposureT
109. eadout 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 The SetShutter and SetShutterEx functions provide you with a selection of options that determine when and how a shutter should be used Fully Auto Fully Auto is the simplest shutter mode because it leaves all shuttering decisions to the Andor system The shutter opens and closes automatically in accordance with any acquisition parameters you have set This option will automatically provide suitable shuttering for the majority of data acquisitions Hold Open If the shutter mode is set to Hold Open the shutter will be open before during and after any data acquisition Choose this option if you wish to take a series of acquisitions with the shutter opened at all times e g if you are taking a series of acquisitions with a pulsed source with little or no background illumination Hold Closed If the shutter mode is set to Hold Close the shutter remains closed before during and after any data acquisition Choose this option if you wish to take an acquisition in darkness e g if you are acquiring a background scan SECTION 7 Page 52 ANDOR ea SHUTTER CONTROL SHUTTER TYPE The shutter control
110. ean Exposure period 1 i Exposure period 2 oy a aa i Image area clocks Storage area clocks Horizontal clocks External trigger Fire output Image area shifted Storage area read into storage area out phase Exposure period defined by external pulse Global clear used to Horizontal clocks keep image area continue running clean Exposure period 1 Exposure period 2 H P gt Te compe aca cn z Storage area clocks ey Horizontal clocks TT eta Fire output Note exposure period starts Note Falling edge before the readout MUST occur after Exposure period has completed read out completed defined by external pulse External Exposure Trigger in Frame Transfer mode 885 model only SDK SECTION 5 Page 48 ANDOR Peas TRIGGERING Idle keep clean cycle Waiting for Cycle Time T Start command _j ___ _ __ _ _ gt Exposure period Exposure period HEE m Image area clocks Storage area clocks Horizontal clocks External Trigger Fire output Start command External Keep clean i hifted running with global mage area shifte Horizontal clocks into storage area clear on 885 Storage area read running out phase 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
111. ed int DRV_SUCCESS Read successful DRV_VXDNOTINSTALLED VxD not loaded DRV_INIERROR Unable to load DETECTOR INI DRV_COFERROR Unable to load COF DRV_FLEXERROR Unable to load RBF DRV_ERROR_ACK Unable to communicate with card DRV_I2CDEVNOTFOUND Could not find the specified device DRV_I2CTIMEOUT Timed out reading from device DRV_UNKNOWN_FUNC Unknown function incorrect cof file See also I2CBurstWrite l2CRead I2CWrite l2cReset I2CBurstWrite unsigned int WINAPI I2CBurstWrite BYTE i2cAddress long nBytes BYTE data Description This function will write a specified number of bytes to a chosen device attached to the C data bus Parameters BYTE i2cAddress The address of the device to write to long nBytes The number of bytes to write to the device BYTE data The data to write to the device Return unsigned int DRV_SUCCESS Write successful DRV_VXDNOTINSTALLED VxD not loaded DRV_INIERROR Unable to load DETECTOR INI DRV_COFERROR Unable to load COF DRV_FLEXERROR Unable to load RBF DRV_ERROR_ACK Unable to communicate with card DRV_I2CDEVNOTFOUND Could not find the specified device DRV_I2CTIMEOUT Timed out reading from device DRV_UNKNOWN_FUNC Unknown function incorrect cof file See also I2CBurstRead I2CRead I2CWrite I2cReset SECTION 11 Page 142 ANDOR FUNCTIONS I2CRead unsigned int WINAPI I2CRead BYTE devicelD BYTE intAddress BYTE pdata Description Thi
112. ed into array 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 DRV_NO_NEW_DATA There is no new data yet See also GetOldestImage16 GetMostRecentimage GetMostRecentlmage16 GetOldestlmage16 unsigned int WINAPI GetOldestlmage16 WORD array unsigned long size Description Parameters Return See also 16 bit version of the GetOldestImage function WORD array pointer to data storage allocated by the user unsigned long size total number of pixels unsigned int DRV_SUCCESS Image has been copied into array 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 DRV_NO_NEW_DATA There is no new data yet GetOldestImage GetMostRecentImage16 GetMostRecentlmage SECTION 11 Page 131 ANDOR Pan 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 GetPreAmpGain
113. eed available The very high readout speeds may require an increase in the amplitude of the Vertical Clock Voltage using SetVSAmplitude This function returns the fastest speed which does not require the Vertical Clock Voltage to be adjusted The values returned are the vertical shift speed index and the actual speed in microseconds per pixel shift Parameters Int index index of the fastest recommended vertical shift speed float speed speed in microseconds per pixel shift Return unsigned int DRV_SUCCESS Speed returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress _ See also _______GetVSSpeed GetNumberVSSpeeds SetVSSpeed _ o Z oZ ooo o GetFIFOUsage unsigned int WINAPI GetFlFOUsage int FlFOusage Description THIS FUNCTION IS RESERVED GetFilterMode unsigned int WINAPI GetFilterMode int mode Description This function returns the current state of the cosmic ray filtering mode Parameters int mode current state of filter 0 OFF 2 ON Return unsigned int DRV_SUCCESS Filter mode returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress See also SetFilterMode SECTION 11 Page 108 ANDOR FUNCTIONS GetFKExposureTime unsigned int WINAPI GetFKExposureTime float exposure Description Parameters Return See also This function will return the current valid exposure time for a fast kinetics acquisition
114. efore returning DRV_NO_NEW_DATA if no Acquisition Event occurs DRV_SUCCESS Acquisition Event occurred DRV_NO_NEW_DATA Non Acquisition Event occurred eg CancelWait called time out CancelWait StartAcquisition WaitForAcquisition WaitForAcquisitionByHandle WaitForAcquisitionByHandleTimeOut SECTION 11 Page 220 ANDOR FUNCTIONS WhiteBalance unsigned int WINAPI WhiteBalance WORD _wRed WORD _wGreen WORD _wBlue float _fRelR float _fRelB WhiteBalancelnfo _info Description Parameters Return See also 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 WhiteBalancelnfo structure to the function the iSize member of the structure should be set to the size of the structure In C this can be done with the line info gt iSize sizeof WhiteBalancelnfo Below is the WhiteBalancelnfo structure definition and a description of its members typedef struct WHITEBALANCEINFO int iSize Structure size int iX Number of X pixels Must be gt 2 int iY Number of Y pixels Must be gt 2 int iAlgorithm Algorithm to used to calculate white balance int iROI_left Region Of Interest from which white balance is calculated int IROL right Region Of Interest from which white balance is calculated int IROL top Region Of Interest from which white ba
115. ers float time the kinetic cycle time in seconds Return unsigned int DRV_SUCCESS Cycle time accepted DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Time invalid See also SetNumberKinetics SetMCPGain unsigned int WINAPI SetMCPGain int gain Description Allows the user to control the voltage across the microchannel plate Increasing the gain increases the voltage and so amplifies the signal The gain range can be returned using GetMCPGainRange Parameters int gain amount of gain applied Return unsigned int DRV_SUCCESS Value for gain accepted DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_I2CTIMEOUT I2C command timed out DRV_I2ZCDEVNOTFOUND I2C device not present DRV_ERROR_ACK Unable to communicate with device DRV_P1INVALID Gain value invalid See also GetMCPGainRange SetGateMode SetMCPGating NOTE Available on iStar 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 to switch MCP gating OFF 1 to switch MCP gating ON Return unsigned int DRV_SUCCESS Value for gating accepted DRV_NOT_INITIALIZED System not initialized SECTION 11 Page 191 ANDOR Oa ae FUNCTIONS DRV_ACQUIRING Acquisition in progress DRV_I2CTIMEOUT I C command timed out DRV_I2ZCDEVNOTFOUND C device not pre
116. es e Error returned if an invalid EM gain mode is selected e Fixed issues with Fast Kinetics on an iXon e Sometimes a camera was not ready to acquire when an acquisition event was sent e Fixed initialization problem when a was in the path send to Initialize function Version 2 75 New features e Spooling to FITS SIF and TIFF now available e SetBaselineOffset function added e SetShutterEx added to control both an internal and external shutter through a DV8285 e SaveAsSif now handles spooled files Bug Fixes e GetNumberHSSpeeds now includes error checking for classics e GetCapabilities returns correct bit depth for an iDus e IsPreAmpGainAvailable now indicates yes for classic cameras as long as the gain index is zero and other parameters are valid e EMGain Capability now returned correctly for iDus Newton USB iStar e SaveAsBmp was not working in latest version Version 2 74 New features e Support for new Luca range of Cameras e Control of linear EM gain GetEMCCDGain GetEMGainRange SetEMGainMode e Option to save to FITS file format SaveAsFITS e Crop mode available with Newton SetCropMode SECTION 1 Page 15 AN DOR m aaa INTRODUCTION Version 2 73 New features e Support for Newton and SurCam range of Cameras Bug fixes e GetMostRecentlmage does not now prevent access to images previous to the one obtained e Controller type can be tested SECTION 1 Page 16 ANDOR ene INSTALL
117. es GetNumberNewlmages GetlmagesPerDMA unsigned int WINAPI GetIlmagesPerDMA unsigned long images Description This function will return the maximum number of images that can be transferred during a single DMA transaction Parameters unsigned long images Return unsigned int DRV_SUCCESS GetIRQ unsigned int WINAPI GetIRQ int IRQ Description THIS FUNCTION IS RESERVED SECTION 11 Page 116 ANDOR FUNCTIONS GetKeepCleanTime unsigned int WINAPI GetKeepCleanTime float _fKeepCleanTime Description Parameters Return See also NOTES 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 float _fKeepCleanTime valid readout time in seconds unsigned int DRV_SUCCESS Timing information returned DRV_NOT_INITIALIZED System not initialized DRV_ERROR_CODES Error communicating with camera GetAcquisitionTimings GetReadOutTime NOTE Available on iDus iXon Luca amp Newton SECTION 11 Page 117 ANDOR oe TECHNOLOGY FUNCTIONS GetMaximumBinning unsigned int WINAPI GetMaximumBinning int ReadMode int HorzVert int MaxBinning Description Parameters Return See also This function will return the maximum binning allowable in either
118. escription The horizontal binning can be set for the relative read mode Bit 12 State 1 See Note Capability AC_SETFUNCTION_MULTITRACKHRANGE Description The multitrack horizontal range can be set using the SetMultiTrackHRange function Bit 13 State 1 Capability AC_SETFUNCTION_RANDOMTRACKNOGAPS Description Random tracks can be set with no gaps inbetween with the SetRandomTracks or SetComplexlmage functions Bit 14 State 1 NOTE For iDus the horizontalbin capability will be 0 as it is not recommended but it is possible SECTION 11 Page 97 ANDOR Pan 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 Bit 2 State 1 Capability AC_GETFUNCTION_DETECTORSIZE Description The dimensions of the detector can be determined using the GetDetector function Bit 3 State 1 Capability AC_GETFUNCTION_MCPGAIN AC_GETFUNCTION_GAIN deprecated Description Reserved capability Bit 4 State 1 Capability AC_GETFUNCTION_EMCCDGAIN Description The gain can be determined using the GetEMCCDGain function Bit 5 State 1 SECTION 11 Pag
119. eshooting If you are running a PCI camera e 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 From here select the Hardware tab and then click on the Device Manager button e Shut down the PC and ensure that the PCI card is seated correctly e For 32 bit OS ensure that the file atmcdwdm sys file appears in the C WINDOWS system32 drivers directory The latest version is 4 29 0 0 e For 64 bit OS ensure that the file atmcdwdm64 sys file appears in the C WINDOWS system32 drivers directory The latest version is 4 29 0 0 e f the Windows NT driver atmcd sys is in the Drivers directory delete it and restart the PC If you are experiencing communication problems with the Andor USB cameras carry out the following actions e Confirm that the PC being used is USB 2 0 compatible and that a USB 2 0 port is being used for the camera e Check the power to the iDus camera e Check the USB cable from the PC to the iDus camera e Ensure that a LibUSB Win32 Devices section exists in the Device Manager and tab and that your camera is listed To access the Device Manager go to the Control Panel and click on the System control From here select the Hardware tab and then click on the Device Manager button If the entry does not
120. etADChannel unsigned int WINAPI SetADChannel int channel Description This function will set the AD channel to one of the possible A Ds of the system This AD channel will be used for all subsequent operations performed by the system Parameters int index the channel to be used Valid values 0 to GetNumberADChannels 1 Return unsigned int DRV_SUCCESS AD channel set DRV_P1INVALID Index is out off range See also GetNumberADChannels SECTION 11 Page 158 ANDOR FUNCTIONS SetAdvancedTriggerModeState unsigned int WINAPI SetAdvancedTriggerModeState int _istate Description Parameters Return See also NOTE 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 int _istate 0 turn off iCam 1 Enable iCam unsigned int DRV_SUCCESS State set DRV_NOT_INITIALIZED System not initialized DRV_P1INVALID state invalid iCam By default the advanced trigger functionality is enabled SECTION 11 Page 159 ANDOR FUNCTIONS SetBackground unsigned int WINAPI SetBackground long array unsigned long size Description THIS FUNCTION IS RESERVED SetBaselineClamp unsigned int WINAPI SetBaselineClamp int active Description Parameters Return This function turns on and off the baseline clamp function
121. etExposureTime function For example if you set the opening time to Oms then the minimum exposure time will be set to the amount of time needed to clean the shift register on the CCD However if the opening time is set to a larger value than is needed to clean the shift register say 50ms then the minimum exposure time will be 51ms i e 1ms more than the time needed to open the shutter The SetExposureTime is in effect setting the length of time the shutter output will be in the open state The rising edge of the Fire output signal follows the start of the shutter open state after a delay equal to the value you set for the opening time via the SetShutter functions Andor SDK also automatically adds the Transfer Time for the closing of the shutter to the end of the acquisition sequence introducing an appropriate delay between the start of the shutter closed state and the commencement of the data being read out This value is set via the closing time parameter in the SetShutter and SetShutterEx functions Figures 10 amp 11 on the next page show the timing sequence for both Internal and External triggering modes SECTION 7 Page 54 ANDOR OA SHUTTER CONTROL SIGNALS amp DELATS i j Shutter Output Fire Output PETE a Read Time Triggeri je Fire Pulse Duration i f f Time to Open Time to Close Shutter Transfer Time Shutter Transfer Time Figure 9 Timing diagram for shutter and fire pulses
122. eters Return See also Valid values 0 1 6 7 9 10 unsigned int This function will set the trigger mode that the camera will operate in int mode trigger mode Internal External External Start only valid in Fast Kinetics mode External Exposure Bulb External FVB EM only valid for EM Newton models in FVB mode Software Trigger DRV_SUCCESS Trigger mode set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Trigger mode invalid Trigger Modes SetFastExtTrigger SECTION 11 Page 210 ANDOR C FUNCTIONS SetUserEvent unsigned int WINAPI SetUserEvent HANDLE event Description THIS FUNCTION IS RESERVED SetUSGenomics unsigned int WINAPI SetUSGenomics long width long height Description THIS FUNCTION IS RESERVED SetVerticalRowBuffer unsigned int WINAPI SetVerticalRowBuffer int rows Description THIS FUNCTION IS RESERVED SECTION 11 Page 211 ANDOR Pea 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 0 to GetNumberVerticalSpeeds 1 Return unsigned int DRV_SUCCESS Vertical speed set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Index out of range See a
123. eting the event you must call SetEvent with NULL as the parameter HANDLE event Win32 event handle unsigned int DRV_SUCCESS Event set DRV_NOT_INITIALIZED System not initialized DRV_NOT_SUPPORTED Function not supported for operating system GetStatus GetTemperature GetAcquisitionProgress NOTE Not all programming environments allow the use of multiple threads and WIN32 events SECTION 11 Page 174 ANDOR Po 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 gt 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 Parameters int state Enables Disables access to higher EM gain levels 1 Enable access 0 Disable access Return unsigned int DRV_SUCCESS Parameters set DRV_NOT_INITIALIZED System not initialized DRV_NOT_AVAILABLE Advanced EM gain not available for this camera DRV_ACQUIRING Acquisition in progress DRV_P1INVALID State parameter was not zero or one See also GetCapabilities GetEMCCDGain SetEMCCDGain SetEMGainMode SetEMCCDGain unsigned int WINAPI SetEMCCDGain int gain Description Allows th
124. exposure time the greater the possibility of corruption To see why this is the case consider the following situation During a 100us exposure enough light has fallen on a pixel to register 10000 counts or 100 000 electrons assuming 10e count The image is then shifted into the Storage area To read out the image assuming 1000x1000 pixels it would take approximately 100ms at 10MHx readout rate This means that during the reading out of the image 10 million counts 10000 1000 will have been acquired into the pixel described above As a pixel saturates at approximately 160 000 electrons this means that the pixel will over saturated by 60 times All the excess charge has to go somewhere and spreads vertically along the CCD column As the clocks in the Image area are not actively shifting the charge the mobility of the charge will be low and you may not see any effect However when you consider that more than one pixel in any given column could be exposed to 10000 counts per 100us the chance of corrupting data is correspondingly increased Changing the readout rate to 1 microsecond per pixel will greatly decrease the possibility of data corruption due to the reduced time to read out the image Reducing the amount of light falling on the CCD and increasing the exposure time accordingly will also reduce the possibility of data corruption SECTION 4 Page 41 ANDOR ea ACQUISITION MODES By default the system is set to non Frame Tra
125. fold id char versionInfo at_u32 bufferLen Description Parameters Return See also 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 PCl is supported AT_VersionInfold id AT_SDKVersion requests the SDK version information AT_DeviceDriverVersion requests the device driver version char versionInfo A user allocated array of characters for storage of the information at_u32 bufferLen The size of the passed character array versionInfo unsigned int DRV_SUCCESS Information returned DRV_NOT_INITIALIZED System not initialized DRV_P1INVALID Invalid information type requested DRV_P2INVALID Storage array pointer is NULL DRV_P3INVALID Size of the storage array is zero GetHeadModel GetCameraSerialNumber GetCameralnformation GetCapabilities GetVerticalSpeed unsigned int WINAPI GetVerticalSpeed int index int speed Description Parameters Return See also 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 speeds available The value returned is in microseconds per pixel shift int index speed required Valid values 0 to GetNumberVerticalSpeeds 1 int speed speed in microseconds per pixel shift unsigned int DRV_SUCCESS Speed returned DRV_NOT_
126. for iE 0 to MimASpeeds GetHiSpeed i j E HiSpeed for mw 0 to MNumPre mpGains L Get Pretmplain m Pre mp Gain TeFre mpGaindvailableti j E m IsPre mAvailable ff Shut down camera ShutDowl f End of program Figure 14 Example of Horizontal Pixel Shift Pseudo Code SECTION 9 Page 65 ANDOR OA 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 Since the camera may be capable of operating at more than one vertical shift speed the GetFastestRecommendedVSSpeed function will return the index and the value of the fastest recommended speed available The very high vertical shift speeds may require an increase in the amplitude of the vertical clock voltage using the SetVSAmplitude function The GetFastestRecommendedVSSpeed function returns the fastest speed which does not require the vertical clock voltage to be adjusted If the fastest recommended speed is selected the vertical clock voltage should be set as normal NOTE Exercise caution when increasing the amplitude of the Vertical Clock voltage since higher clocking voltages may result in increased Clock Induced Charg
127. ful for retrieving data while an acquisition is taking place especially during run till abort mode but can also be used when the acquisition is complete For all acquisition modes except Run Till Abort the GetAcquiredData function can be used to retrieve all the acquired data once the acquisition is complete NOTE All functions mentioned here refer to retrieving 32 bit data but there are also 16 bit versions of these functions available GetOldestlmage will retrieve the oldest available image from the circular buffer Once the oldest image has been retrieved it is no longer available and calling GetOldestlmage again will retrieve the next image This is a useful function for retrieving a number of images For example if there are 5 new images available calling GetOldestlmage 5 times will retrieve them all GetMostRecentlmage will retrieve the most recent image from the circular buffer This provides a method for displaying the most recent image on screen while the acquisition is in progress should be used in conjunction with the GetNumberNewlmages function The GetNumberNewlmages function returns the start and end index of the images that are available in the circular buffer These indexes should be used along with the Getlmages function to retrieve all of the available data This provides an effective way of retrieving a number of new images in one function call GetAcquiredData should be used once the acquisition is complete to retrieve
128. g mechanism is switched On and Off via the CoolerON and CoolerOFF functions The table below shows a typical example of temperatures attainable with the various systems available with and without the assistance of water cooling Please refer to the specification supplied with your particular model for full details The possible temperature range available to the Setlemperature function can be obtained using the Getl emperatureRange function Moderate Cooling High Cooling Ultra High Cooling Air Water Air Water Air Water 5 C 25 C 30 C 55 C 75 C 90 C NOTES 1 Because rapid cooling and heating can cause thermal stresses in the CCD the rate of cooling and heating is regulated to be lt 10 C per minute on some systems 2 While the system is cooling or heating you can acquire data but the Background Level WILL change with temperature The current temperature can be read using the GetTemperature function This function also returns the status of any cooling process including whether the cooler is ON or OFF 3 If the GetTemperature function returns the DRV_TEMP_STABILIZED status flag then the temperature is within 3 C of the set temperature and the microprocessor is no LONGER regulating the cooling rate At this point the temperature regulation is controlled via analog electronics SECTION 8 Page 56 ANDOR Sess SPECIAL GUIDES SECTION 9 SPECIAL GUIDES CONTROLLING MULTIPLE CAMERAS Using the SDK It is
129. g 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 DRV_P1INVALID Acquisition Mode invalid See also SetAcqStatusEvent SetCameraStatusEnable NOTE This is only supported by the CCI23 card The software must register its event via the SetAcgStatusEvent To specify which event the software is interested in use the SetCameraStatusEnable SECTION 11 Page 197 ANDOR FUNCTIONS SetPhotonCounting unsigned int WINAPI SetPhotonCounting int state Description Parameters Return See also This function activates the photon counting option int state ON OFF switch for the photon counting option Valid values 0O to switch photon counting OFF 1 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 SetPhotonCountingThreshold SetPhotonCountingThreshold unsigned int WINAPI SetPhotonCountingThreshold long min long max Description Parameters Return See also This function sets the minimum and maximum threshold for the photon counting option long min minim
130. hat you see there If this runs successfully then your installation has completed If it does not run with a successful message please consult the troubleshooting guide later in this section The installation process will copy the following files into the specified base directory ATMCD32D DLL 32 bit Dynamic Link Library ATMCD64D DLL 64 bit Dynamic Link Library DETECTOR INI Classic CCD ICCD and iStar cameras only ATMCD32D H C C only ATMCD32D LIB Borland compatible library C C only ATMCD32M LIB Microsoft compatible library C C only ATMCD32D BAS Visual Basic only ATMCD32D PAS Pascal only ATMCD32CS DLL C only ATMCD32D VB VB net SECTION 2 Page 17 ANDOR ea 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 e For PCI systems the driver file is atmcdwdm sys for 32 bit operating systems or atmcdwdm64 sys for 64 bit operating systems e For USB cameras the driver file is libusb0 sys for 32 bit operating systems or libusb0_x64 sys for 64 bit operating systems NOTE Do not have more than one example or other SDK software e g Andor Solis iQ running at the same time SECTION 2 Page 18 ANDOR Gees INSTALLATION Windows Troubl
131. he GetTotalNumberlmagesAcquired function can be used This function will return the total number of images acquired and transferred to the Andor SDK and which are now available to be retrieved by the user see section Retrieving Image Data Comparing the new value to a previously stored one is an effective way of checking that there are new images available ie f f SetDriverEvent Pseudo Code Example f f Note This code does not compile f Start of program f f Initialize camera Initialize f f Create an event handle HANDLE hEvent CreateEvent f f Set the driver event SetDriverEvent hEvent f f Start the acquisition StartAdcquisition f f Wait for the acquisition to complete WaitForSingleObject f f Retrieve data f f Shut down camera ShutDown i ff End of program Figure 13 Example of SetDriverEvent Pseudo Code A SECTION 9 Page 61 ANDOR Sess 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 The recommended functions for retrieving image data are as follows e GetOldestlmage e GetMostRecentlmage e Getlmages e GetAcquiredData GetOldestImage GetMostRecentlmage and Getlmages are used to retrieve data from an internal 48MB circular buffer that is written to by all acquisition modes They are particularly use
132. horizontal or vertical direction Parameters int iHF lip Gets horizontal flipping int iVFlip Gets vertical flipping 1 Flipping Enabled 0 Flipping Disabled Return unsigned int DRV_SUCCESS All parameters accepted DRV_NOT_INITIALIZED System not initialized DRV_P1INVALID HF lip parameter invalid DRV_P2INVALID VFlip parameter invalid See also SetimageRotate SetlmageFlip GetlmageRotate unsigned int WINAPI GetiImageRotate int iRotate Description This function will obtain whether the acquired data output is rotated in any direction Parameters int iRotate Rotation setting 0 No rotation 1 Rotate 90 degrees clockwise 2 Rotate 90 degrees anti clockwise Return unsigned int DRV_SUCCESS All parameters accepted DRV_NOT_INITIALIZED System not initialized DRV_P1INVALID Rotate parameter invalid See also SetimageFlip SetimageRotate SECTION 11 Page 114 ANDOR haa FUNCTIONS GetImages unsigned int WINAPI Getlmages long first long last long array 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 long last index of last image in buffer to retrieve long array pointer to data storage all
133. ighAdd long size long type Description THIS FUNCTION IS RESERVED SetNextAddress16 unsigned int WINAPI SetNextAddress16 long 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 This will only take effect if the acquisition mode is either Accumulate or Kinetic Series Parameters int number number of scans to accumulate Return unsigned int DRV_SUCCESS Accumulations set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Number of accumulates See also GetAcquisitionTimings SetAccumulationCycleTime SetAcquisitionMode SetExposureTime SetKineticCycleTime SetNumberKinetics SetNumberKinetics unsigned int WINAPI SetNumberKinetics int number Description This function will set the number of scans possibly accumulated scans to be taken during a single acquisition sequence This will only take effect if the acquisition mode is Kinetic Series Parameters int number number of scans to store Return unsigned int DRV_SUCCESS Series length set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Number in series invalid See also GetAcquisitionTimings SetAccumulationCycleTime SetAcquisitionMode SetExposureTime SetKineticCycleTime
134. ilter to next position 10 Change exposure time See SetExposureTime 11 Retrieve data see GetAcquiredData 12 Go to step 7 In the procedure outlined above we manually changed the exposure during the sequence However we could have used the new Ring of exposures feature to set up the two exposure times in advance and let the camera automatically switch between them as necessary see SetRingExposureTimes There is also the ability to detect the end of the exposure and start reconfiguring the experiment for the next SECTION 4 Page 34 AN DOR omae 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 the frequency of the external trigger source has to be within the capabilities of the camera with the current settings With External Exposure trigger mode the width of the trigger pulse source will determine the exposure time and the Ring of Exposures will not be applicable See also Acquisition Modes GetAdjustedRingExposureTimes GetNumberRingExposureTimes GetRingExposureRange IsTriggerModeAvailable SendSoftwareTrigger SetRingExposureTimes SetTriggerMode SECTION 4
135. ime 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 DRV_SUCCESS Exposure time accepted DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Exposure Time invalid See also GetAcquisitionTimings NOTE For Classics if the current acquisition mode is Single Track Multi Track or Image then this function will actually set the Shutter Time The actual exposure time used is obtained from the GetAcquisitionTimings function SetFanMode unsigned int WINAPI SetFanMode int mode Description Allows the user to control the mode of the camera fan If the system is cooled the fan should only be turned off for short periods of time During this time the body of the camera will warm up which could compromise cooling capabilities If the camera body reaches too high a temperature depends on camera the buzzer will sound If this happens turn off the external power supply and allow the system to stabilize before continuing Parameters int mode fan on full 0 fan on low 1 fan off 2 Return unsigned int DRV_SUCCESS Value for mode accepted DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquis
136. ime shutter takes to open milliseconds int externalMode 0 Auto 1 Open 2 Close Unsigned int DRV_SUCCESS Shutter set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_ERROR_ACK Unable to communicate with card DRV_P1INVALID Invalid TTL type DRV_P2INVALID Invalid internal mode DRV_P3INVALID Invalid time to open DRV_P4INVALID Invalid time to close DRV_P5INVALID Invalid external mode 1 The opening and closing time can be different SECTION 11 Page 205 ANDOR ea FUNCTIONS 2 For cameras capable of controlling the internal and external shutter independently capability AC_FEATURES_SHUTTEREX you MUST use SetShutterEx 3 For cameras with an internal shutter use function IsInternalMechanicalShutter to test but no independent shutter control capability AC_LFEATURES SHUTTEREX the external shutter will always behave like the internal shutter and the externalMode parameter is meaningless SetShutters unsigned int WINAPI SetShutters int p1 int p2 int p3 int p4 int p5 int p6 int p7 int p8 Description THIS FUNCTION IS RESERVED SetSifComment unsigned int WINAPI SetSifComment char comment Description This function will set the user text that will be added to any sif files created with the SaveAsSif function The stored comment can be cleared by passing NULL or an empty text string Parameters char comment The comment to add to new sif files Return unsigned int
137. in internal trigger mode Shutter Output Exposure Time FirelGate Output Keep Clean Read Time External Trigger gt sos KH Time to Close 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 Please consult the documentation supplied by the shutter manufacturer to get an indication of the transfer time you can expect from your particular shutter 2 If you do not have a shutter connected set the Closing Time and Opening Time parameters to 0 Setting these parameters to any other value will insert extra delays into cycle time calculations SECTION 7 Page 55 Se ANDOR So 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 The desired temperature is set via the Setlemperature function whilst the actual coolin
138. ined by a group of six integers The top and bottom positions of the tracks The left and right positions for the area of interest within each track The horizontal and vertical binning for each track The positions of the tracks are validated to ensure that the tracks are in increasing order The left and right positions for each track must be the same For iXon the range is between 8 and CCD width inclusive For idus the range must be between 257 and CCD width inclusive Horizontal binning must be an integer between 1 and 64 inclusive for iXon Horizontal binning is not implementated for iDus and must be set to 1 Vertical binning is used in the following way A track of 1101102412 is actually implemented as 5 tracks of height 2 Note that a vertical binning of 1 will have the effect of vertically binning the entire track otherwise vertical binning will operate as normal 121102411 3411024 11 5611024 11 7811024 11 9101 1024 1 1 Parameters int numAreas int areas Return Unsigned int DRV_SUCCESS Success DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Number of tracks invalid DRV_P2INVALID Track positions invalid DRV_ERROR_FILELOAD Serious internal error DRV_RANDOM_TRACK_ERROR Invalid combination of tracks out of memory See also SetRandomTracks NOTE Only available with iXon and USB cameras SECTION 11 Page 162 ANDOR oe TECHNOLOGY FUNCTIONS SetCoolerMode un
139. ing on the image size readout pattern and readout speed Step 5 amp 6 On completion of the readout the system will wait until the exposure time has elapsed before starting the next readout Step 6 As the captured image is quickly shifted into the Storage area a Frame Transfer CCD system can be used without a mechanical shutter NOTES e When using Frame Transfer mode the minimum exposure time for a FT CCD operated in frame transfer mode is the time taken to readout the image from the storage area SECTION 4 Page 38 ANDOR gt TECHNOLOGY 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 For our iXon range of cameras the external trigger mode is more flexible With these cameras the user can define the amount of time between the external trigger event occurring and the readout starting This can be useful in those situations where the TTL trigger occurs before the light event you are trying to capture As in the Classic Camera case no keep cleans are running and the true exposure
140. ion 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 Bit 9 State 1 Capability AC_FEATURES KEEPCLEANCONTROL Description It is possible to turn off keep cleans between scans Bit 10 State 1 Capability AC_FEATURES DDGLITE Description Reserved for internal use Bit 11 State 1 Capability AC_FEATURES_ FTEXTERNALEXPOSURE Description The combination of Frame Transfer and External Exposure modes is available Bit 12 State 1 Capability AC_FEATURES_KINETICEXTERNALEXPOSURE Description External Exposure trigger mode is available in Kinetic acquisition mode Bit 13 State 1 SECTION 11 Page 100 ANDOR a 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 ulEMGainCapabilit 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 Gain setting represent a linear gain scale 12 bit DAC used internally Bit 2 State
141. ions of bits in the member variables of the AndorCapabilites structure The next few pages contain a summary of the capabilities currently returned Andor capabilities caps the capabilities structure to be filled in unsigned int DRV_NOT_INITIALIZED System not initialized DRV_SUCCESS Capabilities returned DRV_P1INVALID Invalid caps parameter i e NULL GetCameraHandle GetCameraSerialNumber GetHeadModel GetCameralnformation SECTION 11 Page 88 ANDOR Pan 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 Bit 2 State 1 Capability AC_ACQMODE_KINETIC Description Kinetic Series Acquisition Mode available using SetAcquisitionMode Bit 3 State 1 Capability AC_ACQMODE_FRAMETRANSFER Description Frame Transfer Acquisition Mode available using SetAcquisitionMode Bit 4 State 1 Capability AC_ACQMODE_FASTKINETICS Description Fast Kinetics Acquisition Mode available using SetAcquisitionMode Bit 5 State 1 SECTION 11 Page 89 ANDOR Pan FUNCTIONS
142. is above 20 C otherwise calling ShutDown while the detector is still cooled will cause the temperature to rise faster than certified SECTION 11 Page 77 ANDOR Pan 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 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 See also CoolerOFF SetTemperature GetTemperature GetTemperatureF GetTemperatureRange GetStatus NOTE The temperature to which the detector will be cooled is set via SetTemperature The temperature stabilization is controlled via hardware and the current temperature can be obtained via GetTemperature The temperature of the sensor is gradually brought to the desired temperature to ensure no thermal stresses are set up in the sensor Can be called for certain systems during an acquisition This can be tested for using GetCapabilities SECTION 11 Page 78 ANDOR FUNCTIONS Demosaiclmage unsigned int WINAPI Demosaiclmage WORD input WORD red WORD green WORD blue ColorDemosaicInfo info Description Parameters Return See also For colour sen
143. it 2 State 1 Capability AC_SETFUNCTION_MCPGAIN AC_SETFUNCTION_GAIN Deprecated Description Gain through the SetMCPGain function is available Bit 3 State 1 Capability AC_SETFUNCTION_EMCCDGAIN Description Gain through the SetEMCCDGain function is available Bit 4 State 1 Capability AC_SETFUNCTION_BASELINECLAMP Description Baseline clamp can be turned on or off with the SetBaselineClamp function Bit 5 State 1 Capability AC_SETFUNCTION_VSAMPLITUDE Description The vertical clock voltage can be set with the SetVSAmplitude function Bit 6 State 1 Capability AC_SETFUNCTION_HIGHCAPACITY Description High capacity mode can be turned on or off with the SetHighCapacity function Bit 7 State 1 SECTION 11 Page 96 ANDOR Pan 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 SetlsolatedCropMode functions Bit 10 State 1 Capability AC_SETFUNCTION_DMAPARAMETERS Description The DMA parameters can be set with the SetDMAParameters function Bit 11 State 1 Capability AC_SETFUNCTION_HORIZONTALBIN D
144. itialised after being previously shutdown 64 bit SDK will now initialise USB cameras without the necessity of having libusbO_x64 dll in same directory as executable Calibration values returned from Shamrock SDK were offset by 2 pixels from correct locations Fixed memory leak in SaveAsSif Fixed Luca re initialisation issue temperature reporting incorrect Documentation updates and corrections Version 2 80 New features iKon L support added 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 cameras Kinetic cycle time calculated wrongly when accumulating SECTION 1 Page 12 ANDOR e TECHNOLOGY INTRODUCTION Version 2 79 New features Memory allocation improved to allow larger kinetic series to be acquired without spooling Luca R range supported iKon L supported GetlmageFlip and GetlmageRotation added Multi tracks available in frame transfer mode for iXon Random tracks available in frame transfer mode for iXon Capability added to test for multi and random tracks in frame transfer SetMultiT
145. ition in progress DRV_I2CTIMEOUT I C command timed out DRV_I2ZCDEVNOTFOUND C device not present DRV_ERROR_ACK Unable to communicate with card DRV_P1INVALID Mode value invalid NOTE Only available on iDus iXon amp Newton Luca S fan can only be set to full or off SECTION 11 Page 177 ANDOR Po FUNCTIONS SetFastKinetics unsigned int WINAPI SetFastKinetics int height int series float exptime int mode int hbin int vbin Description This function will set the parameters to be used when taking a fast kinetics acquisition Parameters int height sub area height in rows int series number in series float exptime exposure time in seconds int mode binning mode 0 vertical binning ON 4 vertical binning OFF int hbin horizontal binning int vbin vertical binning only used when in image mode Return unsigned int DRV_SUCCESS All parameters accepted DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Invalid height DRV_P2INVALID Invalid number in series DRV_P3INVALID Exposure time must be greater than 0 DRV_P4INVALID Mode must be equal to 0 or 4 DRV_PSINVALID Horizontal binning DRV_P6INVALID Vertical binning See also SetFKVShiftSpeed SetFastKineticsEx NOTE For classic cameras the vertical and horizontal binning must be 1 For iDus it is recommended that you set horizontal binning to 1 SECTION 11 Page 178 ANDOR ba TECHNOLOGY
146. l abort e Trigger mode set to 10 Then the SendSoftwareTrigger command will cause the acquisition to be taken It is recommended that you call IsTriggerModeAvailable 10 to check if your system is set up to use the SendSoftwareTrigger function If a SendSoftwareTrigger command is issued when the camera is not ready for it it will be ignored and an appropriate return code returned The extra functionality of pre loading exposures up to a maximum of 16 to the camera is configured with the SetRingExposureTimes command When the first acquisition is requested SendSoftwareTrigger the camera will take an acquisition with the first exposure in its list When the second acquisition is requested the next exposure in the list will be used and so on When the camera uses the final exposure in its list it will loop to the beginning again Notes on Frame Transfer e On Frame Transfer systems the Frame Transfer mode can be activated or deactivated Currently not all cameras can take advantage of the frame transfer operation in Software Trigger mode By the nature of frame transfer an exposure can be occurring when the previous acquisition is being read out Currently no PCI connected cameras can be sent a software trigger when the camera is reading out e USB cameras that support Software trigger can be sent a software trigger command during readout e Frame transfer is fully supported in external trigger mode SECTION 5 Page 50 ANDO
147. l positions of the individual spectra set the Random Track mode accordingly 4 Imaging spectrographs vertically invert input light i e light from the top fiber will fall on the bottom track on the CCD chip a re LZ SDK SECTION 3 Page 25 ANDOR eS 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 Figure 6 Image mode To reduce the file size and increase the speed of readout it is possible to specify a sub area of the CCD to be read out It is also possible to bin pixels together horizontally and vertically to create super pixels To set up a Full Resolution Image acquisition you need to call the following functions SetReadMode 4 Setimage 1 1 1 1024 1 256 To acquire a sub area with lower left co ordinates of 19 10 with binning of 4 in both the horizontal and vertical directions and 100x16 pixels in the acquired image you would call the Setlmage function with the following parameters Setimage 4 4 19 118 10 25 By a process of binning charge vertically into the shift register from several rows at a time e g 4
148. lance is calculated int iROI_bottom Region Of Interest from which white balance is calculated WhiteBalancelnfo iX and iY are the image dimensions The number of elements of the input red green and blue arrays are iX x iY iAlgorithm sets the algorithm to use The function sums all the colour values per each colour field within the Region Of Interest ROI and calculates the relative to green values as 0 fRelR GreenSum RedSum and _fRelB GreenSum BlueSum 1 _fRelR 2 3 GreenSum RedSum and fRelB 2 3 GreenSum BlueSum giving more importance to the green field iIROI left iROI_right iROI_top and iROI_bottom define the ROI with the constraints 0 iROI_left lt iROI_right iX and 0 iROI_ bottom lt iROI_ top ix WORD _wRed pointer to red field WORD _wGreen pointer to green field WORD _wBlue pointer to blue field float _fRelR pointer to the relative to green red factor float _fRelB pointer to the relative to green blue factor WhiteBalancelnfo info pointer to white balance information structure unsigned int SUCCESS White balance calculated DRV_P1INVALID Invalid pointer i e NULL DRV_P2INVALID Invalid pointer i e NULL DRV_P3INVALID Invalid pointer i e NULL DRV_P4INVALID Invalid pointer i e NULL DRV_PS5INVALID Invalid pointer i e NULL DRV_P6INVALID One or more parameters in info is out of range DRV_DIVIDE_BY_ZERO_ERROR The sum of the green field within the ROI is
149. ld not the size in bytes Typical value would be 10 This value would be increased in situations where the computer is not able to spool the data to disk at the SECTION 11 Page 208 ANDOR oe TECHNOLOGY FUNCTIONS required rate Return unsigned int DRV_SUCCESS DRV_NOT_INITIALIZED DRV_ACQUIRING Parameters set System not initialized Acquisition in progress See also GetSpoolProgress SetStorageMode unsigned int WINAPI SetStorageMode int mode Description THIS FUNCTION IS RESERVED SetTemperature unsigned int WINAPI SetTemperature int temperature Description This function will set the desired temperature of the detector To turn the cooling ON and OFF use the CoolerON and CoolerOFF function respectively Parameters int temperature the temperature in Centigrade Valid range is given by GetlemperatureRange Return unsigned int DRV_SUCCESS DRV_NOT_INITIALIZED DRV_ACQUIRING DRV_ERROR_ACK DRV_P1INVALID DRV_NOT_SUPPORTED Temperature set System not initialized Acquisition in progress Unable to communicate with card Temperature invalid The camera does not support setting the temperature See also CoolerOFF CoolerON GetTemperature GetTemperatureF GetlemperatureRange NOTE Not available on Luca R cameras automatically cooled to 20 SECTION 11 Page 209 TECHNOLOGY ANDOR e FUNCTIONS SetTriggerMode unsigned int WINAPI SetTriggerMode int mode Description Param
150. 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 e f you set the shutter type to TTL High with SetShutter or SetShutterEx the Andor SDK will cause the output voltage to go high to open the shutter e If you set the shutter type to TTL Low with SetShutter or SetShutterEx the Andor SDK will cause the output voltage to go low to open the shutter For Classic systems this pulse will be sent through the Andor PCI card For other systems this pulse will be sent through the shutter SMB connector on the camera The documentation supplied by the shutter manufacturer will advise the user whether your shutter opens at a high or a low TTL level NOTE With Full Vertical Binning there is no shutter pulse The shutter will always be in the Open position See Shutter Mode on the previous page and Shutter Transfer Time on the next page The I O Box also contains a 30V shutter jack socket which produces the same signal as the TTL output but is always high to open see User Guide for further details NOTE Only applicable to classic systems For iXon cameras that have independent shutter control capability AC FEATURE
151. ll be triggered It should only be called once all the conditions of the experiment have been defined unsigned long number the number of integrate on chip pulses triggered within the fire pulse unsigned int DRV_SUCCESS Number returned DRV_NOT_INITIALIZED System not initialized DRV_ERROR_ACK Unable to communicate with card SetDDGIOCFrequency GetDDGIOCFrequency SetDDGIOCNumber GetDDGIOCPulses SetDDGIOC NOTE Available in iStar SECTION 11 Page 104 ANDOR ene 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 DRV_SUCCESS Number returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_ERROR_ACK Unable to communicate with card See also SetDDGIOCFrequency GetDDGIOCFrequency SetDDGIOCNumber GetDDGIOCNumber SetDDGIOC NOTE Available in iStar SECTION 11 Page 105 ANDOR e TECHNOLOGY FUNCTIONS GetDetector unsigned int WINAPI GetDetector int xpixels int ypixels Description This function returns the size of the detector in pixels The
152. ll dlls loaded properly Bit 3 1 Camera Initialized correctly Return unsigned int DRV_SUCCESS Driver status return DRV_VXDNOTINSTALLED Driver not installed DRV_USBERROR USB device error See also GetCameraHandle GetHeadModel GetCameraSerialNumber GetCapabilities NOTE Only available in iDus The index parameter is not used at present so should be set to 0 For any camera except the iDus The value of information following a call to this function will be zero GetCameraSerialNumber unsigned int WINAPI GetCameraSerialNumber int number Description This function will retrieve camera s serial number Parameters int number Serial Number Return unsigned int DRV_SUCCESS Serial Number returned DRV_NOT_INITIALIZED System not initialized See also GetCameraHandle GetHeadModel GetCameralnformation GetCapabilities SECTION 11 Page 87 ANDOR FUNCTIONS GetCapabilities unsigned int WINAPI GetCapabilities AndorCapabilities caps Description Parameters Return See also 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 In C this can be done with the line caps gt ulSize sizeof AndorCapabilities Individual capabilities are determined by examining certain bits and combinat
153. llow Magenta and Green WORD red pointer to red data storage allocated by the user WORD green pointer to red data storage allocated by the user WORD blue pointer to red data storage allocated by the user unsigned int DRV_SUCCESS Image RGB has been copied into arrays DRV_NOT_INITIALIZED System not initialized DRV_ERROR_ACK Unable to communicate with card DRV_P1INVALID Arrays size is incorrect DRV_P2INVALID Invalid algorithm DRV_P3INVALID Invalid red pointer i e NULL DRV_P4INVALID Invalid green pointer i e NULL DRV_PSINVALID Invalid bluepointer i e NULL DRV_NO_NEW_DATA There is no new data yet GetMostRecentImage16 Demosaiclmage WhiteBalance SECTION 11 Page 122 ANDOR h FUNCTIONS GetMostRecentlmage unsigned int WINAPI GetMostRecentlmage long array 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 array pointer to data storage allocated by the user unsigned long size total number of pixels Return unsigned int DRV_SUCCESS Image has been copied into array 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 DRV_NO_NEW_DATA Ther
154. lso GetNumberVerticalSpeeds GetVerticalSpeed NOTE Deprecated by SetVSSpeed SetVirtualChip unsigned int WINAPI SetVirtualChip int state Description THIS FUNCTION IS RESERVED SECTION 11 Page 212 ANDOR C FUNCTIONS SetVSAmplitude unsigned int WINAPI SetVSAmplitude int amplitude 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 e Normal e 1 e 2 e 3 e 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 In general only the very highest vertical clocking speeds are likely to benefit from an increased vertical clock voltage amplitude Parameters int amplitude desired Vertical Clock Voltage Amplitude Valid values 0 Normal 1 gt 4 Increasing Clock voltage Amplitude Return unsigned int DRV_SUCCESS Amplitude set DRV_NOT_INITIALIZED System not initialized DRV_NOT_AVAILABLE Your system does not support this feature DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Invalid amplitude parameter NOTE Available in iXon iKon and Newton SECTION 11 Page 213 ANDOR FUNCTIONS SetVSSpeed unsigned int WINAPI SetVSSpeed int index Description Parameters Return See
155. lue 15 For Classic amp ICCD systems wait until the temperature has risen above 20 C The user may now shut down the Andor SDK system 16 The program releases any memory still being used and exits the application SECTION 10 Page 73 ANDOR h 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 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 The acquisition is set to a kinetic series of full vertically binned scans EMCCD This example demonstrates acquisitions with an EMCCD detector and in particular the Gain setting that can be applied to these devices Events The events example shows the alternative method of handling acquisitions using Windows events to signal when the acquisition is complete instead of timer polling used in other examples A kinetic series of full vertically binned scans is taken and the events signalled by the Andor SDK are indicated in the status window as they arrive Frame Transfer The frame transfer example is similar to the kinetics example except that the accumulate cycle and kinetic series times can not be se
156. m will not wait for a Keep Clean cycle to be completed before allowing an external trigger to initiate an acquisition This may cause the background to change from one scan to another SECTION 5 Page 45 ANDOR eeu 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 It is very similar to the Software trigger functionality except that instead of a Software command instigating the acquisition an external source does so All the benefits described in the Software Trigger section can also be applied to the external trigger mode It is set up in the same way with the same modes except that the trigger mode is set to External Frame transfer is also fully functional in iCam External Trigger mode When Frame Transfer is on it means that the Arm signal from the camera will be enabled during the current readout at a point to ensure the next exposure will end after the current readout is finished This will give the fastest frame rate and also ensure that the next exposure cannot end until the previous one has been readout SECTION 5 Page 4
157. mage int hbin number of pixels to bin horizontally int vbin number of pixels to bin vertically unsigned int DRV_SUCCESS Binning parameters accepted DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Horizontal binning parameter invalid DRV_P2INVALID Vertical binning parameter invalid SetReadMode NOTE Deprecated by Setilmage SetFVBHBin unsigned int WINAPI SetFVBHBin int bin Description Parameters Return See also This function sets the horizontal binning used when acquiring in Full Vertical Binned read mode Int bin Binning size unsigned int DRV_SUCCESS Binning set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Invalid binning size SetReadMode NOTE 1 If the detector width is not a multiple of the binning DRV_BINNING_ERROR will be returned from PrepareAcquisition and or StartAcquisition 2 For iDus it is recommended that you set horizontal binning to 1 SECTION 11 Page 182 ANDOR Ga FUNCTIONS SetGain unsigned int WINAPI SetGain int gain Description Deprecated for SetMCPGain SetGate unsigned int WINAPI SetGate float delay float width float step 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 gt 0
158. mage until all images for that interrupt have been acquired There are 3 settings involved in determining how many images will be acquired for each notification DMA Interrupt of the controller card and they are as follows 1 The size of the DMA buffer gives an upper limit on the number of images that can be stored within it and is usually set to the size of one full image when installing the software This will usually mean that if you acquire full frames there will never be more than one image per DMA 2 A second setting that is used is the maximum amount of time SecondsPerDMA that should expire between interrupts This can be used to give an indication of the reponsiveness of the operating system to interrupts Decreasing this value will allow more interrupts per second and should only be done for faster pcs The default value is 0 03s 30ms finding the optimal value for your pc can only be done through experimentation 3 The third setting is an overide to the number of images calculated using the previous settings If the number of images per dma is calculated to be greater than MaxImagesPerDMaA then it will be reduced to MaxlmagesPerDMA This can be used to for example ensure that there is never more than 1 image per DMA by setting MaxlmagesPerDMA to 1 Setting MaxlmagesPerDMA to zero removes this limit Care should be taken when modifying these parameters as missed interrupts may prevent the acquisition from completing int M
159. nHSSpeed AD2Pipeline ixon EXAMPLE DETECTOR INI FILES DH220 DV420 DV437 CONTROLLER ReadOutSpeeds PipeLine Type Page 8 223 224 225 226 226 226 226 226 227 227 227 227 228 228 228 228 228 228 229 229 229 229 229 229 229 230 230 230 230 230 230 230 231 232 232 232 232 TABLE OF CONTENTS ANDOR ee 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 and Vista A Linux version of the SDK is also available Currently Andor provides both 32 bit and 64 bit versions of the SDK for Windows and Linux The SDK provides a suite of functions that allow you to configure the data acquisition process in a number of different ways There are also functions to control the CCD temperature and shutter operations The driver will automatically handle its own internal memory requirements To use the SDK effectively the user must develop a software package to configure the acquisition provide memory management process the data captured and create the user interface The manual is broken into several sections and it is recommended that the user read Sections 1 10 before s
160. nsfer 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 e Exposure Time Time in seconds during which the CCD collects light prior to readout Set via the SetExposureTime function e Number of Accumulations Number of scans you want to add together to create each member of your kinetic series The default value of 1 means that each member of the kinetic series will consist of a single scan Set via the SetNumberAccumulations function e Number in Kinetic Series Number of scans or accumulated scans you specify to be in your series Set via the SetNumberKinetics function SECTION 4 Page 42 ANDOR ea 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 In the remainder of this section we will examine the modes in detail and give some indication on the appropriate application of each trigger mode SECTION 5 Page 43 ANDOR eS TRIGGERING Internal In Internal Trigger Mod
161. nt DRV_SUCCESS Data successfully saved as tiff DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_ERROR_ACK Unable to communicate with card DRV_P1INVALID Path invalid DRV_P2INVALID Invalid palette file DRV_P3INVALID position out of range DRV_P4INVALIDDRV_P5INVALID type not validmode not valid DRV_ERROR_PAGELOCK File too large to be generated in memory SECTION 11 Page 155 ANDOR ea FUNCTIONS SaveEEPROMTOoFile 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 Not all cameras have this mode available to them To check if your camera can operate in this mode check the GetCapabilities function for the Trigger Mode AC_TRIGGERMODE_CONTINUOUS If this mode is physically possible and other settings are suitable IsTriggerModeAvailable and the camera is acquiring then this command will take an acquisition Parameters NONE Return unsigned int DRV_SUCCESS Trigger sent DRV_NOT_INITIALIZED System not initialized DRV_INVALID_ MODE Not in SoftwareTrigger mode DR
162. o send data char text The data to be sent int size Number of characters to read unsigned int DRV_SUCCESS Data received DRV_P3INVALID Invalid pointer e g NULL Other errors may be returned by the GPIB device Consult the help documentation supplied with these devices GPIBSend GPIBSend unsigned int WINAPI GPIBSend int id short address char text Description Parameters Return See also This function initializes the GPIB by sending interface clear Then the device described by address is put in a listen active state Finally the string of characters text is sent to the device with a newline character and with the EOI line asserted after the final character int id The interface board number short address Address of device to send data char text The data to be sent unsigned int DRV_SUCCESS Data sent DRV_P3INVALID Invalid pointer e g NULL The GPIB device may return other errors Consult the help documentation supplied with these devices GPIBReceive SECTION 11 Page 141 ANDOR Ga 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 IC 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 unsign
163. ocated by the user unsigned long size total number of pixels long validfirst index of the first valid image long validlast index of the last valid image Return unsigned int DRV_SUCCESS Images have been copied into array DRV_NOT_INITIALIZED System not initialized DRV_ERROR_ACK Unable to communicate with card DRV_GENERAL_ERRORS The series is out of range DRV_P3INVALID Invalid pointer i e NULL DRV_P4INVALID Array size is incorrect DRV_NO_NEW_DATA There is no new data yet See also Getlmages16 GetNumberNewlmages SECTION 11 Page 115 ANDOR Pan FUNCTIONS Getimages16 unsigned int WINAPI Getlmages16 long first long last WORD array unsigned long size long validfirst long validlast Description 16 bit version of the Getlmages function Parameters long first index of first image in buffer to retrieve long last index of last image in buffer to retrieve WORD array pointer to data storage allocated by the user unsigned long size total number of pixels long validfirst index of the first valid image long validlast index of the last valid image Return unsigned int DRV_SUCCESS Images have been copied into array DRV_NOT_INITIALIZED System not initialized DRV_ERROR_ACK Unable to communicate with card DRV_GENERAL_ERRORS The series is out of range DRV_P3INVALID Invalid pointer i e NULL DRV_P4INVALID Array size is incorrect DRV_NO_NEW_DATA There is no new data yet See also Getimag
164. of program Determine the mmber of cameras available GetAvailableCameras Number 0fCameras Allocate memory for NumberOfCameras handles long CameraHandles NumberO fCameras Obtain a handle for each camera and initialize for index 0 to NumberOfCameras l GetCameraHsndletindex CameraHandles index SetCurrentCamera CamersHandles index Initialize f f Set am exposure time for each camera and start the acquisition for index 0 to NumberO0fCameras l SetCurrentCamera CameraHandles index SetAcquisitionMode 1 SetExposureTime Ayo other camera settings Startacquisition f f Wait until acquisition has finished wae Check which camera is currently selected long UnknownCame raHandle GetCurrentC ame ra UnknownCame raHandle ff Shat down each camera for ftindex 0 to NumberOfCameras 1 SetCurrentCamera CameraHandles index Shut Down ff End of program Figure 11 Example of Multiple Camera Pseudo Code SDK SECTION 9 Page 59 ANDOR ea 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
165. ommand timed out DRV_I2ZCDEVNOTFOUND I2C device not present DRV_ERROR_ACK Unable to communicate with card See also SetDDGIOCFrequency GetDDGIOCFrequency SetDDGIOCNumber GetDDGIOCNumber GetDDGIOCPulses NOTE Available on iStar SECTION 11 Page 168 ANDOR FUNCTIONS SetDDGIOCFrequency unsigned int WINAPI SetDDGIOCFrequency double frequency Description Parameters Return See also 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 The recommended order is Experiment setup exposure time readout mode gate parameters SetDDGIOCFrequency x SetDDGIOC true GetDDGIOCPulses y StartAcquisition double frequency frequency of IOC option in Hz unsigned int DRV_SUCCESS Value for frequency accepted DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_I2CTIMEOUT 12C command timed out DRV_I2ZCDEVNOTFOUND I2C device not present DRV_ERROR_ACK Unable to communicate with card GetDDGIOCFrequency SetDDGIOCNumber GetDDGIOCNumber GetDDGIOCPulses SetDDGIOC NOTE Available on iStar SECTION 11 Page 169 ANDOR FUNCTIONS SetDDGIOCNumber unsigned int WINAPI SetDDG
166. onTimings GetKeepCleanTime NOTE Available on iDus iXon Luca amp Newton GetRegisterDump unsigned int WINAPI GetRegisterDump int mode Description THIS FUNCTION IS RESERVED GetRingExposureRange unsigned int WINAPI GetRingExposureRange float _fpMin float _fpMax Description Parameters Return See also With the Ring Of Exposure feature there may be a case when not all exposures can be met The ring of exposure feature will guarantee that the highest exposure will be met but this may mean that the lower exposures may not be If the lower exposures are too low they will be increased to the lowest value possible This function will return these upper and lower values float _fpMin Minimum exposure float _fpMax Maximum exposure unsigned int DRV_SUCCESS Min and max returned DRV_NOT_INITIALIZED System not initialize DRV_INVALID_ MODE Trigger mode is not available GetCapabilities GetNumberRingExposureTimes IsTriggerModeAvailable SetRingExposureTimes SECTION 11 Page 133 ANDOR C 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_INI
167. oo large to be generated in memory See also SaveAsSif SaveAsEDF SaveAsFITS SaveAsSPC SaveAsTiff SaveAsBmp SECTION 11 Page 152 ANDOR FUNCTIONS SaveAsSif unsigned int WINAPI SaveAsSif char path Description Parameters Return See also 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 char path pointer to a filename specified by the user unsigned int DRV_SUCCESS Data saved DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_ERROR_ACK Unable to communicate with card DRV_P1INVALID Invalid filename DRV_ERROR_PAGELOCK File too large to be generated in memory SetSifComment SaveAsCommentedSif SECTION 11 Page 153 ANDOR Pao 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 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 See also SaveAsSif SaveAsEDF SaveAsFITS SaveAsRaw SaveAsTiff SaveAsBmp SaveAsTiff unsigned int WINAPI S
168. ory Filter not available for current acquisition Range not multiple of horizontal binning GetStatus GetAcquisitionTimings SetAccumulationCycleTime SetAcquisitionMode SetExposureTime SetHSSpeed SetKineticCycleTime SetMultiTrack SetNumberAccumulations SetNumberKinetics SetReadMode SetSingleTrack SetTriggerMode SetVSSpeed SECTION 11 Page 215 ANDOR C FUNCTIONS UnMapPhysicalAddress unsigned int WINAPI UnMapPhysicalAddress void Description THIS FUNCTION IS RESERVED SECTION 11 Page 216 ANDOR FUNCTIONS WaitForAcquisition unsigned int WINAPI WaitForAcquisition void Description Parameters Return See also 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 Like the SetDriverEvent functionality it will use less processor resources than continuously polling with the GetStatus function If you wish to restart the calling thread without waiting for an Acquisition event call the function CancelWait An Acquisition Event occurs each time a new image is acquired during an Accumulation Kinetic Series or Run Till Abort acquisition or at the end of a Single Scan Acquisition If a second event
169. owed channels Return unsigned int DRV_SUCCESS Number of output amplifiers returned See also SetOutputAmplifier GetNumberAvailablelmages unsigned int WINAPI GetNumberAvailablelmages long first long last Description This function will return information on the number of available images in the circular buffer This information can be used with Getlmages to retrieve a series of images If any images are overwritten in the circular buffer they no longer can be retrieved and the information returned will treat overwritten images as not available Parameters long first returns the index of the first available image in the circular buffer long last returns the index of the last available image in the circular buffer Return unsigned int DRV_SUCCESS Number of acquired images returned DRV_NOT_INITIALIZED System not initialized DRV_ERROR_ACK Unable to communicate with card DRV_NO_NEW_DATA There is no new data yet See also Getlmages GetImages16 GetNumberNewlmages SECTION 11 Page 126 ANDOR ene 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
170. pe This value specifies whether the head contains a Standard 0 or a Frame Transfer 1 CCD The default is Standard FKVerticalShiftSpeed FKVerticalShiftSpeed speed This specifies the Fast Kinetics vertical shift speed Gain Gain a This specifies whether the system has software controllable Gain Mode settings 0 Not software selectable 1 Software selectable PhotonCountingCCD PhotonCountingCCD a This specifies whether the system contains a L3 Vision sensor from Marconi 0 Standard CCD 1 L3 Vision sensor SECTION 13 Page 228 ANDOR So orcs 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 HELLFunction HELLFunction file The file specified contains the instructions required to perform readout of an ixon CCD It is specific to each type of CCD HELLLoop1 HELLLoop1 file The file specified contains generic instructions for readout of an iXon CCD and as such is not specific to a particular CCD ADChannels ADChannels a b This line indicates the types of ADChannels availabl
171. plifier index is not valid GetNumberAmp SECTION 11 Page 84 ANDOR Po FUNCTIONS GetAvailableCameras unsigned int WINAPI GetAvailableCameras long totalCameras Description This function returns the total number of Andor cameras currently installed It is possible to call this function before any of the cameras are initialized Parameters long totalCameras the number of cameras currently installed Return unsigned int DRV_SUCCESS Number of available cameras returned DRV_GENERAL_ERRORS An error occurred while obtaining the number of available cameras See also SetCurrentCamera GetCurrentCamera GetCameraHandle GetBackground unsigned int WINAPI GetBackground long array unsigned long size Description THIS FUNCTION IS RESERVED GetBitDepth unsigned int WINAPI GetBitDepth int channel int depth Description This function will retrieve the size in bits of the dynamic range for any available AD channel Parameters int channel the AD channel int depth dynamic range in bits Return unsigned int DRV_SUCCESS Depth returned DRV_NOT_INITIALIZED System not initialized DRV_P1INVALID Invalid channel See also GetNumberADChannels SetADChannel SECTION 11 Page 85 ANDOR FUNCTIONS GetCameraEventStatus unsigned int WINAPI GetCameraEventStatus DWORD cam_status Description Parameters Return See also NOTE This function will return if the system is exposing or not DWOR
172. quisition sequence e The industry fastest vertical shift speeds of the iXon enables fastest time resolution with minimal vertical smearing e A range of internal trigger and external trigger options are available for Fast Kinetics Readout SECTION 4 Page 36 ANDOR OA 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 e 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 The second area is the Storage area and sits between the Image area and the readout register This area is covered by an opaque mask usually a metal film and hence is not sensitive to light e The second way in which a FT CCD differs from a standard CCD is that the Image and the Storage areas can be shifted independently of each other These differences allow a FT CCD to be operated in a unique mode where one image can be read out while the next image is being acquired It also allows a FT CCD to be used in imaging mode without a shutter Only light falling inthis region i is captured Opaque film covers this region Readout Register Figure 7
173. rackHRange added Random tracks can now be configured with no gaps in between for iXon Bug fixes Temperature drifting is now handled for all cameras GetTemperatureStatus did not return result for iXon Pixel values for last column on DU885 incorrect Fast kinetics external trigger not operating correctly on a DU885 Crash when initiailising multiple usb cameras Kinetic cycle time could not be set reliably Shutter timings not correct at 35MHz on a DU885 SetShutter function not functioning correctly for ixon Grams files created not compatible with certain software packages EM gain could not be turned off completely Glitches were found in fire pulse for FVB mode on iXon Image flipping and rotation properties incorrect in sif file CCI 20 controller card not initialising ERROR_ACK Version 2 78 5 New features SetlsolatedCropMode added to LabVIEW library SaveAsTiffEx function added to provide choice of whether data is scaled Bug fixes SaveAsTiff function for a kinetic series saved the same image for every frame SaveAsTiff now checks for available memory to avoid crash GetHeadModel function was returning model in lowercase iXon FPGA version not being read properly in Initialize function SetlsolatedCropMode function repaired GetAvailableCameras did not update with USB devices plugged in amp out Using GetCameraEventStatus on fast acquisitions caused acquisition to fail Long kinetic series of FITS was not working SECTI
174. rameter allows the user to control the TTL signal output to an external shutter The mode parameter configures whether the shutter opens amp closes automatically controlled by the camera or is permanently open or permanently closed The opening and closing time specify the time required to open and close the shutter this information is required for calculating acquisition timings see SHUTTER TRANSFER TIME Parameters int ttIType 0 Output TTL low signal to open shutter 1 Output TTL high signal to open shutter int mode 0 Auto 1 Open 2 Close int closingTime Time shutter takes to close milliseconds int openingTime Time shutter takes to open milliseconds Return unsigned int DRV_SUCCESS Shutter set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_ERROR_ACK Unable to communicate with card DRV_P1INVALID Invalid TTL type DRV_P2INVALID Invalid mode DRV_P3INVALID Invalid time to open DRV_P4INVALID Invalid time to close NOTE 1 The opening and closing time can be different 2 For cameras capable of controlling the internal and external shutter independently capability AC_FEATURES_SHUTTEREX you MUST use SetShutterEx 3 Cameras with an internal shutter use function IslnternalMechanicalShutter to test but no independent shutter control capability AC_FEATURES SHUTTEREX will always output a HIGH to open TTL signal through the external shutter port SECTION 11 Pag
175. re returning DRV_NO_NEW_DATA if no Acquisition Event occurs unsigned int DRV_SUCCESS Acquisition Event occurred DRV_P1INVALID Handle not valid DRV_NO_NEW_DATA Non Acquisition Event occurred eg CancelWait called time out CancelWait GetCameraHandle StartAcquisition WaitForAcquisition WaitForAcquisitionByHandle WaitForAcquisitionTimeOut SECTION 11 Page 219 ANDOR FUNCTIONS WaitForAcquisitionTimeOut unsigned int WINAPI WaitForAcquisitionTimeOut int _iTimeOutMs Description Parameters Return See also 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 Like the SetDriverEvent functionality it will use less processor resources than continuously polling with the GetStatus function If you wish to restart the calling thread without waiting for an Acquisition event call the function CancelWait An Acquisition Event occurs each time a new image is acquired during an Accumulation Kinetic Series or Run Till Abort acquisition or at the end of a Single Scan Acquisition If an Acquisition Event does not occur within TimeOutMs milliseconds WaitForAcquisitionTimeOut returns DRV_NO_NEW_DATA int _iTimeOutMs Time b
176. resolution The values returned will provide an estimation of the location of the pulse Parameters double region 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 double width the pulse width which encapsulated the laser pulse Return unsigned int DRV_SUCCESS Location returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_ERROR_ACK Unable to communicate with card NOTE Available in iStar SECTION 11 Page 103 ANDOR FUNCTIONS GetDDGIOCFrequency unsigned int WINAPI GetDDGIOCFrequency double frequency Description Parameters Return See also 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 double frequency the number of integrate on chip pulses triggered within the fire pulse unsigned int DRV_SUCCESS Number returned DRV_NOT_INITIALIZED System not initialized DRV_ERROR_ACK Unable to communicate with card SetDDGIOCFrequency SetDDGIOCNumber GetDDGIOCNumber GetDDGIOCPulses SetDDGIOC NOTE Available in iStar GetDDGIOCNumber unsigned int WINAPI GetDDGIOCNumber unsigned long number Description Parameters Return See also This function can be used to return the actual number of pulses that wi
177. rizontalTime 16 16 0 0 0 CodeFile Pci_29k cof FlexFile pci_fpga rbf SECTION 13 Page 230 ANDOR DETECTOR INI Pixel 25 0 25 0 Cooling Vacuum FKVerticalShiftSpeed 16 0e 6 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 rbf Type 1 Page 231 DV437 SECTION 13 ANDOR ea DETECTOR INI CONTROLLER This section details the controller card ReadOutSpeeds ReadOutSpeeds a b c d Lists 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 The actual value used is based on a number of factors and is beyond this discussion Type Type a This specifies whether the plug in card is ISA or PCI compatible Example CC 010 ReadOutSpeeds 1 2 16 32 PipeLine 2 1 1 1 0 0 0 0 Type PCl SECTION 13 Page 232
178. rogress DRV_ERROR_ACK Unable to communicate with card DRV_P1INVALID Path invalid DRV_P2INVALID Invalid mode DRV_ERROR_PAGELOCK File too large to be generated in memory SECTION 11 Page 151 ANDOR oe TECHNOLOGY FUNCTIONS SaveAsFITS unsigned int WINAPI SaveAsFITS char szFileTitle int type Description Parameters Return See also This function saves the last acquisition in the FITS Flexible Image Transport System Data Format fits endorsed by NASA char szFileTitle the filename to save too int type Valid values 0 Unsigned 16 1 Unsigned 32 2 Signed 16 3 Signed 32 4 Float unsigned int 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_P2INVALID Invalid mode DRV_ERROR_PAGELOCK File too large to be generated in memory SaveAsRaw unsigned int WINAPI SaveAsRaw char szFileTitle int type Description This function saves the last acquisition as a raw data file Parameters char szFileTitle the filename to save too int type Valid values 1 Signed 16 2 Signed 32 3 Float Return unsigned int 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_P2INVALID Invalid mode DRV_ERROR_PAGELOCK File t
179. rosoft 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 e ATMCD32D H C Header File e ATMCD32D LIB ATMCD64D LIB Import Library Borland compatible e ATMCD32M LIB ATMCD64M LIB Import Library Microsoft compatible LabVIEW The LabVIEW examples are contained in the sub directory LabVIEW of the installation directory The LabVIEW examples are in the form of VI s and must be run through LabVIEW 7 0 or higher 32 bit Visual Basic The Visual Basic examples are contained in the sub directory VBasic of the installation directory Each example contains all the source code forms and project files to re build executable files Each of the Visual Basic examples comes with a ready to run executable file When building you own projects you must include the file ATMCD32D BAS This file contains the Andor SDK function prototypes for interfacing with the dynamic link library ATMCD32D DLL NOTE To run any of the examples you will need the following files e ATMCD32D DLL ATMCD64D DLL depending on system e DETECTOR INI Contains initialization information not required on iDus iXon or Newton systems SECTION 10 Page 70 ANDOR ea EXAMPLES FLOW CHART OF THE FUNCTION CALLS NEEDED TO CONTROL ANDOR CAMERA Initialize GetDetector GetH
180. rtical Binning Multi Track Random Track Single Track Image Readout mode set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING DRV_P1INVALID Acquisition in progress Invalid readout mode passed See also GetAcquisitionTimings SetAccumulationCycleTime SetAcquisitionMode SetExposureTime SetKineticCycleTime SetNumberAccumulations SetNumberKinetics SetRegisterDump unsigned int WINAPI SetRegisterDump int mode Description THIS FUNCTION IS RESERVED SECTION 11 Page 201 ANDOR ene 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 Parameters int numTimes The number of exosures float times A predeclared pointer to an array of numTimes floats Return Unsigned int DRV_SUCCESS Success DRV_NOT_INITIALIZED System not initialized DRV_INVALID_ MODE This mode is not available DRV_P1INVALID Must be between 1 and 16 exposures inclusive DRV_P2INVALID The exposures times are invalid DRV_NOTAVAILABLE System does not support this option See also GetCapabilities GetNumberRingExposureTimes GetAdjustedRingExposureTimes GetRingExposureRange I sTrigger
181. s the data from each scan in a kinetic series can be processed while the acquisition is taking place Parameters long array 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 DRV_NO_NEW_DATA There is no new data yet See also SetDriverEvent GetAcquisitionProgress SetAcquisitionMode GetNewData8 GetNewData16 NOTE Deprecated by the following functions e Getlmages e GetMostRecentimage e GetOldestlimage SECTION 11 Page 124 ANDOR FUNCTIONS GetNewData16 unsigned int WINAPI GetNewData16 WORD array unsigned long size Description Deprecated see Note 16 bit version of the GetNewData function Parameters WORD array 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 DRV_NO_NEW_DATA There is no new data yet NOTE Deprecated by the following functions e Getlmages e GetMostRecentlmage e GetOldestlimage GetNewData8 unsigned int WINAPI GetNewData8 unsigned char array unsigned long size Des
182. s function will read a single byte from the chosen device Parameters BYTE devicelD 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 unsigned int DRV_SUCCESS Read successful DRV_VXDNOTINSTALLED VxD not loaded DRV_INIERROR Unable to load DETECTOR INI DRV_COFERROR Unable to load COF DRV_FLEXERROR Unable to load RBF DRV_ERROR_ACK Unable to communicate with card DRV_I2CDEVNOTFOUND Could not find the specified device DRV_I2CTIMEOUT Timed out reading from device DRV_UNKNOWN_FUNC Unknown function incorrect cof file See also I2CBurstWrite I2CBurstRead I2CWrite I2cReset I2CReset unsigned int WINAPI I2CReset void Description This function will reset the I C data bus Parameters Return unsigned int DRV_SUCCESS Reset successful DRV_VXDNOTINSTALLED VxD not loaded DRV_INIERROR Unable to load DETECTOR INI DRV_COFERROR Unable to load COF DRV_FLEXERROR Unable to load RBF DRV_ERROR_ACK Unable to communicate with card DRV_I2CTIMEOUT Timed out reading from device DRV_UNKNOWN_FUNC Unknown function incorrect cof file See also I2CBurstWrite I2CBurstRead 2CRead I2CWrite SECTION 11 Page 143 ANDOR FUNCTIONS I2CWrite unsigned int WINAPI I2CWrite BYTE devicelD BYTE intAddress BYTE data Description This function will write a single byte to the chosen device Parameters BYTE devi
183. s 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 unsigned int DRV_SUCCESS Speed returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Invalid index See also GetNumberFKVShiftSpeeds SetFKVShiftSpeed NOTE Only available if camera is Classic or iStar SECTION 11 Page 110 ANDOR oe TECHNOLOGY FUNCTIONS GetHardwareVersion unsigned int WINAPI GetHardwareVersion unsigned int PCB unsigned int Flex unsigned int dummy1 unsigned int dummy2 unsigned int dummy3 unsigned int dummy4 Description Parameters Return This function returns the Hardware version information Unsigned int PCB Plug in card version unsigned int Flex Flex 10K file version unsigned int dummy1 unsigned int dummy2 unsigned int CameraFirmwareVersion Version number of camera firmware unsigned int CameraFirmwareBuild Build number of camera firmware unsigned int DRV_SUCCESS Version information returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_ERROR_ACK Unable to communicate with card GetHeadModel unsigned int WINAPI GetHeadModel char model Description Parameters Return This function will retrieve the typ
184. sed source a laser for example in this case initiating the data acquisition process can also signal the pulsed source to fire SECTION 5 Page 44 ANDOR ea 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 The figure below illustrates the timing sequence for this mode of operation ees Exposure Time gt FIRE PULSE DURATION fi 1 Shutter Output i t gt z i I i j f Fire Gate Output 1 T i 1 J 1 i External Trigger Time to close The external trigger can be fed in a number of ways e EXT TRIG socket of the I O Box available separately model 10160 e Pin 13 of the Auxiliary Connector on the Andor PCI Card e The head in the case of iDus iXon External Trigger mode is suited to data acquisitions involving a pulsed source e g a laser where the source does NOT allow a trigger pulse to be sent to it but can generate one It is possible to increase the frame rate when in external trigger mode by enabling the Fast External Trigger option see SetFastExtTrigger When this option is enabled the syste
185. sent DRV_ERROR_ACK Unable to communicate with card DRV_P1INVALID Value for gating invalid See also SetMCPGain SetGateMode NOTE Available on some ICCD models SetMessageWindow unsigned int WINAPI SetMessageWindow HWND wnd Description This function is reserved SECTION 11 Page 192 ANDOR FUNCTIONS SetMultiTrack unsigned int WINAPI SetMultiTrack int number int height int offset int bottom int gap Description Parameters Return See also 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 e Number of tracks e Track height e Offset The first pixels row of the first track is returned via bottom The number of rows between each track is returned via gap int number number tracks Valid values 1 to number of vertical pixels int height height of each track Valid values gt 0 maximum depends on number of tracks int offset vertical displacement of tracks Valid values depend on number of tracks and track height int bottom first pixels row of the first track int gap number of rows between each track could be 0 unsigned int DRV_SUCCESS Parameters set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Number of tracks invalid DRV_P2INVALID Track height invalid DRV_P3INVALID Offset invali
186. 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 0 to GetNumberFKVShiftSpeeds 1 Return unsigned int DRV_SUCCESS Fast kinetics vertical shift speed set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Index is out off range See also GetNumberFKVShiftSpeeds GetFKVShiftSpeedF NOTE Only available if camera is Classic or iStar SetFPDP unsigned int WINAPI SetFPDP int state Description THIS FUNCTION IS RESERVED SetFrameTransferMode unsigned int WINAPI SetFrameTransferMode int mode Description This function will set whether an acquisition will readout in Frame Transfer 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 unsigned int DRV_SUCCESS Frame transfer mode set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Invalid parameter See also SetAcquisitionMode NOTE Only available if CCD is a Frame Transfer chip SECTION 11 Page 181 ANDOR ere FUNCTIONS SetFulllmage unsigned int WINAPI SetFulllmage int hbin int vbin Description Parameters Return See also Deprecated see Note This function will set the horizontal and vertical binning to be used when taking a full resolution i
187. 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 Where a default speed b c d e allowed speeds fastest first DummyVShiftSpeed DummyVShiftSpeed a b c d e This lists the speeds in microseconds at which the CCD rows can be vertically shifted These speeds are used during CCD keep cleans Where a default speed b c d e allowed speeds fastest first VerticalHorizontalTime VerticalHorizontalTime a b c d e This lists the time in microseconds which must be taken into account when timing calculations are been done Where a default speed b c d e allowed speeds fastest first CodeFile CodeFile filename ext This gives the file name of the micro code uploaded to the microprocessor on the plug in card This field is typically PCI_29k COF for standard systems and PCII29K COF for IC compatible cards SECTION 13 Page 227 ANDOR ea 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 systems and PCIIFPGA RBF for C compatible cards Cooling Cooling type This gives the type of cooling The type relates back to the cooling section Type Type ty
188. signed int WINAPI GetAlIiDMAData long array unsigned long size Description THIS FUNCTION IS RESERVED GetAmpDesc unsigned int WINAPI GetAmpDesc int index char desc int length Description Parameters Return See also 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 The user has to specify the number of characters they wish to have returned to them from this function Int index The amplifier index char desc A user allocated array of characters for storage of the description int length The length of the user allocated character array unsigned int DRV_SUCCESS Description returned DRV_NOT_INITIALIZED System not initialized DRV_P1INVALID The amplifier index is not valid DRV_P2INVALID The desc pointer is null DRV_P3INVALID The len parameter is invalid less than 1 GetNumberAmp GetAmpMaxSpeed unsigned int WINAPI GetAmpMaxSpeed int index float speed Description Parameters Return See also This function will return the maximum available horizontal shift speed for the amplifier selected by the index parameter Int index amplifier index float speed horizontal shift speed unsigned int DRV_SUCCESS Speed returned DRV_NOT_INITIALIZED System not initialized DRV_P1INVALID The am
189. signed int WINAPI SetCoolerMode int mode Description Parameters Return This function determines whether the cooler is switched off when the camera is shut down int mode 1 Temperature is maintained on ShutDown 0 Returns to ambient temperature on ShutDown 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 DRV_NOT_SUPPORTED Camera does not support NOTE Mode 0 not available on Luca R cameras always cooled to 20 SetCropMode unsigned int WINAPI SetCropMode int active int cropheight int reserved Description Parameters Return 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 Note it is important to ensure that no light falls on the excluded region otherwise the acquired data will be corrupted int active 1 Crop mode is ON 0 Crop mode is OFF int cropheight The selected crop height This value must be between 1 and the CCD height int reserved This value should be set to 0 unsigned int DRV_SUCCESS Parameters set DRV_NOT_INITIAILIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Active p
190. sors 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 gt 2 int iY Number of Y pixels Must be gt 2 int iAlgorithm Algorithm to demosaic image int ixPhase First pixel in data Cyan or Yellow Magenta or Green int iYPhase First pixel in data Cyan or Yellow Magenta or Green int iBackground Background to remove from raw data when demosaicing ColorDemosaiclInfo e iX and iY are the image dimensions The number of elements in the input red green and blue arrays is iX x iY e iAlgorithm sets the algorithm to use 0 for a 2x2 matrix demosaic algorithm or 1 for a 3x3 one The CYMG CCD pattern can be broken into cells of 2x4 pixels e g e iXPhase and iYPhase store what colour is the bottom left pixel e iBackground sets the numerical value to be removed from every pixel in the input image before demosaicing is done WORD input pointer to image to demosaic WORD red pointer to the red plane storage allocated by the user WORD green pointer to the green plane storage allocated by the user WORD blue pointer to the blue plane storage allocated by the user ColorDemosaicinfo info pointer to demosaic information structure unsigned int DRV_SUCCESS DRV_P1INVALID DRV_P2INVALID DRV_P3IN
191. t independently as they rely solely on the exposure time setting FVB This example illustrates the simplest mode of operation of the Andor system It initializes the system and then acquires a single spectrum using the Full Vertical Binning readout mode The user is given the ability to specify the trigger mode and exposure time as the examples progress the user is given more and more options to set Image This example is slightly more complicated than the first example with the addition of a shutter In general a shutter must be used whenever the readout mode is anything other than Full Vertical Binning For this example we will use the readout mode Image with the horizontal and vertical binning set to 1 The user is given the ability to specify the exposure time trigger mode and some of the shutter details Image Binning This example shows how to acquire single images with possible binning The sub image to be read can be entered and the binning for each dimension can be set Kinetics Accumulate For this example we go back to the Full Vertical Binning readout mode as in example 1 However we introduce a new acquisition mode Kinetic Series Kinetic Series is the most complex acquisition mode with up to 5 parameters to be set The user is given the ability to specify the number of accumulations per scan accumulation cycle time number of scans in Kinetic series Kinetic cycle time and the exposure time SECTION 10 Page 74 ANDOR ea EXA
192. tarting to use the SDK These sections describe the installation process camera initialization configuration and data capture Section 11 is a complete function reference detailing the function syntax parameters passed and error codes returned To further aid the user there is a comprehensive list of examples included with the SDK The examples illustrate the use of C Visual Basic and LabVIEW SECTION 1 Page 9 ANDOR ee INTRODUCTION TECHNICAL SUPPORT Contact details for your nearest representative can be found on our website SOFTWARE IMPROVEMENTS AND ADDITIONAL FEATURES Version 2 82 30000 0 New features e Added option for horizontal binning in random track mode e Added capabilities for Horizontal Binning MultiTrackHRange and No Gaps in Random Tracks e New capability added to test for overlapped external exposure mode e Deprecated SetGain for Set MCPGain which is a more accurate naming convention e Added Dud column support to SDK allows SDK to be configured to interpolate bad columns Bug fixes e Fixed minimum exposure for Luca R e Updated documentation error code correction for get data functions e Fixed missing cases of GetTemperature in LabVIEW wrapper e Updated documentation Corrected contact information e StartAcquisition now returns an error if horizontal binning does not divide evenly into range for multi tracks e Fixed crash when StartAcquisition is called in random track mode before
193. ted scans in the current acquisition If O is returned for both accum and series then either e No acquisition is currently running e The acquisition has just completed e The very first scan of an acquisition has just started and not yet completed GetStatus can be used to confirm if the first scan has just started returning DRV_ACQUIRING otherwise it will return DRV_IDLE For example if accum 2 and series 3 then the acquisition has completed 3 in the series and 2 accumulations in the 4 scan of the series long accum returns the number of accumulations completed in the current kinetic scan long series return the number of kinetic scans completed unsigned int DRV_SUCCESS Number of accumulation and series scans completed DRV_NOT_INITIALIZED System not initialized SetAcquisitionMode SetNumberAccumulations SetNumberKinetics SetDriverEvent SECTION 11 Page 82 ANDOR FUNCTIONS GetAcquisitionTimings unsigned int WINAPI GetAcquisitionTimings float exposure float accumulate float kinetic Description Parameters Return See also 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 This function is required as it is possible to set the exposure time to
194. 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 If your system has multiple cameras then see the section Controlling multiple cameras Parameters char directory Path to the directory containing the files Return unsigned int DRV_SUCCESS Initialisation successful DRV_VXDNOTINSTALLED VxD not loaded DRV_INIERROR Unable to load DETECTOR INI DRV_COFERROR Unable to load COF DRV_FLEXERROR Unable to load RBF DRV_ERROR_ACK Unable to communicate with card DRV_ERROR_FILELOAD Unable to load COF or RBF files DRV_ERROR_PAGELOCK Unable to acquire lock on requested memory DRV_USBERROR Unable to detect USB device or not USB2 0 DRV_ERROR_NOCAMERA No camera found See also GetAvailableCameras SetCurrentCamera GetCurrentCamera InitializeDevice unsigned int WINAPI InitializeDevice char dir Description THIS FUNCTION IS RESERVED SECTION 11 Page 145 ANDOR haa FUNCTIONS IsCoolerOn unsigned int WINAPI IsCoolerOn int _pi_coolerStatus Description This function checks the status of the cooler Parameters int _pi_coolerStatus 0 Cooler is OFF 1 Cooler is ON Return unsigned int DRV_SUCCESS Status returned DRV_NOT_INITIALIZED System not initialized DRV_P1INVALID Parameter is NULL See also CoolerON CoolerO
195. the vertical or horizontal dimension for a particular readout mode int ReadMode The readout mode for which to retrieve the maximum binning see SetReadMode for possible values int HorzVert 0 to retrieve horizontal binning limit 1 to retreive limit in the vertical int MaxBinning Will contain the Maximum binning value on return unsigned int DRV_SUCCESS Maximum Binning returned DRV_NOT_INITIALIZED System not initialized DRV_P1INVALID Invalid Readmode DRV_P2INVALID HorzVert not equal to 0 or 1 DRV_P3INVALID Invalid MaxBinning address i e NULL GetMinimumImageLength SetReadMode GetMaximumExposure unsigned int WINAPI GetMaximumExposure float MaxExp Description Parameters Return See also This function will return the maximum Exposure Time in seconds that is settable by the SetExposureTime function Float int MaxExp Will contain the Maximum exposure value on return unsigned int DRV_SUCCESS Maximum Exposure returned DRV_P1INVALID Invalid MaxExp value i e NULL SetExposureTime SECTION 11 Page 118 ANDOR FUNCTIONS GetMCPGain unsigned int WINAPI GetMCPGain int iNum int iGain float fPhotoepc Description Parameters Return See also NOTE This function will retrieve a table of the Micro Channel Plate photoelectrons per count as a function of the applied gain int iNum Number of array elements Currently it MUST be 10 int iGain pointer to the Gain array
196. time is the time between triggers However the exposure window has moved in time by the exposure time There is no need for a mechanical shutter As the exposure time is long compared to the time required to shift the image into the storage area and therefore image streaking will be insignificant SECTION 4 Page 39 ANDOR OA 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 He T T nn nn lt n epee Step 2 Step 3 Step 1 Keep Clean Cycle lt mmm Step 4 Step 6 Step 5 e Step 1 Both Image and Storage areas of the CCD are fully cleared out the Keep Clean Cycle e Step 2 When an acquisition begins the CCD stops the Keep Clean Cycle The image builds up in the Image area of the CCD The CCD remains in this state until the exposure time has elapsed at which point the readout process starts e Step 3 The charge built up in the Image area is quickly shifted into the Storage area The time required to move the charge into the Storage area is the same as in the Frame Transfer mode e Step 4 With the image now in the Storage area the captured image is read out The time taken to read out the image is again the same as in the Frame Transfer mo
197. tion and passing in the camera handle Once a camera has been selected any other SDK function can be called as normal but it will only apply to the selected camera Initialize must be called once for each camera that you wish to use At any stage the GetCurrentCamera function can be called and it will return the handle of the currently selected camera NOTE 1 It is not possible to unplug any cameras or plug in new ones during the lifetime of the application 2 It is not possible to trigger cameras simultaneously using software To simultaneously trigger more than one camera external triggers can be used or alternatively one camera can be triggered by software and the fire pulse from this camera used to trigger the others 3 Currently if only one camera is installed there is no need to obtain the camera handle or select it since this camera will be used by default SECTION 9 Page 58 AN DOR NY TEonnorocy SPECIAL GUIDES This example pseudo code demonstrates how to use the functions relating to the operation of multiple cameras fi f f Multiple Camera Pseudo Code Example Note This code does not compile This example demonstrates how to f f 1 Determine the number of cameras available 2 Obtain a handle for each camera ff 3 Initialize each camera ff 4 Perform a single scan acquisition with each camera f f 5 Check which camera is currently selected ff 6 Shut dom each camera ff f f Start
198. tual 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 For greater control over the positioning of the tracks use Random Track mode MULTI TRACK TOUT TTT fs TUTTI TTT a hi OTT s 0 Track Height Figure 4 Multi Track Multi Tracks will allow you to simultaneously acquire a number of spectra delivered typically via a fiber bundle If you are using a non frame transfer camera and a continuous source you will need to use a shutter to avoid streaking the spectra during the binning process Please refer to SECTION 8 SHUTTER CONTROL for further information To set up a Multi Track acquisition you need to call the following functions SetReadMode 1 SetMultiTrack 5 20 0 bottom gap The SetMultiTrack function also returns the position of the first pixel row of the first track bottom together with the gap between tracks gap This allows the user to calculate the actual position of each track NOTE 1 Before using Multi Track mode with fiber bundles it is often useful to acquire a full resolution image of the output Having observed the vertical position and spacing of the individual spectra you can vary track height and offset accordingly 2 Imaging spectrographs vertically invert input light i e light from the top fiber will fall on the bottom track
199. ture SetTemperature CoolerON CoolerOFF GetlemperatureRange SECTION 11 Page 137 ANDOR Sess 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 DRV_SUCCESS Temperature range returned DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress See also GetTemperature GetlemperatureF Settemperature CoolerON CoolerOFF GetTemperatureStatus unsigned int WINAPI GetTemperatureStatus float SensorTemp float TargetTemp float AmbientTemp float CoolerVolts Description THIS FUNCTION IS RESERVED GetTotalNumberlmagesAcquired unsigned int WINAPI GetTotalNumberlmagesAcquired long index Description This function will return the total number of images acquired since the current acquisition started If the camera is idle the value returned is the number of images acquired during the last acquisition Parameters long index returns the total number of images acquired since the acquisition started Return unsigned int DRV_SUCCESS Number of acquired images returned DRV_NOT_INITIALIZED System not initialized SECTION 11 Page 138 ANDOR FUNCTIONS GetVersioninfo unsigned int WINAPI GetVersionInfo AT_VersionIn
200. um threshold in counts for photon counting long max maximum threshold in counts for photon counting unsigned int DRV_SUCCESS Thresholds accepted DRV_P1INVALID Minimum threshold outside valid range 1 65535 DRV_P2INVALID Maximum threshold outside valid range DRV_NOT_INITIALIZED System not initialized 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 SECTION 11 Page 198 ANDOR ene 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 0 to GetNumberPreAmpGains 1 Return unsigned int DRV_SUCCESS Pre amp gain set DRV_NOT_INITIALIZED System not initialized DRV_ACQUIRING Acquisition in progress DRV_P1INVALID Index out of range See also IsPreAmpGainAvailable GetNumberPreAmpGains GetPreAmpGain NOTE Available on iDus iXon amp Newton SECTION 11 Page 199 ANDOR FUNCTIONS SetRandomTracks unsigned int WINAPI SetRandomTracks int number int tra
201. unction checks if the hardware and current settings permit the use of the specified Trigger mode available System not initialize Not a valid mode Description trigger mode Parameters int itriggerMode Trigger mode to check Return unsigned int DRV_SUCCESS DRV_NOT_INITIALIZED DRV_INVALID_ MODE See also SetTriggerMode SECTION 11 Page 147 ANDOR h FUNCTIONS Merge unsigned int WINAPI Merge const long array long nOrder long nPoint long nPixel float coeff long fit long hbin long output float start float step Description THIS FUNCTION IS RESERVED 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 0 OFF LOW all others ON HIGH Return unsigned int DRV_SUCCESS AUX port set 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_P1INVALID Invalid port id See also InAuxPort SECTION 11 Page 148 ANDOR FUNCTIONS PrepareAcquisition unsigned int WINAPI PrepareAcquisition void Description Parameters Return See also This function reads the current acquisition setup and allocates and configures any memory that will be used
202. using the GetBitDepth function Once this information has been obtained the next step is to find the number of available horizontal shift speeds for each output amplifier on each A D channel using the GetNumberHSSpeeds function Following this the value of each horizontal shift speed can be found using the GetHSSpeed function Each horizontal shift speed has an associated number of valid pre amp gains The next step is to obtain the value of each pre amp gain using the GetPreAmpGain function Not all pre amp gains are available for each horizontal shift speed so using the IsPreAmpGainAvailable function it is possible to check which pre amp gains are valid Once the information has been retrieved the relevant selections can be made using the functions that follow e SetADChannel e SetOutputAmplifier e SetHSSpeed e SetPreAmpGain SECTION 9 Page 64 AN DOR T em SPECIAL GUIDES An example of the pseudo code for this capability is shown here one s Horizontal Pixel Shift Pseudo Code Example ff Note This code does not compile ff ff Start of program if Iritialize camera Initialize long NumCharmmels Num mp ManPr etmpeains long BitDepth NumHSpeeds TsPres mpavailakble float HoSpeed GetHumber AD Channels MumCharmels CGetMmber Amp Numan Gethumber Pr etmpeains ManPr e npkains for 1 O to MNumChannele 1 GetBbitbepthti Bitbepth for 7 Oto Mhm4 mp 1 GetMumberHsipeeds 1 7 MuHSpeeds
203. ware is compatible and needs to be upgraded please contact productsupport andor com for a further application which will upgrade your system SECTION 9 Page 68 ANDOR ea 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 The flowchart is a basic demonstration of how to set up and control the Andor system to acquire data with the appropriate Andor SDK commands located just to the right of the flowchart The flowchart is divided into three sections the first deals with the initialization of the system and controlling the sensor temperature The second section deals with the data acquisition process while the third illustrates the proper shutdown procedure NOTE Do not have more than one example or other SDK software e g Andor Solis iQ running at the same time SECTION 10 Page 69 ANDOR RUNNING THE EXAMPLES 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 Mic
204. y 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 up event 1 Fire pulse down event Set the corresponding bit to 0 to disable the event type and 1 to enable the event type DWORD Enable bitmask with bits set for those events about which you wish to be notified unsigned int DRV_SUCCESS Mask Set DRV_VXDNOTINSTALLED Device Driver not installed SetAcqgStatusEvent SetPClMode Only available with systems using the CCI 23 controller card SECTION 11 Page 161 ANDOR oe TECHNOLOGY 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 SetRandomtTracks 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 For example 20 tracks of different heights will take up more memory than 20 tracks of the same height If attempting to set a series of random tracks and the return code equals DRV_RANDOM_TRACK_ERROR change the makeup of the tracks to have more repeating heights and gaps so less memory is needed Each track must be def
205. zero fRelR and _fRelB are set to 1 Demosaiclmage GetMostRecentColorlmage16 SECTION 11 Page 221 ANDOR CODE DRV_ERROR_CODES DRV_SUCCESS DRV_VXDNOTINSTALLED DRV_ERROR_SCAN DRV_ERROR_CHECK_SUM DRV_ERROR_FILELOAD DRV_UNKNOWN_FUNCTION DRV_ERROR_VXD_INIT DRV_ERROR_ADDRESS DRV_ERROR_PAGELOCK DRV_ERROR_PAGE_UNLOCK DRV_ERROR_BOARDTEST DRV_ERROR_ACK DRV_ERROR_UP_FIFO DRV_ERROR_PATTERN DRV_ACQUISITION_ERRORS DRV_ACQ_BUFFER DRV_ACQ_DOWNFIFO_FULL DRV_PROC_UNKNOWN_INSTRUCTION DRV_ILLEGAL_OP_CODE DRV_KINETIC_TIME_NOT MET DRV_KINETIC_TIME_NOT_MET DRV_ACCUM_TIME_NOT_MET DRV_NO_NEW_DATA DRV_SPOOLERROR DRV_TEMPERATURE_CODES DRV_TEMPERATURE_OFF DRV_TEMPERATURE_NOT_ STABILIZED DRV_TEMPERATURE_ STABILIZED DRV_TEMPERATURE_NOT_REACHED DRV_TEMPERATURE_OUT_RANGE DRV_TEMPERATURE_NOT_ SUPPORTED DRV_TEMPERATURE_DRIFT DRV_GENERAL_ERRORS DRV_INVALID_AUX DRV_COF_NOTLOADED DRV_FPGAPROG DRV_FLEXERROR DRV_GPIBERROR DRV_DATATYPE DRV_DRIVER_ERRORS ERROR 20001 20002 20003 20004 20005 20006 20007 20008 20009 20010 20011 20012 20013 20014 20015 20017 20018 20019 20020 20021 20022 20022 20023 20024 20026 20033 20034 20035 20036 20037 20038 20039 20040 20049 20050 20051 20052 20053 20054 20064 20065 ERROR CODES SECTION 12 ERROR CODES CODE ERROR DRV_P1INVALID 20066 DRV_P2INVALID 20067 DRV_P3INVALID 20068 DRV_P4INVALID 20069 DRV_INIERROR 20070 DRV_COFERROR 20071 DRV_ACQUIRING 20072

Download Pdf Manuals

image

Related Search

Related Contents

Manuel d'utilisation  IGT High Speed Inking Unit 4  CT 710 - Talkie Walkie France  Frymaster BIRE14 User's Manual    YOKOGAWA - Insatech    Samsung Galaxy Tab (Wi-Fi) manual do usuário  U N E I N V I T A T I O N A U P E R F E C  Istruzioni d`uso e di montaggio Forno con microonde  

Copyright © All rights reserved.
Failed to retrieve file