ALU operations - acquire sequence

ALU operations - acquire sequence

This DigImage facility provides simple real-time manipulations of images during acquisition using the onboard arithmetic logic unit (ALU). The arithmetic logic unit (ALU) which is an integral part of the Data Translation frame grabber is capable of a number of simple arithmetic and logic operations. The ALU has two input arms, labelled "A" and "B". Eight bit intensity information is produced by the analog to digital converter (A/D) and is presented, via the input lookup table (ILUT), to the "A" arm of the ALU. Similarly eight bit intensity information is transferred from a specified frame buffer to the "B" arm of the ALU. Note that the "B" arm is not translated by a lookup table. The two eight bit inputs to the ALU are combined in the selected manner to produce a nine bit result. This nine bit result is then mapped onto eight bit space through the selected result lookup table (RLUT). The full range of such ALU operations by specifying the buffers, look up tables and ALU operations are supported (zoom and pan on the "B" mask buffer are not supported).

Acquire which buffer ?

The user specifies which buffer(s) are to be filled with images acquired using the ALU. Any valid buffer may be used, remembering that buffers in extended memory will be acquired first to buffer 0 and then copied to extended memory.

At what time ?

The time offset at which each buffer is to be acquired must be specified. These time offsets must be specified in ascending order as DigImage does not control the VTR for this facility. The normal time format minutes:seconds is used (see the general help given by <shift><f1> for more details).

Another buffer ?

If another buffer in the sequence is required, then <Y> should be used. If all the buffers required have been specified, then <N> will let DigImage proceed. Up to 32 buffers may be specified in the sequence. Note DigImage does not check to see if a given buffer is specified more than once.

Use which buffer as a mask ? Must be onboard buffer (-1 for input)

This option specifies the buffer to be presented to the "B" input arm of the ALU. If -1 is specified, then the buffer being acquired will be its own mask, even if an extended memory buffer is being acquired. If another value is given, then it must correspond to an onboard buffer; the same buffer will be used for every image in the sequence (though the buffer's contents may be changed by acquiring to it).

Repeat how many times for each buffer ?

This input will be requested only if the mask buffer is specified as -1 (ie. set to the input buffer), thus providing a method of repeated self-referencing.

Erase before acqiring ?

This selection occurs only if the mask buffer is the input buffer (ie. -1 specified for mask buffer) and allows the buffer to be erased before any image is acquired to it. Yes (<Y>) causes the buffer to be erased, while no (<N>) preserves the present contents.

Base name of file to be saved (no extension). No name => do not save

As an option DigImage can be forced to save all the buffers acquired to a sequence of files if a file name is given (if no name given, then the buffers will not be saved to files). The file names have the form File_Name.001 for buffer 1, File_Name.002 for buffer 2 and so on. The files are in a binary form without any form of encoding or compression. The first two bytes specify the number of rows, while the third and fourth bytes specify the number of columns. The remainder of the file is a byte stream giving the intensity of each pixel and is ordered by column from the top left of the buffer.

ALU Operations: This input specifies the ALU operation to be used during the acquisition process. The ALU operations are divided into logical operations and two classes of arithmetic operations. The two classes of arithmetic operations vary in how the CARRYIN register on the frame grabber card is set. A list of the 48 operations is given below:

      Logical         Arithmetic              with carry
      0  nA           16 A                    32 A + 1
      1  n(A or B)    17 A or B               33 (A or B) + 1
      2  nA and b     18 A or nB              34 (A or nB) + 1
      3  0            19 -1                   35 zero
      4  n(A and B)   20 A + (A and nB)       36 A+(A and nB)+1
      5  nB           21 (A or B)+(A and nB)  37 (A or B)+(A and nB)+1
      6  A xor B      22 A - B - 1            38 A - B
      7  A and nB     23 (A or nB) - 1        39 A and nB
      8  nA           24 A + (A and B)        40 A+(A and B)+1
      9  n(A xor B)   25 A + B                 41 A + B + 1
      10 B            26 (A or nB)+(A and B)  42 (A or nB)+(A and B)+1
      11 A and B      27 (A and B) - 1        43 A and B
      12 1            28 A + A                44 A + A + 1
      13 A or nB      29 (A or B) + A         45 (A or B)+A+1
      14 A or B       30 (A or nB) + A        46 (A or nB)+A+1
      15 A            31 A - 1                47 A

Note that nA and nB are the logical compliments of A and B, respectively. Addition operations (+) produce results between 0 and 511 as expected from adding two eight bit values. The subtraction operations (22 and 38) produce values between 256 and 511 for positive results, and between 0 and 255 for negative results.

Select Input Look Up Table The digitized eight bit signal produced by the A/D converter is applied to input "A" via input look up table (ILUT). A number of simple manipulations may be performed using this table. Details on those available are given by the 'H' Help option within the Select Input Look Up Table submenu.

Select Result Look Up Table The nine bit signal output from the ALU must be mapped onto eight intensity bits. This is achieved by passing the ALU output through the 512 elements of the Result Look Up Table (RLUT), each element containing an eight bit value. The mapping may perform simple arithmetic operations in its own right. Details on the RLUTs available are given by the 'H' Help option within the Select Result Look Up Table submenu.

Press any key to start

The acquisition process and delay clock are started by pressing any key. Once all the buffers have been acquired, their contents will be written to the specified files (if this was requested) before returning control to the Grab & Display submenu.

Parent menu

Main Menu

DigImage User Documentation


Stuart Dalziel, last page update: 19 February 1996