# view2d.pro

At APS this program is installed in the /usr/local/epics/extensions/bin/$HOST_ARCH directory. This program allows the user to view 2D image data. This program can be directly accessed by the catcher or viewer.

# List of Routines

- BOX_CURSOR
- VIEW2D

# Routine Descriptions

## BOX_CURSOR

[Next Routine] [List of Routines]

     NAME:
    	BOX_CURSOR

     PURPOSE:
    	Emulate the operation of a variable-sized box cursor (also known as
    	a "marquee" selector).

     CATEGORY:
    	Interactive graphics.

     CALLING SEQUENCE:
    	BOX_CURSOR, x0, y0, nx, ny [, INIT = init] [, FIXED_SIZE = fixed_size]

     INPUTS:
    	No required input parameters.

     OPTIONAL INPUT PARAMETERS:
    	x0, y0, nx, and ny give the initial location (x0, y0) and
    	size (nx, ny) of the box if the keyword INIT is set.  Otherwise, the
    	box is initially drawn in the center of the screen.

     KEYWORD PARAMETERS:
    	INIT:  If this keyword is set, x0, y0, nx, and ny contain the initial
    	parameters for the box.

    	FIXED_SIZE:  If this keyword is set, nx and ny contain the initial
    	size of the box.  This size may not be changed by the user.

    	MESSAGE:  If this keyword is set, print a short message describing
    	operation of the cursor.

     OUTPUTS:
    	x0:  X value of lower left corner of box.
    	y0:  Y value of lower left corner of box.
    	nx:  width of box in pixels.
    	ny:  height of box in pixels.

    	The box is also constrained to lie entirely within the window.

     COMMON BLOCKS:
    	None.

     SIDE EFFECTS:
    	A box is drawn in the currently active window.  It is erased
    	on exit.

     RESTRICTIONS:
    	Works only with window system drivers.

     PROCEDURE:
    	The graphics function is set to 6 for eXclusive OR.  This
    	allows the box to be drawn and erased without disturbing the
    	contents of the window.

    	Operation is as follows:
    	Left mouse button:   Move the box by dragging.
    	Middle mouse button: Resize the box by dragging.  The corner
    		nearest the initial mouse position is moved.
    	Right mouse button:  Exit this procedure, returning the
    			     current box parameters.

     MODIFICATION HISTORY:
    	DMS, April, 1990.
    	DMS, April, 1992.  Made dragging more intutitive.
    	June, 1993 - Bill Thompson
    			prevented the box from having a negative size.
           04-18-96   bkc  Made the box color more visible.
           05-28-98   bkc  Reset bounding box color

(See view2d.pro)

## VIEW2D

[Previous Routine] [List of Routines]

     NAME:
           VIEW2D

     PURPOSE:
           This program provides the EPICS user a convenient IDL 2D scan data
           display tool.  Its input image file is automatically saved by the
           data catcher program CATCHER_V1.

           Currently, this program provides TV, SURFACE, CONTOUR, SHOW3, and
           PLOT2D plot. It also provides simple xz, yz line plot and data
           value query information.

     CATEGORY:
    	Widgets.

     CALLING SEQUENCE:
    	VIEW2D

     INPUTS:
           None.

     KEYWORD PARAMETERS:
         GROUP:    The widget ID of the group leader of the widget.  If this
                   keyword is specified, the death of the group leader results in
                   the death of VIEW2D.

         FILE:    The input image file name.  If this keyword is specified, the
                  file should contain the image data must be in the data catcher
                  created format.

         XDR:     If specified, indicates that the input is in XDR format.

     OUTPUTS:
           It provides option of postscript plot of drawing area.

     COMMON BLOCKS:
           None.

     RESTRICTIONS:
    	Drawing area is 460 x 400 pixels.

     PROCEDURE:
           This program is available as an epics/extensions tool. It can be
           directly accessed from the view data menu of the CATCHER_V1.

     EXAMPLE:
           VIEW2D

     MODIFICATION HISTORY:
           Written by:     Ben-chin K. Cha, 02-27-96.
           04-29-96 bkc  Add image button, 2d scan #, on-line help
           09-30-96 bkc  Add cross hair to reflect the cursor position
           11-21-96 bkc  Text window image out include x,y array vales
    		      Option of save and load private color map
                         Take care out of sync 2D scan #
                         Modify XZ, YZ profile distributions
           12-13-96 bkc  Add zoom-in, zoom-off, printer support,
                         color PS plot, rewrite TV, equal aspect TV
                         ratio, reverse PS video, cursor features, etc
           04-11-97 bkc  Call the MAX function to give the max location
           08-08-97 bkc  Release R2.1
                         Cursor position readout fixed by catcher R2.1
                         Fix the Y title cut off problem for PostScript
                         More useful plots and printouts info for TV screen
                         and PostScript output
                            min, max values and locations
                            detector database  description
                            positioner database description
           12-15-97 bkc  Release R2.2
                         Add the curve fitting support
                         Rename Refresh button to ReNew
                         Use scroll window for base widget
                         Reverse PS color becomes an option in PS_printer setup
                         Contour plot support 24 bit visual device
                         ASCII ... allows the user override default filename
    				try data directory first, then start directory,
    				then home directory
           01-12-98 bkc  Modify the view2d.init file to increase the allowable
                         image size to 1000x1000
           04-09-98 bkc  Release R2.3
                         If bad image data detected, at least let the user view
                         all the good image so far read into view2d
           05-14-98 bkc  TV legend uses the first color entry from the color table
                         If reverse legend color is set, use the last color entry
                         from the color table
           05-26-98 bkc  Remove scroll bar problem on the main window
           08-31-98 bkc  Release R2.3a
                         Fix the problem of only 1 set of 2D scan in data,
                         Add nodata keyword for axis plot for TV image
           09-31-98 bkc  Release R2.3b
                         Add save image option for AIM program
           01-09-99 bkc  Release R2.3c,  replace the XSURFACE by PLOT2D
                         Dynamic read in u_read PS_open cw_term plot1d plot2d source
                         Fix the TV plot problem of Step # option

(See view2d.pro)