Roper Photometric User Manual
Page 15
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.