PDL::Graphics::IIS
IIS(S)         User Contributed Perl Documentation         IIS(S)



NAME
       PDL::Graphics::IIS - Display PDL images on IIS devices
       (saoimage/ximtool)

SYNOPSIS
        use PDL::Graphics::IIS;
        saoimage ( -geometry => '800x800' );
        iis rvals(100,100);


DESCRIPTION
       This module provides an interface to any image display
       'device' which support the 'IIS protocol' - viz the SAOim-
       age and Ximtool X-windows programs, the old SunView imtool
       program and presumably even the original IIS CRT itself if
       they aren't all in museums!

       These programs should be familiar to astronomer's - they
       are used by the common IRAF system. The programs and their
       HTML documentation can be obtained from the following
       URLs:

        SAOimage: http://tdc-www.harvard.edu/software/saoimage.html
        Ximtool:  http://iraf.noao.edu/iraf/web/projects/x11iraf/x11iraf.html

       Non-astronomer's may find they quite nifty for displaying
       2D data.

       The Perl variable $stdimage is exported from the module
       and controls the frame buffer configuration currently in
       use. The default value is "imt1024" which specifies a
       "1024x1024" frame buffer. Other values supported by the
       module are:

        imt512, imt800, imt1024, imt1600, imt2048, and imt4096.

       If you have a $HOME/.imtoolrc you can use it to specify
       other frame buffer names and configurations in exactly the
       same way you can in IRAF. Here is a sample file:

        -------------------snip-------------------------
        # Format:  configno nframes width height
         1  2  512  512         # imt1|imt512
         2  2  800  800         # imt2|imt800
         3  2 1024 1024         # imt3|imt1024
         4  1 1600 1600         # imt4|imt1600
         5  1 2048 2048         # imt5|imt2048
         6  1 4096 4096         # imt6|imt4096
         7  1 8192 8192         # imt7|imt8192
         8  1 1024 4096         # imt8|imt1x4
         9  2 1144  880         # imt9|imtfs    full screen (1152x900 minus frame)
        10  2 1144  764         # imt10|imtfs35 full screen at 35mm film aspect ratio
        -------------------snip-------------------------

       (Note: some versions of SAOimage may not even work if this
       file is not present. If you get funny error messages about
       'imtoolrc' try copying the above to $HOME/.imtoolrc or
       /usr/local/lib/imtoolrc)

       The Perl variable $iisframe is also exported from the mod-
       ule and controls which display frame number to use in pro-
       grams such as Ximtool which supports multiple frames. This
       allows you to do useful things such as blink between
       images.

       The module communicates with the IIS device down FIFO
       pipes (special UNIX files) - unlike IRAF this module does
       a pretty decent job of intelligently guessing which file
       names to use for the pipes and will prompt for their cre-
       ating if absent. Also if SAOimage or Ximtool are started
       from within Perl using the module this will guarantee cor-
       rect file names!

FUNCTIONS
       iis

       Displays an image on a IIS device (e.g. SAOimage/Ximtool)

        iis $image, [ { MIN => $min, MAX => $max,
                        TITLE => 'pretty picture',
                        FRAME => 2 } ]
        iis $image, [$min,$max]

        (image(m,n),[\%options]) or (image(m,n),[min(),max()])

       Displays image on a IIS device. If "min()" or "max()" are
       omitted they are autoscaled. A good demonstration of PDL
       threading can be had by giving "iis()" a data *cube* -
       "iis()" will be repeatedly called for each plane of the
       cube resulting in a poor man's movie!

       If supplied, "TITLE" is used to label the frame, if no
       title is supplied, either the "OBJECT" value stored in the
       image header or a default string is used (the title is
       restricted to a maximum length of 32 characters).

       To specify which frame to draw to, either use the package
       variable $iisframe, or the "FRAME" option.

       iiscur

       Return cursor position from an IIS device (e.g. SAOim-
       age/Ximtool)

        ($x,$y) = iiscur($ch)

       This function puts up an interactive cursor on the IIS
       device and returns the "($x,$y)" position and the charac-
       ter typed ($ch) by the user.

       iiscirc

       Draws a circle on a IIS device (e.g. SAOimage/Ximtool)

        (x(),y(),radius(),colour())

        iiscirc $x, $y, [$radius, $colour]

       Draws circles on the IIS device with specied points and
       colours. Because this module uses PDL::PP threading you
       can supply lists of points via 1D arrays, etc.

       An amusing PDL idiom is:

        perldl> iiscirc iiscur

       Note the colours are the same as IRAF, viz:

        201 = cursor color (white)
        202 = black
        203 = white
        204 = red
        205 = green
        206 = blue
        207 = yellow
        208 = cyan
        209 = magenta
        210 = coral
        211 = maroon
        212 = orange
        213 = khaki
        214 = orchid
        215 = turquoise
        216 = violet
        217 = wheat


       saoimage

       Starts the SAOimage external program

        saoimage[(command line options)]

       Starts up the SAOimage external program. Default FIFO
       devices are chosen so as to be compatible with other IIS
       module functions. If no suitable FIFOs are found it will
       offer to create them.

       e.g.:

        perldl> saoimage
        perldl> saoimage( -geometry => '800x800' )


       ximtool

       Starts the Ximtool external program

        ximtool[(command line options)]

       Starts up the Ximtool external program. Default FIFO
       devices are chosen so as to be compatible with other IIS
       module functions. If no suitable FIFOs are found it will
       offer to create them.

       e.g.

        perldl> ximtool
        perldl> ximtool (-maxColors => 64)


BUGS
       None known

AUTHOR
       Copyright (C) Karl Glazebrook 1997.  All rights reserved.
       There is no warranty. You are allowed to redistribute this
       software / documentation under certain conditions. For
       details, see the file COPYING in the PDL distribution. If
       this file is separated from the PDL distribution, the
       copyright notice should be included in the file.



perl v5.6.1                 2002-04-08                     IIS(S)