
                                    XITE
                                      
               X-based Image processing Tools and Environment
                     Free Software for Image Processing
                                      
                        Image Processing Laboratory
                         Department of Informatics
                             University of Oslo
                                   Norway
                                      
     _________________________________________________________________
                                      
Overview

   This UNIX software consists of X11-based display programs with image
   widget and graphical user interface, more than 200 programs for image
   processing, 600 subroutines for image processing and widget handling,
   and 60 subroutines for image format handling, on-line documentation of
   all routines and programs, and more. XITE uses its own image file
   format (BIFF), but comes with converters between BIFF and TIFF, pnm,
   sunraster, raw, MATLAB and ascii.
   
   xshow, the main display program, works with images of arbitrary size
   and pixel type, on 8 bitplane PseudoColor and 24 bitplane DirectColor
   and TrueColor X11 displays. The images may be scaled, zoomed and
   panned. Look up tables may be selected from a menu of predefined and
   userdefined LUTs. The LUTs may also be specified in a histogram
   window.
   
   The user may design menus of programs and activate a program by
   selecting the program from the menues. If the result of the program is
   a new image, this will appear as a new window on the display. In this
   way xshow works as a graphical interface to the program library.
   
   The available programs include operations such as statistics, merging,
   resampling, arithmetic/logical/relational operations, rotation,
   mirroring, affine transformations, convolution, filter design,
   Fourier/Hartley/Haar/Hough transforms, color manipulation, histogram
   transformations, global and local thresholding, binary thinning, edge
   detection, morphological operations, classification, image analysis
   and texture estimation.
   
   A toolkit is supplied to simplify writing X11 based applications.
   
Platforms

   XITE runs on (at least) the following platforms
     * Sun Sparc under SunOS 4.1.3 and Solaris 2.5.
     * Silicon Graphics Indy under IRIX 5.3.
     * Silicon Graphics Power Challenge under IRIX 6.1.
     * DecStation under Ultrix V4.4.
     * Dec Alpha under OSF/1 V4.0.
     * IBM RS 6000 under AIX 4.1.
     * Linux on Intel i486 and i586.
       
File format

   The file format is a raster format for 2D and 3D images. In case of
   3D, the image is viewed as a sequence of bands, the image may contain
   any number of bands. Each band may have its own size and pixel type.
   The image file contains the neccessary parameters (e.g. sizes and
   pixel types), pixel data ordered band by band, line by line; any
   amount of textual data, regularly used to store the processing history
   of the image; and finally any amount of other data. An internal C data
   structure is also defined, able to hold the whole image, information
   as well as pixels. The individual pixels are accessed by normal
   indexing. Simple routines are used to read (write) a whole image from
   (to) file or a channel, more complex routines are provided if you want
   to access only a part of the file.
   
Programs

     * X display programs, in particular xshow which has a graphical user
       interface to most of the other command-based programs.
     * Format conversions for TIFF, pnm (pbm, pgm, ppm), raw binary,
       ascii, MATLAB, sunraster, PostScript.
     * Statistics: size, min, max, median, mean, standard deviation.
     * Image representation: subimages, merging images, pyramid, resample
     * Arithmetic operations: negate, scale, absolute value, complex
       conjugate, add, subtract, multiply, divide, square, square root,
       rms difference.
     * Logical operations.
     * Relational operations.
     * Rotation, mirroring, affine transformations.
     * Convolution, mean, Compass, Laplace, Gradient, Roberts, Sobel,
       Prewitt.
     * Filter design: Ideal lowpass, highpass, bandpass and bandstop
       filters.
     * Fourier transform, Hartley transform, Haar transform, Hough
       transform, geometric transformations, Zernike moments.
     * Color manipulation: Gamma correction, dithering, quantization,
       ihs-to-rgb, rgb-to-ihs, rgb-to-pseudocolor, pseudocolor-to-rgb
     * Histogram, scattergram, histogram transformations (equalization,
       normalization).
     * Global and local tresholding.
     * Binary thinning.
     * Canny edge detection.
     * Local operators median, min, max, sigma, knn, kncn, snn and others
       based on local standard deviation.
     * Genererate, add or multiply gaussian noise; generate or add
       Poisson noise.
     * Morphological operations.
     * Non-supervised classification.
     * Image analysis: measuring area, perimeter, moments etc.
     * Texture estimation: lit, lit-snn, glcm, gray-level run etc.
       
Routines

   All routines are written in C, and you will find
     * Everything listed above.
     * Biff-routines for image treatment (mainly I/O).
     * Image widget, histogram widget and ximage toolkit for writing X11
       based applications.
       
Documentation

   Manual pages are supplied for all functions and programs, in "man"
   format as well as html. A User's Manual and System Administrator's
   Manual are included as PostScript documents and available in html
   format from the XITE WWW homepage.
   
Time consumption

   The algorithms below are tested on images of size 512x512x1 byte. Time
   consumption (user time) is measured by the program "time" under UNIX,
   and displayed in seconds.
   Algorithm D5 S10 PLin Alph Indy Pow U1
   convolution 3x3 0.78 0.6 0.55 0.149 0.107 0.129 0.13
   convolution 7x7 8.96 3.9 2.36 2.119 1.168 1.625 0.86
   sobel 0.50 0.2 0.28 0.096 0.070 0.083 0.04
   median 3x3 1.50 0.8 0.41 0.302 0.239 0.486 0.21
   median 11x11 3.80 1.9 1.01 0.788 0.595 1.127 0.48
   mean 3x3 0.60 0.6 0.23 0.120 0.164 0.125 0.12
   mean 11x11 0.60 0.6 0.23 0.126 0.166 0.125 0.12
   minarea 11x11 0.91 0.5 0.30 0.265 0.129 0.196 0.08
   2D FFT float 9.59 3.7 1.85 1.130 1.267 1.256 0.64 where the machine
   types specified in each column are
     * D5: Decstation 5000/200
     * S10: Sun Sparcstation 10, SunOS 4.1.3
     * PLin: Pentium, 100 MHz, 48 MB RAM, Linux
     * U1: Sun Ultra-1, 167 MHz, 188 MB RAM, SunOS 5.5
     * Indy: SGI Indy SC, 200 MHz R4400/R4010, 64 MB RAM, IRIX 5.3
     * Pow: SGI Power Challenge, 75 MHz R8000/R8010, 512 MB RAM, IRIX 6.1
     * Alph: Dec 3000 AXP-500 (alpha), OSF1 V4.0
       
   and the commands for each algorithm are
     * convolution 3x3: time conv3x3 mona.img m.img 1 2 3 4 5 6 7 8 9
     * convolution 7x7: time convolve mona.img m.img 7 7 1 2 3 4 5 6 7 8
       9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9
       10 1 2 3 4 5 6 7 8 9
     * sobel: time sobel mona.img m.img
     * median 3x3: time median mona.img m.img 3 3
     * median 11x11: time median mona.img m.img 11 11
     * mean 3x3: time mean mona.img m.img 3 3
     * mean 11x11: time mean mona.img m.img 11 11
     * minarea 11x11: time minarea mona.img m.img 11 11
     * 2D FFT float: biffConvert mona.img mona_r.img r; time fft2d
       mona_r.img m.img
       
How to get the software

   You can get the software with a WWW browser from
   http://www.ifi.uio.no/~blab/Software/Xite/ or with anonymous ftp from
   ftp.ifi.uio.no (presently 129.240.64.41). A "README" file gives
   further instructions.

  % ftp ftp.ifi.uio.no
  Name (ftp.ifi.uio.no): anonymous
  Password: (your e-mail address)
  ftp> cd pub/blab/xite
  ftp> ascii
  ftp> get README
  ftp> quit
  %

     _________________________________________________________________
                                      
   
    Updated by Svein Bøe.
