background image

Chapter 2. ICL

21

Man Pages

This section contains the Man Page descriptions for the six ICL scripting functions included in the PVCAM
library. These functions are intended for use by application programmers only.

PVCAM

Class 101: ICL

pl_exp_display_script(101)

NAME

pl_exp_display_script 

– lists the display rectangles.

SYNOPSIS

boolean

pl_exp_display_script(int16 hcam, icl_disp_ptr

user_disp_array, void_ptr pixel_stream)

DESCRIPTION

This function can only be called after 

pl_exp_setup_script

. It further

processes the script that was loaded during 

pl_exp_setup_script

. Users

must pass in a structure that has at least 

num_rects 

elements 

(num_rects 

is passed

back from 

pl_exp_setup_script

). This function then fills that structure with

the x and y sizes for every “display” rectangle, as well as that rectangle’s offset
into the pixel stream (which is why the allocated data collection pointer must be
passed in).

RETURN VALUE

TRUE for success, FALSE for a failure. Failure sets pl_error_code.

SEE ALSO

pl_exp_setup_script(101)

NOTES

The 

script_disp_ptr

 is defined in 

pv_icl.h

:

typedef struct { /* ONE IMAGE “DISPLAY” FOR SCRIPTING */

uns16 x; /* image width to display, in pixels */
uns16 y; /* image height to display, in pixels */
void_ptr disp_addr; /* starting address for this image */

} icl_disp_type,
PV_PTR_DECL icl_disp_ptr;

The list of rectangles is unrolled from inside the looping constructs, so users are
presented with a simple linear list

. disp_addr

 is the starting address for the

data for this rectangle (based on the fact that all the data is put into the address

pixel_stream

. In other words: the address of the first rectangle is exactly

pixel_stream

. If that rectangle was a 10x10 display, the (starting) address of

the second rectangle would be 

pixel_stream

 + 200 (bytes).

Separate rectangle lists are kept for each 

hcam

, so multiple cameras (and

multiple users) do not collide. This reports on the state following the most recent
call to 

pl_exp_setup_script( )

 using this value of 

hcam

. A new call resets

the list. This function can be called after data collection has finished, provided
that a new call to 

pl_exp_setup_script( ) 

is not made in the mean time.

This function does not actually display data. It only provides display
parameters.

Содержание Photometric

Страница 1: ......

Страница 2: ...ica Photometrics and Roper Scientific are trademarks and Metachrome PVCAM and PXL are registered trademarks of Roper Scientific Inc The information in this publication is believed to be accurate as of the publication release date However Roper Scientific Inc does not assume any responsibility for any consequences including any damages resulting from the use thereof The information contained herein...

Страница 3: ...or factory authorized service center for shutter replacement by a factory authorized agent Responsibility for transportation and insurance charges is described above Sealed Chamber Integrity Warranty Roper Scientific warrants the sealed chamber integrity of all our products for a period of twenty four 24 months Open chamber products carry no warranty to the CCD imaging device expressed or implied ...

Страница 4: ...ry or one of our authorized manufacturer s representatives or distributors 6 Unless specified as part of the original purchase agreement Roper Scientific is not responsible for installation setup or disassembly at the customer s location 7 Warranties extend only to defects in materials or workmanship as limited above and do not extend to any product or parts which have been lost or discarded by yo...

Страница 5: ... 6 Script 6 Whitespace 6 Function Syntax 6 Readout Display 6 Function Definitions 7 Example Scripts 13 Open the Shutter 13 Single Image 13 TDI Time Delay Integration Panorama 14 Ratio Imaging 2 Frame Ratio 15 Ratio Imaging Multi Frame Ratio 16 3 Color Sequence 17 Intermittent Exposure 18 High Speed Spectroscopy 19 Error Codes 20 Man Pages 21 pl_exp_display_script 101 21 pl_exp_init_script 101 22 p...

Страница 6: ...ations 31 CCD Readout 32 Subarrays 33 Binning 33 Time Delay Integration 34 CCD Architectures 35 Full Frame 35 Frame Transfer 35 Interline Transfer 36 CCD Camera Implementations 37 Resolution 37 Sensitivity 37 Spectral Response 38 Fiberoptics 39 Sources of Noise 39 Photon Noise 39 Preamplifier Noise 39 Dark Current Noise 40 Tradeoffs 40 Additional Reading 41 Index 43 ...

Страница 7: ...amera control and data acquisition functions Full function imaging packages access PVCAM These full function packages offer the camera control adequate for most users ICL is a PVCAM option library that allows users to write low level ASCI II command scripts for specialized applications The scripts which can be written in any text editor are then loaded through an ICL compatible full function imagi...

Страница 8: ...scientific com Mail Roper Scientific 3440 East Britannia Drive Tucson Arizona 85706 In Europe you can reach Customer Service at BENELUX Phone 31 347 324989 Fax 31 347 324979 E mail mailto roperscientific com Mail Roper Scientific BV Ir D S Tuijnmanweg 10 4131 PN VIANEN Netherlands FRANCE Phone 33 160 86 03 65 Fax 33 160 86 07 09 E mail princeton instruments wanadoo fr Mail Roper Scientific SARL Z ...

Страница 9: ...renthetical expressions are illegal Whitespace Whitespace includes a single occurrence or any combination of the following space carriage return line feed form feed tab and unnested comment characters Whitespace is not required Once the characters are seen you may insert any desired comments until the closing appears However you cannot nest comments The first ends the comment A second used before ...

Страница 10: ...must be separated by commas Insert whitespace as desired The following examples are legal pixel_readout 0 100 1 50 2 pixel_readout 0 100 1 50 2 pixel_readout 0 100 1 50 2 MAIN FUNCTION serial offset of 0 serial size value 100 serial binning parallel size par bin Verbs A verb describes which function is performed next Verb names are a mixture of lowercase text and underscore characters All verbs ar...

Страница 11: ...ing Verbs Use the following verbs for looping loop_begin loop_count loop_end All instructions occurring between these two verbs are executed loop_count times The mechanism that performs this communication is camera specific On most systems built in commands are used to perform looping However on some systems the instructions inside the loop may be duplicated loop_count times You can nest loops up ...

Страница 12: ...oop_count verb param loop_end pixel_readout param param param param param pixel_display param param script_end param Whitespace Whitespace is never required When whitespace is allowed the following are allowed character space I J L M non nested comments ASCII name space HT LF FF CR dec value 32 9 10 12 13 47 42 42 47 C generation t n f r Function Syntax verb verb_name param param param whitespace ...

Страница 13: ...rallel shift mode image and storage MPP alt shift_mode_s parallel shift mode storage array normal shift_mode_s_alt parallel shift mode storage array alternate shift_mode_sm parallel shift mode storage array MPP shift_mode_sm_alt parallel shift mode storage array MPP alternate shutter_close close the camera shutter shutter_open open the camera shutter clear_parallel clear_count This function clears...

Страница 14: ...nction with frame transfer consult your camera s User Manual expose_until_trig This function begins exposing immediately and continues exposing until a trigger signal arrives The script then continues with the next instruction During the exposure this applies voltage patterns to the CCD in either normal or MPP modes see expose As with the regular expose function this neither opens or closes the sh...

Страница 15: ... exact script used the individual pixel_readout and pixel_display instructions may or may not be closely matched However if the script contains any pixel_readout instructions i e if one or more pixels are readout from the camera it must also contain at least one pixel_display instruction Both x and y must be between 1 and 65 535 inclusive pixel_readout s_offset s_size s_bin p_size p_bin This funct...

Страница 16: ...rage array shift the rows either forward or backward depending on the setting of the ALT shift modes or use MPP mode for the clocking The serial register is cleared during the shift operation so any charge dumped into the serial register is eliminated The two most common cases are described below shift_mode_is or shift_mode_ism In these two modes the entire parallel register is being moved Issuing...

Страница 17: ... uses the normal clocking method that is usually equivalent to MPP off For CCDs that require MPP clocking the clocking method is MPP on shift_mode_s_alt Shift Storage Alternate This parallel shifting mode shifts only the storage array on a frame transfer CCD This mode can only be used on frame transfer CCDs If this mode is used on a non frame transfer CCD the script compiler generates an error and...

Страница 18: ...s refer to your camera s User Manual shutter_open This function opens the camera shutter Once the shutter_open_delay time has passed this function continues on to the next script instruction See shutter_close for more information For more information concerning the pinouts and electrical specifications of the trigger port and how they relate to the shutter commands refer to your camera s User Manu...

Страница 19: ...pen the Shutter This script opens the camera shutter and leaves it open script_begin shutter_open script_end 0 Single Image This script is intended for use on a Kodak 1400 CCD serial size 1317 parallel size 1035 The script takes one full frame image and exits script_begin shutter_close good precaution who knows what state it s in clear_parallel 2 clear out any residual charge clear_serial 2 might ...

Страница 20: ...nishing with a final clean up readout of 1035 rows The CCD reaches a steady state exposure duration during the middle of the panorama but the beginning and ending few lines are exposed for less time Exposure time is progressively less for the first and last 1035 rows of the panorama The result is that the front and back ends of the panorama gradually ramp up and down in brightness script_begin shi...

Страница 21: ...his compensates for the relatively slow mechanical shutter 9 The camera outputs data for both exposures This script takes two very fast exposures 10 milliseconds each with minimal delay between each exposure on the CCD37 10 shifting an image into storage takes less than 1 3 milliseconds The shutter is slower than the exposures A typical mechanical shutter requires 15 milliseconds to close To remov...

Страница 22: ...shift_image_to_storage readout clear CCD wait for trigger CCD D expose for 100 milliseconds CCD E shift_image_to_storage readout loop back to A The only problem is that you cannot use a signal to differentiate between CCD B and CCD D In the future camera hardware might be enhanced so that it produces a flash signal in CCD E Then you would use the enhancement to trigger step H W A script_begin shut...

Страница 23: ...en you see the high signal switch to the next light in the sequence red green blue red green blue etc All of the pins are standard TTL voltage levels so the associated circuitry is fairly straightforward It is important to take this sequence as FAST as possible so use the CCD37 10 frame transfer CCD 512x512 image size 512x544 storage size and readout one exposure while exposing the next Although t...

Страница 24: ...d EXPOSE in MPP mode clear_until_trig wait for the trigger to be turned on loop_begin 100 this allows exactly 99 interruptions expose_until_trig shutter is closed waiting for a trigger shutter_open open the shutter and begin exposing expose_while_trig 0 GOOD EXPOSURE TIME shutter_close interruption loop_end clear_serial 100 an evening s worth of charge has accumulated pixel_readout 0 1024 1 1024 1...

Страница 25: ...exposure time loop_begin 544 LOOP FOR EACH SPECTRUM EACH ROW IN STORAGE expose 0 total exposure time 0 1 23 milliseconds shift_mode_s shift the storage array only shift 1 move storage down 1 line to make way for shift_mode_s_alt custom setting shift IMAGE ARRAY ONLY shift 512 bin entire image array into top of storage NOTE this shift takes 1 23 milliseconds loop_end shutter_close DONE EXPOSING NOW...

Страница 26: ...LON semicolon missing from this instruction 10112 C101_ICL_TOO_MANY_ARG instruction has too many parameters 10113 C101_ICL_TOO_FEW_ARG instruction doesn t have enough parameters 10114 C101_ICL_ARG_IS_ZERO argument must be greater than zero 10115 C101_ICL_ARG_OVER_65K argument must be 65 535 or less 10116 C101_ICL_ARG_INVALID argument is invalid or illegal 10117 C101_ICL_OVER_LOOP loops are nested ...

Страница 27: ..._setup_script 101 NOTES The script_disp_ptr is defined in pv_icl h typedef struct ONE IMAGE DISPLAY FOR SCRIPTING uns16 x image width to display in pixels uns16 y image height to display in pixels void_ptr disp_addr starting address for this image icl_disp_type PV_PTR_DECL icl_disp_ptr The list of rectangles is unrolled from inside the looping constructs so users are presented with a simple linear...

Страница 28: ...ETURN VALUE TRUE for success FALSE for a failure Failure sets pl_error_code SEE ALSO pl_pvcam_init 2 pl_pvcam_uninit 2 pl_exp_uninit_script 101 NOTES This function must be called explicitly after calling pl_pvcam_init and before calling any other pl_exp_ _script function Scripting requires some of the functions in the Class 3 PVCAM library When scripting is initialized the Class 3 library must als...

Страница 29: ...d as with all C strings The script is also examined for line feed newlines etc in an attempt to divide the script into the separate lines used by common word processors The line number and character in the line are returned in err_line and err_ch_in_line Both of those values are 1 indexed as is typical with text editors and word processors so that the first character in the script is character 1 o...

Страница 30: ...l ling hcam During that compilation it determines how many pixels will be collected The total number of bytes is returned in stream_size and the user must allocate a pixel_stream array of at least this size before running the script see pl_exp_start_script During compilation the scripts display functions are also examined These functions specify how the resulting data is decomposed into individual...

Страница 31: ...for data collection The buffer must be at least stream_size bytes large where stream_size is the value returned from pl_exp_setup_script In addition this memory needs to be page locked or similarly protected on virtual memory systems These requirements are system specific There is a special case for users who want to use their own frame grabber with an appropriately equipped camera If a null point...

Страница 32: ...cripting functions may no longer be called RETURN VALUE TRUE for success FALSE for a failure Failure sets pl_error_code SEE ALSO pl_pvcam_init 2 pl_pvcam_uninit 2 pl_exp_init_script 101 NOTES This function must be explicitly called before calling pl_pvcam_uninit You must also uninitialize the Class 3 library pl_exp_uninit_seq whenever you call pl_exp_uninit_script Order is not important You may ca...

Страница 33: ...ore detailed information is available from the pl_exp_display_script command Image Display The image display method depends on the application You should perform the extraction and display tasks using the same method you are currently using to process the pixel stream and display images with conventional PVCAM In other words if you already have a working application you need to apply the same tech...

Страница 34: ...28 Advanced Camera Operation Manual This page intentionally left blank ...

Страница 35: ...and is opaque to light at wavelengths shorter than 400 nm The photon produced electronic charge is proportional to the incident light between these wavelength limits However charge can be created by other energy sources High energy particles x rays and cosmic rays can break many thousands of bonds Excessive exposure can damage the crystal lattice Bonds can also be broken by thermal agitation The r...

Страница 36: ... output amplifier When a series of oxide and conductive gate structures is fabricated with multiple phases potential wells can be propagated through a silicon sheet This charge transfer concept is essential to understanding charge coupled devices When an appropriate sequence of potentials is applied to the gates the potential wells are propagated in the direction shown in the figure Charge Transfe...

Страница 37: ...ains a single charge packet Pixel columns Parallel clocks Serial clocks 10 25 mm 10 25 mm 20 µ A Typical CCD Imager 20 µ One pixel Serial Register 512 x 1 pixels Output node Parallel Register 512 x 512 pixels The serial register is along one side of the parallel register perpendicular to the pixel columns The serial register is itself a one dimensional CCD It may be masked so that incident photons...

Страница 38: ...first row is shifted into the serial register CCD Readout The CCD is exposed to light and a charge pattern accumulates in the parallel register The first pixel is serially shifted into the output node The charge at the out put node is collected for signal processing Steps 2 through 7 are repeated until the entire parallel register is read out Steps 5 and 6 are re peated until the entire serial reg...

Страница 39: ... Binning Binning is a technique of combining charge from adjacent pixels during the readout process Binning improves the signal to noise ratio and extends the dynamic range of the CCD imager but at the expense of spatial resolution Binning is thus most useful in applications where resolution in one or both axes is not of primary concern Because binning reduces the number of pixels to be processed ...

Страница 40: ...ion on page 35 illustrates the TDI principle A moving image is focused on an unshuttered CCD imager The parallel register is clocked in step with image motion so that charge packets always correspond to the same image region as they move across the parallel register Charge accumulates and signal strength increases as the pixels approach the serial register When pixels reach the serial register the...

Страница 41: ...is used to control the exposure and to block light during readout preventing charge smearing Frame Transfer The frame transfer CCD imager has a parallel register divided into two distinct areas The area at the far end of the parallel register is the image array where images are focused and integrated The other area the storage array is identical in size and is covered with an opaque mask to provid...

Страница 42: ...time of the emitted light Spectral Framing In a mode particularly suited for spectroscopy the CCD is masked so that only a single row of the parallel register is exposed In this mode one dimensional line images can be acquired at a very high speed until the parallel register is filled up Spectral framing CCDs are used in time resolved spectroscopy An observation could consist of hundreds of indivi...

Страница 43: ...at warmer temperatures High energy physicists on the other hand use CCDs in ultra high speed cameras to observe transient phenomena where dark current is not relevant A conventional shutter can be used to acquire exposures as brief as a few milliseconds or as long as an hour a microchannel plate image intensifier can be used to gate exposures of a few nanoseconds Resolution The resolution of a CCD...

Страница 44: ...e Silicon Thinned silicon Incoming light Down Converters CCD spectral response can also be extended with the use of a light emitting phosphor called a down converter A down converter absorbs light in the ultraviolet range of the spectrum and re emits it in the visible range A CCD with a Down Converter demonstrates the use of the phosphor down converter Metachrome II in conjunction with a front ill...

Страница 45: ...ic coupled CCDs are often used in conjunction with other optical devices such as image intensifiers and streak tubes equipped with matching fiberoptic outputs The high light collection efficiency provided by this approach warrants the additional complexity in fields such as radiography and electron microscopy where fiberoptic coupled CCDs are used to directly image phosphor screens Sources of Nois...

Страница 46: ...situation the available light level determines the integration time required to arrive at an acceptable SNR Acceptable SNRs vary with the application the tradeoffs between light level and integration time must be considered for each circumstance When the light level is high enough that photon statistics are the dominant source of noise preamplifier noise and dark current are not relevant The CCD d...

Страница 47: ...rumentation Engineers 501 1984 Dereniak E L and Crowe D Optical Radiation Detectors New York John Wiley and Sons 1984 Janesick James and Morley Blouke Sky on a Chip The Fabulous CCD Sky and Telescope September 1987 Janesick et al 1989 Charge Coupled Device Pinning Technologies Proceedings of the Society of Photo Optical Instrumentation Engineers 1071 15 1989 Kristian Jerome and Morley Blouke Charg...

Страница 48: ...42 Advanced Camera Operation Manual This page intentionally left blank ...

Страница 49: ...fficiency 37 readout sequence 32 serial register 31 spectral framing 36 subarrays 33 thinned CCDs 38 Charge coupled device CCD cont time delay integration TDI 34 clear_count 7 clear_first 8 clear_parallel 7 8 clear_serial 7 clear_until_trig 7 8 10 Commas 4 6 Comments 3 Conditional statements 3 contin_clear 10 Cooling CCD 37 40 Customer Service 2 D G Dark current 29 in CCD cooling 37 MPP operation ...

Страница 50: ..._exp_setup_script 24 pl_exp_start_script 25 pl_exp_uninit_script 26 Potential wells 29 Preamplifier noise 39 PVCAM 1 Q R Quantum efficiency 37 Ratio Imaging 2 frame ratio 15 multi frame ratio 16 Readout sequence 32 Readout display 6 Repair camera 2 Rules of syntax 3 S s_bin 9 s_offset 9 s_size 9 script_begin 5 6 7 10 script_end 6 7 10 Serial register 31 shift 7 10 shift_image_to_storage 7 10 shift...

Страница 51: ...Subroutines 5 Display 6 looping 5 Shift 5 syntax 6 W Z Warranties i image intensifier detector i Warranties cont one year i owner s manual and troubleshooting ii sealed chamber i shutter i software i vacuum integrity i x ray detector i your responsibility ii Whitespace 3 6 x y 9 ...

Страница 52: ...entific GmbH Rosenheimer Landstr 87 D 85521 Ottobrunn Germany tel 49 89 660 779 3 fax 49 89 660 779 50 email mail roperscientific de JAPAN Nipon Roper K K D 10E 1 3 Nakase Mihama ku Chiba shi Japan 261 8501 tel 81 43 274 8022 fax 81 43 274 8023 email sales roper co jp USA Roper Scientific Arizona 3440 East Britannia Drive Tucson Arizona 85706 tel 520 889 9933 fax 520 295 0299 email cservice ropers...

Отзывы: