beautypg.com

Roper Photometric User Manual

Page 15

background image

Chapter 2. ICL

9

loop_begin

(loop_count);

This function allows looping within a script. A

loop_count

specifies the number of times to perform the loop.

All instructions between the

loop_begin

and matching

loop_en

d commands are executed exactly

loop_count

times. Loops may be nested up to 16 deep. Note that indentation of a script’s source code may

improve readability, but it does not alter the loop nesting in any way.

loop_count

must be between 1 and

65,535, inclusive.

loop_end( );

This function defines the end-of-loop, and allows looping within a script. This command must be matched
with a

loop_beg

in command (the

loop_begin

command must appear first). Loops can be nested.

pixel_display

(x,y);

This function indicates that camera output is decoded for display on a monitor. The application software takes
the next (

x*y

) pixels from the output data stream and displays them as a single rectangular image, x pixels

wide by y pixels tall. Cross-checking done during script setup ensures that the total number of pixels
displayed matches the total number of pixels collected (assuming that data collection is completed without
errors). In other words, the total number of pixels read from the camera (using

pixel_readout

) equals the

total number of pixels displayed (using

pixel_display

). Depending on the experiment design and the 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 function causes a block of pixels (region) to be first read out into the serial register, then transferred into
the output converter and digitizer. The region must be immediately adjacent to the serial register when this
instruction is given (the parallel offset must be zero, so you have to use the shift command to move the
desired region to the edge of the parallel register).

Serial Register

Parallel Register

s_size

p_size

(0,0)

s_offset

For each row of the block, the first

s_offset

pixels are skipped. The next

s_size

pixels (after the skipped

pixels) are digitized using a binning of

s_bin

. Each subsequent row is then digitized in the same fashion for a

total of

p_size

rows. Finally, if

p_bin

is greater than 1, parallel binning is also performed.

All parallel shifting is performed using the current parallel shifting mode. In some cases, the resulting readout
makes no sense (for example, if a custom backward shift is used).

If any of the sizes are an uneven multiple of binning, a smaller size that exactly fits the binning is used. If the
size is smaller than the binning (size 4, binning 5) a fatal error is produced.