logical

[ XITE Reference Manual | XITE home ]

Contents


Name

logical, logical_and, logical_or, logical_xor, logical_not, logical_band, logical_bor, logical_bxor, logical_bnot, logical_lshift, logical_rshift, logical_eq, logical_ne, logical_lt, logical_le, logical_gt, logical_ge, logical_mask, logical_bandc, logical_borc, logical_bxorc, logical_eqc, logical_nec, logical_ltc, logical_lec, logical_gtc, logical_gec - logical operators on bands

Syntax

 #include <xite/arithmetic.h>

 int logical_and( IBAND input1, IBAND input2,
    IBAND output );

 int logical_or( IBAND input1, IBAND input2,
    IBAND output );

 int logical_xor( IBAND input1, IBAND input2,
    IBAND output );

 int logical_not( IBAND input, IBAND output );

 int logical_band( IBAND input1, IBAND input2,
    IBAND output );

 int logical_bor( IBAND input1, IBAND input2,
    IBAND output );

 int logical_bxor( IBAND input1, IBAND input2,
    IBAND output );

 int logical_bnot( IBAND input, IBAND output );

 int logical_lshift( IBAND input, IBAND output,
    int n );

 int logical_rshift( IBAND input, IBAND output,
    int n );

 int logical_eq( IBAND input1, IBAND input2,
    IBAND output );

 int logical_ne( IBAND input1, IBAND input2,
    IBAND output );

 int logical_lt( IBAND input1, IBAND input2,
    IBAND output );

 int logical_le( IBAND input1, IBAND input2,
    IBAND output );

 int logical_gt( IBAND input1, IBAND input2,
    IBAND output );

 int logical_ge( IBAND input1, IBAND input2,
    IBAND output );

 int logical_mask( IBAND input1, IBAND input2,
    IBAND output );

 int logical_bandc( IBAND input, IBAND output,
    UNS_BYTE c );

 int logical_borc( IBAND input, IBAND output,
    UNS_BYTE c );

 int logical_bxorc( IBAND input, IBAND output,
    UNS_BYTE c );

 int logical_eqc( IBAND input, IBAND output,
    UNS_BYTE c );

 int logical_nec( IBAND input, IBAND output,
    UNS_BYTE c );

 int logical_ltc( IBAND input, IBAND output,
    UNS_BYTE c );

 int logical_lec( IBAND input, IBAND output,
    UNS_BYTE c );

 int logical_gtc( IBAND input, IBAND output,
    UNS_BYTE c );

 int logical_gec( IBAND input, IBAND output,
    UNS_BYTE c );

Description

logical is a collection of logical operators on bands. For every pixel position, the unary or binary operator is performed on the input band(s), and the result is assigned to the output band.

 logical_and    - logical and (MIN operator)
 logical_or     - logical or  (MAX operator)
 logical_xor    - logical xor
 logical_not    - logical not
 logical_band   - bitwise and
 logical_bor    - bitwise or
 logical_bxor   - bitwise xor
 logical_bnot   - bitwise not
 logical_lshift - left shift
 logical_rshift - right shift
 logical_eq     - equality
 logical_ne     - not equality
 logical_lt     - less than
 logical_le     - less equal
 logical_gt     - greater than
 logical_ge     - greater equal
 logical_mask   - (input2) ? input1 : 0
 logical_bandc  - bitwise and with constant c
 logical_borc   - bitwise or with constant c
 logical_bxorc  - bitwise xor with constant c
 logical_eqc    - equal to constant
 logical_nec    - not equal to constant
 logical_ltc    - less than constant
 logical_lec    - less equal constant
 logical_gtc    - greater than constant
 logical_gec    - greater equal constant

Only the largest rectangle common for all bands is processed. Identical actual band arguments are allowed.

Restrictions

Only pixeltype unsigned byte is allowed.

Return value

 0 => ok
 1 => bad pixel value input band 1
 2 => bad pixel value input band 2
 3 => bad pixel value output band

Author

Tor Lønnestad, BLAB, Ifi, UiO

Id

$Id: logical.c,v 1.28 1997/01/09 16:30:39 svein Exp $