logical

[ XITE Reference Manual | XITE home ]

Contents


Name

logical - logical pixel by pixel operations

Syntax

 logical -and    <inimage1> <inimage2> <outimage>
 logical -or     <inimage1> <inimage2> <outimage>
 logical -xor    <inimage1> <inimage2> <outimage>
 logical -not    <inimage>  <outimage>
 logical -band   <inimage1> <inimage2> <outimage>
 logical -bor    <inimage1> <inimage2> <outimage>
 logical -bxor   <inimage1> <inimage2> <outimage>
 logical -bnot   <inimage>  <outimage>
 logical -eq     <inimage1> <inimage2> <outimage>
 logical -ne     <inimage1> <inimage2> <outimage>
 logical -lt     <inimage1> <inimage2> <outimage>
 logical -le     <inimage1> <inimage2> <outimage>
 logical -gt     <inimage1> <inimage2> <outimage>
 logical -ge     <inimage1> <inimage2> <outimage>
 logical -lshift <inimage>  <outimage> [<n>]
 logical -rshift <inimage>  <outimage> [<n>]
 logical -mask   <inimage1> <inimage2> <outimage>
 logical -bandc  <inimage>  <outimage> <c>
 logical -borc   <inimage>  <outimage> <c>
 logical -bxorc  <inimage>  <outimage> <c>
 logical -eqc    <inimage>  <outimage> <c>
 logical -nec    <inimage>  <outimage> <c>
 logical -ltc    <inimage>  <outimage> <c>
 logical -lec    <inimage>  <outimage> <c>
 logical -gtc    <inimage>  <outimage> <c>
 logical -gec    <inimage>  <outimage> <c>

Description

logical performs logical operations on images, pixel by pixel, unary and binary operators. The option specifies what kind of operator. There should be exactly one option. The following list shows the defined options, whether unary or binary, and the corresponding operator. Unary operators require exactly one input image, binary ones require exactly two.

 -and       binary         MIN(input1, input2)
 -or        binary         MAX(input1, input2)
 -xor       binary         input1 xor input2
 -not       unary          not input
 -band      binary         input1 bitwise and input2
 -bor       binary         input1 bitwise or input2
 -bxor      binary         input1 bitwise xor input2
 -bnot      unary          bitwise not input
 -eq        binary         input1 equal input2
 -ne        binary         input1 not equal input2
 -lt        binary         input1 less than input2
 -le        binary         input1 less equal input2
 -gt        binary         input1 greater than input2
 -ge        binary         input1 greater equal input2
 -lshift    unary          left shift input n bits
 -rshift    unary          right shift input n bits
 -mask      binary         if (input2) then input1 else 0
 -bandc     unary          input1 bitwise and constant c
 -borc      unary          input1 bitwise or constant c
 -bxorc     unary          input1 bitwise xor constant c
 -eqc       unary          input1 equal constant c
 -nec       unary          input1 not equal constant c
 -ltc       unary          input1 less than constant c
 -lec       unary          input1 less equal constant c
 -gtc       unary          input1 greater than constant c
 -gec       unary          input1 greater equal constant c

All bands with UNS_BYTE pixels will be processed, assuming (for binary operators) that the band exists in both images. Only the largest rectangle commmon to each pair of bands will be processed. For left shift and right shift, the default value of <n> is 1. For operations with constant argument <c>, the value of <c> should be an unsigned byte, 0..255.

See also

combine(1), logical(3), logical_and(3), logical_or(3), logical_xor(3), logical_not(3), logical_band(3), logical_bor(3), logical_bxor(3), logical_bnot(3), logical_lshift(3), logical_rshift(3), logical_eq(3), logical_ne(3), logical_lt(3), logical_le(3), logical_gt(3), logical_ge(3), logical_mask(3), logical_bandc(3), logical_borc(3), logical_bxorc(3), logical_eqc(3), logical_nec(3), logical_ltc(3), logical_lec(3), logical_gtc(3), logical_gec(3)

Restrictions

Accepts only unsigned-byte pixels.

Author

Tor Lønnestad, BLAB, Ifi, UiO

Examples

 logical -mask mona.img mask.img monaface.img

Id

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