Extended IDL Help

This page was created by the IDL library routine mk_html_help. For more information on this routine, refer to the IDL Online Help Navigator or type:

     ? mk_html_help

at the IDL command line prompt.

Last modified: Tue May 19 17:41:02 1998.


List of Routines


Routine Descriptions

ADJCT

[Next Routine] [List of Routines]
 NAME:
	ADJCT
 PURPOSE:
	Interactively adjusts color tables using mouse input.
 CATEGORY:
	Image display.
 CALLING SEQUENCE:
	ADJCT
 INPUTS:
	No explicit inputs.
 OUTPUTS:
	No explicit outputs.
 COMMON BLOCKS:
	Colors - color table common block.
 SIDE EFFECTS:
	Color tables are modified.
 RESTRICTIONS:
	None.
 PROCEDURE:
	A new window is created and a graph of the color output value
	versus pixel value is created.  The user can adjust this function
	a number of ways using the mouse.
 MODIFICATION HISTORY:
	DMS, March, 1988, written.
	DMS, April, 1989, modified cursor handling to use less CPU
	A.Csillaghy, Inst. of Astronomy, ETH Zurich, August 1991
       Modified for IDL5/SSW/Ragview (renamed to rag_adjct)
                in March 1998 -- ACs

(See display/rag_adjct.pro)


ADJUST TABLE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
 	Adjust Table
 PURPOSE:
 	Procedure to enlarge the length of a 2D table
	in x direction.
 CALLING SEQUENCE:
	AdjustTable, table, newLength
 INPUT PARAMETERS:
	table: the 2D  table to adjust in x direction
 	newLength: the integer length, greater as the former length
 OUTPUT PARAMETER:
	table: the adjusted table.

(See datatype/adjusttable.pro)


ASCII WRITE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
 	ASCII Write
 PURPOSE:
	Writes an array in ASCII file with an optional header.
 CALLING SEQUENCE:
	ASCII_Write, array [, header]
 INPUTS:
	array: the array to write, may be of any dimension.
	header: an optional header, an array of strings
 KEYWORDS;
	FILENAME: for defining the name of the file. If not
		present, the name of the file will be the
		contents of the variable "!p.title" without
		blanks, appended with {\it .dat}.
	INTERACTIVE: if the "FILENAME" keyword is not
		set the filename will be asked interactively
 SIDE EFFECT:
	A file is written
 RESTRICTION:
	The elements of the 2D array are written in the reverse
	order as on the VAX VMS FORTRAN system. Namely, 
	in WAVE, blocks of x coordinates are written.
 MODIFICATION HISTORY:
	Created by A.Csillaghy in September 1991
		Inst. of Astronomy, ETH Zurich
       Modified March 98 for IDL5/ssw/ragview ACs.

(See files/ascii_write.pro)


ASCII_READ

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
	ASCII_Read
 PURPOSE:
	Read ASCII formatted files, which contains a two-
	dimaensionnal array of data with an optional header. 
	The dimensions must be known and are asked to the user.
 CATEGORY:
	Input/Output
 CALLING SEQUENCE:
	ASCII_Read, filename, image [, header ]
 INPUT ARGUMENTS:
	filename: the complete filename.
	header: if present, a header is assumed to be in the file.
	image: any variable of the type to read.
 KEYWORDS:
	NX, NY: the dimensions of the data array. If not given,
		they will be asked interactively.
 OUTPUT ARGUMENTS:
	image: The data array read.
	header: the file header.
 SIDE EFFECTS:
	The terminal window is used to read the dimensions.

(See files/ascii_read.pro)


AUTOCORR

[Previous Routine] [Next Routine] [List of Routines]
 PURPOSE: 
	Computes the autocorrelation of an image or a vector.
 CALLING SEQUENCE:
	result = AutoCorr( image )
 INPUT:
	image: a 2D array (or 1D array), real
 RESULT:
	the autocorrelated image
 KEYWORD:
	/NORMALIZED: if set, the autocorrelation is normalized.
	XLAGMAX: the max. lag used in the "square sum" method, 
		 the limit of the array returned in the FFT method.
		 default:  nx-1 (nx: nb elements in x)
	YLAGMAX: the max. lag used in the "square sum" method, 
		 the limit of the array returned in the FFT method.
		 default: ny-1 (ny: nb elements in y)
	SQUARESUM: output of the sum of the elements squared.
	FAST: if set the Wiener-Khinchin theorem is used. 
		Otherwise it is calculated from its definition.
		
 PROCEDURE:
	With the Wiener-Khintchin Theorem: the
	autocorrelation of an image is the backward fourrier
	transform of the power spectrum.
	With the definition: see the manual.
	With FFT: In the two-dimensional case, the 0 lag
	is shifted to the middle of the picture (i.e. the
	image is symmetrical. In the FFT 1dimensional case,
	however, only one half of the autocorrelation
	is shown (and therefore not shifted).
 RESTRICTION:
	The Fourier method is much faster, but much less
	accurate than the method based on the algorithm.
       CAUTION: the FFT method assumes periodic boundaries,
	i.e. the function is repeated infinitely.
 MODIFICATION HISTORY:
	Created in August 1991 by A.Csillaghy
		Inst. of Astronomy, ETH Zurich
	FFT Case: 1d no shift in July 1995, ACs.

(See modify/autocorr.pro)


AXIS TIME

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Axis Time
 PURPOSE:
	Writes x axis with hours / minutes / seconds labels
 CALLING SEQUENCE:
	AxisTime, yPosition, range [, ps]
 INPUT PARAMETERS:
	yPosition: the height where the horizontal axis is placed
	axisRange = a 2-element array containing the minimum 
		and maximum of the plot
	ps: is 1 if the device is PostScript, 0 otherwise.
 KEYWORDS: 
	AXISTYPE = 1 -> axis has ticks down
	AXISTYPE = 0 -> axis has ticks up
	/NOLABELS: The tick names are not drawn
	/NORMAL: The values given in the parameters are
		in normalized coordinates. Default: device
		coordinates.
	CHARSIZE: defines the (relative) character size.
		Default: !p.charsize
 SIDE EFFECT:
	In the current plot window, an axis with time units is 	;	drawn.
 RESTRICTION:
	The axis range is continuous.
 SEE ALSO
	enrad, show_image
 MODIFICATION HISTORY:
	Written in November 1991 by A.Csillaghy
		Inst. of Astronomy, ETH Zurich.
	Heavy modifications in July 1992 for better display. A.Cs
	Thresholds for drawing the labels lower modified, A.Cs
		Dec. 92
	Adaptation of tick marks in ps format: Jun 93, A.Cs
	CHARSIZE in Nov 94, ACs.

(See display/axistime.pro)


BACKGROUND

[Previous Routine] [Next Routine] [List of Routines]
NAME:
	Background
PURPOSE:
	Background handling of images.
CALLING SEQUENCE:
	Background, image [, xAxis, yAxis 
		[, xMin, xMax, yMin, yMax ] ]
 INPUT ARGUMENTS
	image: a 2D array of any type.
 	xAxis, yAxis: 1D arrays representing the axes of the image.
	xMin, xMax, yMin, yMax: scalar index values taken by
		default by the read procedures. However,
		the background handling is don on the whole
		image.
 OUTPUT ARGUMENT:
	image: a 2D array of reals, the image with background ;	;		handled
 SIDE EFFECT:
	Uses the terminal window to read parameters

MODIFICATION HISTORY:
	Created in September 1991 by A.Csillaghy
		Institute of Astronomy, ETH Zurich
	Automatic background in July 93, A.Cs

(See modify/background.pro)


CHANGE_SELECTION

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
	Change_Selection
 PURPOSE:
	Restores an image interactively choseN from the list of
	files with ending ".tmpenrad".
 CALLING SEQUENCE:
	Change_Selection, image, xAxis, yAxis, 
	 	[ xMin, xMax, yMin, yMax]
 OUTPUTS:
	image: the 2D array
	xAxis, yAxis: the 1d arrays corresponding to the image
	xMin, xMax, yMin, yMax: the boundary of the image (in
		pixel number) when it was stored.
 KEYWORDS:
	STATUS: "Done" or "Not Done" as result
	FNAME: The filename. If set, the interactive part is 
		not used.
	TEXT: If not set, the menu of the interactive part contains 
		the text: "Select image"
 RESTRICTION:
	Works only after initialization with "Init_selection".
 LOCATION: 
	init_selection.pro

(See datatype/init_selection.pro)


CLICK THE LIMITS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Click the Limits
 PURPOSE: 
	Interface to read maximum and minimum of a range from
	points clicked with the mouse.
 CALLING SEQUENCE:
	ClickLimits, low, high
 OUTPUT PARAMETERS:
	low, high: the two limits in the coordinate system 	
	established.
 KEYWORDS:
	/YDIR: If present, the y coordinates are read, otherwise
		the x coordinates.
	TITLE: the name of the window containing the title.
 SIDE EFFECTS
	Uses the x windows system

(See modify/clicklimits.pro)


COLOR_PALETTE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:  
	Color_Palette
 PURPOSE: 
	To display the numerical values associated 
	with a color table
 CATEGORY:
	Image Processing
 KEYWORD:
	DELETE: If set, the palette window is closed and the
	procedure exited.
 COMMON BLOCKS:
 	PaletteWindow, for keeping the number of the opened
	window.
 SIDE EFFECTS:
	A new window is opened
 RESTRICTIONS:
	Works only on color stations
 MODIFICATION:
	A.Csillaghy, April 1991

(See display/color_palette.pro)


COLUMNS_READ

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
 	Columns_Read
 PURPOSE:
	Read vectors from a file with a (given) number of
	columns and a given number of lines.
	Although the vectors can have every meaning, their names
	are in the procedure: x, y, qualifiers and errors.
	Column numbers, lines, etc can be specified with keywords.
	If not, they are asked in the terminal window.
 CATEGORY:
	Input/Output
 CALLING SEQUENCE:
	Columns_Read, file [,  x ], y [,qualifier, dx, dy ]
 INPUT:
	file: the complete name of the file to be read	
 OUTPUT: 
	x,y: the values to be plotted
	qualifier: the values corresponding to a plotting symbol
		for Wave. If > 100, they are user symbols.
		The values in the file are not the same,
		their meaning is described in the users manual.
	dx, dy: vectors for the construction of error bars.
		They are 1D if the error bars are symmetrical,
		2D otherwise.
 KEYWORDS:
	NCOLS, NLINES: number of columns and lines in the file.
	XNR, YNR, QNR, DXLEFTNR, DXRIGHTNR,
	DYUPNR, DYDOWNNR: the number of the concerned
		column. The first have the number 1.
	/INTERACTIVE: If present, the columns number etc. 
		will be asked ion the terminal window. 
		Otherwise, they are taken from the above
		defined keywords.
	/HEADER:  If present, it signals the presence of a header
		that will be jumped. The number of lines
		to be jumped are assigned to the keyword.
 	STATUS: "Done" or "Not Done"
	LINESTYLE: acoording to !p.lineStyle
	USERSYM: see list of symbols available.
 SIDE EFFECTS:
	Open files,  in interactive mode use the terminal
	window.

 MODIFICATION HISTORY:
	Created by A.Csillaghy in June 1991. ETHZ
	LINESTYLE and USERSYM added in May 1993, A.Cs
	Minor modifs in March 95, ACs

(See files/columns_read.pro)


COMPUTE VMS FLOATS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Compute VMS Floats
 PROCEDURE:
	The array of byte given as parameter is transformed in 
	array of reals, with dimensions nx,ny (if present).
 CALLING SEQUENCE:
 	result = VMSFloat( array )
 INPUT:
	array: an array of bytes (one dimensional) The number of
		bytes must be a multiple of four.
 RESULT OF FUNCTION:
	The array of reals resulting from the conversion of the 
	array of bytes.

(See files/vmsfloat.pro)


CONGRID1D

[Previous Routine] [Next Routine] [List of Routines]
 NAME:		
	Congrid1d
 PURPOSE:	
	Shrink or expand the size of an image, with the
	nearest method
 CALLING SEQUENCE:
	Result = CONGRID1D(Image, Xs, Ys [, Interp = Interp])
 INPUTS:
	Image = array to resample, 1d or 2d.
	Xs = desired number of columns for result.
	Ys = number of rows for result.
 OUTPUTS:
	Result = Image of same type as input, of size (Xs, Ys).
 SIDE EFFECTS:
	None.
 PROCEDURE:
	Nearest neighbour method is used.
	Simple call POLY_2D with the warping coefficients.
 MODIFICATION HISTORY:
	Original version: "Congrid", DMS, Sept. 1988.
	Congrid1d: for 1d arrays also, A.Csillaghy, Jan.91, ETHZ

(See display/congrid1d.pro)


CONSTBACKSUB

[Previous Routine] [Next Routine] [List of Routines]
 PURPOSE: 
	Computes the mean background out ouf a defined
	set of neighbouring profiles and subtracts it.
 CALLING SEQUENCE:
	result = ConstBackSub( image, min, max [, direction ] )
 INPUTS:
	image: 2D array
	min, max: pixel number of beginning and end of the
		background region, respectively
	direction: 'X' or 'Y'
 KEYWORDS:
	BACKGROUND: to get the background array subtracted
	AUTOMATIC: the background array to subtract is
		searched automatically by taking some vectors
		in the image with lowest mean and lowest
		variance as background vectors. If a number is
		passed it is taken as percet of channels to 
		consider else the default is 5 %.
	BKGARR: the background field computed by the AUTOMATIC proc.
 PROCEDURE:
	Between min and max, the values are averaged in
	X or Y, and the resulting vector is subtracted from the
	original image.
 SIDE EFFECT:
	The image is returned as FLOAT type.
 MODIFICATION HISTORY:
	Created in August 1991 by A.Csillaghy,
		Inst. of Astronomy, ETH Zurich
	AUTOMATIC in july 93, A.Cs
	BKGARR in Jan 94, A.Cs.

(See modify/constbacksub.pro)


CONT_SURF

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
 	Cont_Surf
 PURPOSE:
	User interface to facilitate the use of the three 
	dimensional standard functions
	"Contour" and "Surface".  It is possible to change  
	contour parameters: annotation, character sizes, 
	colors used to represent the levels, labels of the levels, 
	line styles and thickness,  maximum value and number of 
	levels drawn. An option for smoothing is given and 
	surface or contour plots can be printed and written in 
	PostScript files.
 CATEGORY:
	Quasi - Image Processing.
 CALLING SEQUENCE:
 	Cont_Surf, image [, xAxis,  yAxis]
 INPUTS:
	image: The  two-dimensionnal array to be contoured
		or surfaced. If "image" contains more than
		200 elements in one direction, it is
		compressed to that number of elements,
		using bilinear interpolation. "image"
		can be of any type.
	xAxis, yAxis: These two 1D array parameters (any type) 
		of dimensions
		corresponding to the array "image" contain 
		axis values if they are not ranging  from 0 to
		the number of elements minus 1.
 KEYWORDS:
	FILENAME: The name of the PostScript file. 
		If not present, the file will have
		the same name as the title of the 
		(surface or contour) plot.
	LANDSCAPE: If present, the PostScript file is written in
		landscape mode, otherwise in portrait mode.
 SIDE EFFECTS:
	As all user interfaces, it opens windows on
	X-windows terminals,   or erases the display on vt-type
	terminals. Files can be produced, which will be written 
	in the current directory.

(See display/cont_surf.pro)


CORREL1D

[Previous Routine] [Next Routine] [List of Routines]
 PURPOSE: 
	Computes the crosscorrelation of an image or a vector.
 CALLING SEQUENCE:
	result = Correl1D( image )
 INPUT:
	image: a 2D array (or 1D array), real
 RESULT:
	the corrcorrelated image
 KEYWORD:
		
 PROCEDURE:

 RESTRICTION:

 MODIFICATION HISTORY:
	Created in 
		Inst. of Astronomy, ETH Zurich

(See modify/correl1d.pro)


CT_HANDLING

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
 	CT_Handling
 PURPOSE:
	User Interface to work with color tables. One can load
	a system-defined color table, modify it, save it etc.
 CATEGORY
	Image Processing
 CALLING SEQUENCE:
	CT_Handling
 SIDE EFFECTS:
	Windows and menus are opened. When a color table
	is saved, a new file with extention ".ctb" is created.
	The name is asked to the user.
	If it is already present, the old one is deleted.
 RESTRICTION:
	Works only on X-windows systems.

 MODIFICATION HISTORY:
 	Created: 4/91, A.Csillaghy, Institute for Astronomy
		ETH Zurich
	Histogram Equalization added in October 92, A. Cs
       IDL5/ssw/RagView version (IsIdl function eliminated) 3/98 ACs

(See display/ct_handling.pro)


CUSTOMIZE_1D

[Previous Routine] [Next Routine] [List of Routines]
 NAME
 	Customize_1D
 PURPOSE:
	To change interactively with the help of menus
	some system variable values, the shift
	between plots for mdisp, allows to write text
	on the display and redefine the default values for
	postscript plots.
 CATEGORY:
 	User interface
 CALLING SEQUENCE:
	Customize_1D
 SIDE EFFECT
	Uses menus and, on vt300 terminals, erases the display.
 RESTRICTION:
	Use only in interactive mode.

 MODIFICATION HISTORY:
	Created in June 1991 by A.Csillaghy, ETHZ
	Modif. for sixel printing, Dec. 92, A.Cs

(See custom/customize_1d.pro)


CUSTOM_2D

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Custom_2D
 PURPOSE: 
	User Interface to change values of  x- and y-axes,
	the system variables containing the titles, and the
	print format for postscript files.
 CATEGORY
	User  Interface
 CALLING SEQUENCE:
	Custom_2D 
 SIDE EFFECTS:
	On X-windows terminals, new windows will be opened.
	On other terminals, the display is erased.
 RESTRICTION:
	Cannot be used without enrad.

 MODIFICATION HISTORY:
	Created: May 1991, A.Csillaghy
		Institute of Astronomy, ETH Zurich
	Modified in October 1991, A.Cs
	Modifications in Dec. 92 for sixel printing, A.Cs
	No minmax, Software fonts in Nov 93, A.Cs

(See custom/custom_2d.pro)


DATA DISPLAY

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Data Display
 PURPOSE:
	Plotting facility for more than one plots which have
	optionally:
		-- different number of relevant values
		-- error bars
		-- different plotting symbols, line thickness, 
			color, range, etc
 CALLING SEQUENCE:
	Data_Display [, x],  y [, q, dx, dy, userSym]
 INPUT PARAMETERS:
 	x: the x-values, a 2D array. If not present, the x range is set 
		from 0 to the number of elements minus 1.
	y: the y-values also real 2D array, each line is a plot.
	q: the qualifiers for each value to plot. The number follows
		the definition of the !psym system variable.
		It is a 2D integer array
	dx, dy; the errors in x- and y-direction. If the error bars 
		are symmetrical, then "dx" and "dy" are
		2D real arrays. If they are not symmetrical,
		then dx(*,*,0) and dx(*,*,1) contain the errors
		left and right, respectively and dy(*,*,0) and
		 dy(*,*,1) contain the errors up and down,
		respectively.
	userSym; the value of a user defined symbol, see the
		mdisp manual for more information.
 KEYWORDS:
	LINESTYLE: for each plot a value corresponding to the
		!p.linestyle system variable. A 1D array.
	THICK: The line thickness, corresponding to the !p.thick
		system variable. A 1D real array.
	OFFSET: An y-offset added to all y-values of a plot,
		a 1D real array.
	COLOR: a color for each plot, 1D integer array
	PSYM: the plot symbol used to draw all points having a
		qualifier 0, 1D array, see the list at the
		!psym system variable description.
	XRANGE, YRANGE Two arrays of two values, defining
		the range if it is not the minimum and
		maximum value in the x and y variables.
	LENGTH: If the plots have different number of relevant
		values, the length gives how much points of the
		array should be drawn.
	RESET: If the old x and y range have to be reset.
	TITLE, SUBTITLE, XTITLE, YTITLE: the titles.
 	HMS: if set, the x axis is drawn in hour/min/sec.
 SIDE EFFECT: 
	A window is opened (on x Terminals)
 MODIFICATION HISTORY:
	Created by A.Csillaghy in May 1991
		Institute of Astronomy, ETH Zurich
	Totally rewritten in October 1991, A.Cs.
	Modification for h/m/s and wave 4 in Dec. 92, A.Cs.

(See display/data_display.pro)


DECCONVERT

[Previous Routine] [Next Routine] [List of Routines]
 CALLING SEQUENCE:
	result = DecConvert( string )
 PURPOSE:
	Converts string formatted as 'hh:mm:ss.dd' in
	decimal format.
 INPUT:
	string:  "hours:minutes:seconds.decimals" format
 OUTPUT:
	result of function: the FLOAT number
 SIDE EFFECT:
	If the string given is not of the correct format, an INTEGER
	with value 0 is returned.
 MODIFICATION HISTORY: 
	Created by A.Csillaghy in October 1991
		Inst. of Astronomy, ETH Zurich

(See gen/decconvert.pro)


DEVTOPIX

[Previous Routine] [Next Routine] [List of Routines]
 PURPOSE:
	Conversion Device Unit -> Image Pixel Unit for the
	enrad system

(See display/devtopix.pro)


DISPLAY 2D IMAGE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Display 2D Image
 PURPOSE:
	User Interface for displaying 
	two-dimensional data and provide 
	image handling facilities: Zoom, move, read values,
	color table handling. This
	is a  part of the RagView image processing system. 
 CATEGORY:
	User Interface
 CALLING SEQUENCE
	Display_2D, image [, xAxis, yAxis 
		[,xMin, xMax, yMin, yMax ] ]
 INPUTS:
	image: the 2D data array;
	xAxis, yAxis: the two axes. They must have the same
		dimension as their corresponding one in
		the variable "image"
	xMin, xMax, yMin, yMax: the selected boundaries of
		the image if just a part is to be displayed.
		Units: image pixels
 OUTPUTS: 
	xMin, xMax, yMin, yMax: the boundaries of
		the image displayed, which may have
		change by zooms, moves, etc. (image pixels)
 KEYWORD:
	TITLE: The name of the image (can be different from the
		value of !p.title). Will be used for naming
		e.g postscript files.
 SIDE EFFECTS:
	Display opens a lot of windows and create 
	files, dependent of the user's choices.
 RESTRICTIONS:
	Works only in interactive mode.
 MODIFICATION HISTORY:
	Created: (4/91)  A.Csillaghy csillag@astro.phys.ethz.ch
		       Institute for Astronomy, ETH Zurich
	Modified for printing sixel files
		Dec. 92, A.Cs
	Logo eliminated in Nov 93, A.cs
       Modified for IDL5 / SSW / RagView in March 98 -- ACS

(See display/display_2d.pro)


DISPLAY_1D

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Display_1D
 PURPOSE:
	User interface to handle with a cpollection of plots
	stored in the selection or given as arguments.
	It assumes the selectioner is active.
 CATEGORY
	User Interface
 CALLING SEQUENCE:
	Display_1D
 SIDE EFFECTS:
	Uses a lot of windows. Uses the selection data type.
 RESTRICTION:
	Use only in interactive mode.

(See display/display_1d.pro)


EDIT

[Previous Routine] [Next Routine] [List of Routines]
 PURPOSE:
	Image editing: interpolation of image pixels, the coordinates
	are given interactively. Set minimum or maximum values.
 CALLING SEQUENCE:
	Edit, image [, xAxis, yAxis, [ xMin, xMax, yMin, yMax ] ]
 INPUTS:
	image: 2D array
	xAxis, yAxis: the corresponding axes
	xMin, xMax, yMin, yMax: boundaries of the part displayed
		of the image, in pixels.
 OUTPUT:
	image: the edited image
 KEYWORD:
 	status: 'Done' or 'Not Done'
 RESTRICTION:
	Works only in interactive mode.
	Works only in association with enrad

 MODIFICATION HISTORY:
	Created in December 1991 by A. Csillaghy
		Inst. of Astronomy, ETH Zurich
	Interpolation modified in Jan 93 for non-regualr axes.
	Addition of "Eliminate Pixel" option, Jan 93, A.Cs.

(See modify/edit.pro)


ELIMBREAKS

[Previous Routine] [Next Routine] [List of Routines]
 PURPOSE:
	Eliminate from "value" the "offset" 's due to displaying
	non-homogeneous axes in the enrad system

(See display/elimbreaks.pro)


ELIMINATE WRONG CHANNELS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Eliminate wrong channels 
 PURPOSE:
	Find out (1) which channel has an unrealistic average relative to the
	general average and (2) which one has an unrealistic sigma
	value and then take them out of the image.
 CALLING SEQUENCE:
 	ElimWrongChannels, image, xAxis, yAxis
 INPUTS:
	image: 2D array of values
	xAxis, yAxis: the corresponding 1D array with axis values
 OUTPUTS:
	image: the cleaned image
	yAxis: the axis without the channel values eliminated.
 MODIFICATION HISTORY:
	Created in April 1994, A.Csillaghy, ETHZ

(See modify/elimwrongchannels.pro)


ERROR

[Previous Routine] [Next Routine] [List of Routines]
CALLING SEQUENCE:
	Error, n [, procName ]
PURPOSE:
	List of errors for enrad and mdisp systems.
 INPUTS:
	n: number of the message to display
	procName: name of the calling procedure

(See gen/error.pro)


ERR_PLOT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	ERR_PLOT
 PURPOSE:
	Overplot error bars over a previously drawn plot.
 CATEGORY:
	J6 - plotting, graphics, one dimensional.
 CALLING SEQUENCE:
	ERR_PLOT, Low, High	;X axis = point number
	ERR_PLOT, X, Low, High	;to specify abscissae
 INPUTS:
	Low = vector of lower estimates, = to data - error.
	High = upper estimate, = to data + error.
 OPTIONAL INPUT PARAMETERS:
	X = vector containing abscissae.
	If the keyword Xdir is present, then this parameter is the y abscissae
 KEYWORD Parameters:
	Width = width of bars, default = 1% of plot width.
	Xdir = If present, the error bars are drawn horizontally.
	HMS = if set, the (x-) axis is in date/time format.
	COLOR = to specify another color than white
	THICK = to specify line thickness
 OUTPUTS:
	None.
 COMMON BLOCKS:
	None.
 SIDE EFFECTS:
	Overplot is produced.
 RESTRICTIONS:
	Logarithmic restriction removed.
 PROCEDURE:
	Error bars are drawn for each element.
	For example:  Y = data values, ERR = symmetrical error estimates:
		PLOT,Y	;Plot data
		ERR_PLOT, Y-ERR, Y+ERR	;Overplot error bars.
	If error estimates are non-symetrical:
		PLOT,Y
		ERR_PLOT, Upper, Lower	;Where upper & lower are bounds.
	To plot versus a vector of abscissae:
		PLOT,X,Y		;Plot data.
		ERR_PLOT,X,Y-ERR,Y+ERR	;Overplot error estimates.

 MODIFICATION HISTORY:
	DMS, RSI, June, 1983.
	Joe Zawodney, LASP, Univ of Colo., March, 1986. Removed logarithmic
		restriction.
	DMS, March, 1989.  Modified for Unix WAVE.
	June 1991, Modified for x error bars by A.Csillaghy
	HMS keyword in Jul 93, A.Cs
	COLOR Keyword in Sept 93, A.Csillaghy

(See display/err_plot.pro)


EXTRACT_NAMES

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Extract_Names
 PURPOSE:
	Returns a array of strings containing names WITHOUT
	directory specifications.
 CATEGORY:
	IO
 CALLING SEQUENCE
	names = Extract_Names( completeNames )
 INPUT
	completeNames: The name as got with "FindFile", a
		string array
 OUTPUT:
	names: The names without directory specification,
		a string array.

(See files/extract_names.pro)


FILEMENU

[Previous Routine] [Next Routine] [List of Routines]
 NAME:		FILEMENU
 PURPOSE:
	Creates a menu of files matching the type file
 	you ask for ie: *.pro.  Returns the name of the 
	file chosen by the user.
 CALLING SEQUENCE:
	selected_file = filemenu('*.pro',xpos=300,ypos=300)
	print,selected_file
 INPUTS:
	match-catagory of files to display
 KEYWORD PARAMETERS:
	xpos-x position of the menu
	ypos-y position of the menu
 OUTPUTS:
	Returns the name of the file chosen
 RESTRICTIONS:
	Must be running on a windowing system
 TESTED ON THESE PLATFORMS:
	SUN 4 - DEC Station - DEC Alpha
 WARNING: THIS IS FOR IDL
 MODIFICATION HISTORY:
	SAL 2/92 , Precision Visuals, Inc.
	SME 2/92- Changed tvmenu to x_tvmenu , Precision Visuals, Inc.
	A.Csillaghy, Dec. 92, ETHZ
		added option to exit the menu without read
		added general_menu option for vt100 use
	1/95 Option to read also compressed ('.gz') file versions
	4/96 IDL version + ".z" compressed file versions read too

(See files/filemenu.pro)


FILES_1D

[Previous Routine] [Next Routine] [List of Routines]
 NAME
	One-dimensional files handling.
 PURPOSE
	User Interface to read different types of files containing 
	data for one-dimensional plots.
 CALLING SEQUENCE:
	Files_1D, x, y [, qual, dx, dy, file ]
 INPUTS:
	Variables have the same meaning as for the outputs, but
	are used if a write option is selectioned.
 OUTPUTS:
	x, y: values to be plotted. 
	qualifier: the value given in the file by a number determined
		in the mdisp format description, 
		and translated for the system variable !psym.
	dx, dy: values for the length of the error bars, they are 1D
		if the bars are symmetric, otherwise 2D with
		the second dimension = 2.
	file: the name of the file read
 KEYWORDS:
	FILENAME: if the filename is given, the interactive
		part of the procedure is not used and the
		file named "filename" is read.
	FILETYPE: if the type is given, only those files are 
		selected, and the file type is not asked 
		interactively.
	LINESTYLE: the style of the line used to connect points.
		( Write default = 0 ). See !p.linestyle.
	THICK: the line thickness (Write default = 0 ).
		See !p.thick
	TITLE, SUBTITLE, XTITLE, YTITLE: For the description
		of the plot.
	STATUS: "Done" if a file has been read, "Not Done" else.
 SIDE EFFECT:
	Windows are opened, on vt300 the screen is erased.

 MODIFICATION HISTORY:
	Creadted in June 1991 by A.Csillaghy
	Modified, A.Csillaghy, for Wave 4 (mdispread), Nov. 92

(See files/files_1d.pro)


FILES_HANDLING

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
 	Files_Handling
 PURPOSE:
	User Interface which handle image files. Makes use of
	a menu to select the file format. For more information
	about file formats, we refer to the "RagView User's
	Guide". The formats accepted are: ascii, fortran
	unformatted, fits, sb4, sc4, sca.
	Usually, FITS files are used. Therefore, for FITS files
	the following facilities are implemented:
		o reads also gzipped FITS files -- with extensions
		  ".gz" and ".z"
	Usually, this procedure is called from the system "RagView"
 CALLING SEQUENCE:
	Files_Handling, image [, xAxis, yAxis] [ ,totalFileName]
 INPUT:
	totalFileName: if given WITH EXTENTION, 
		the user interface 
		is not activated and the file is read directly. 
 OUTPUTS:
	image: the two-dimensional array. Its type determined
		from the file format.
	xAxis, yAxis: axes corresponding to the x- and y-direction
		of the image.
 KEYWORDS:
	STATUS: holds the value "Read" if a file was read,
		"Not Read" otherwise.
	FILENAME: holds the filename read, if status is "Read"
 SIDE EFFECTS:
	In the user interface mode, windows are opened to
	dialog with the user.
       The environment variable TMPDIR is used for help files. If
       TMPDIR is not defined, the current directory is used.
 MODIFICATION HISTORY:
	Created: A.Csillaghy, ETHZ, April 91, csillag@astro.phys.ethz.ch
	A.Csilaghy, Oct 92: fits format read/write added
	A.Cs, Dec. 92 FileMenu proc. used
	1994: added the option to read compressed files.
	Sept. 1995: added the mechanism to check links
		(for use with RAG image archive) ACs
	April 96: IDL version - ACS
       March 98: IDL5/Ragview/SSW Adaptation - ACS

(See files/files_handling.pro)


FIND BREAKS

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
	Find Breaks 
 PURPOSE:
	Returns the index number of each break in the 
	regularity in the axis.
 CALLING SEQUENCE:
	result = FindBreaks( array )
 INPUT PARAMETERS:
	array: a 1D real array
 KEYWORD:
 	NOTREG: if set, only the first break is searched;
		if found, returns -1, else returns the first
		and last elements of the array
 RESULT OF FUNCTION:
	result of function: a 1D array with the indices number:
	[0... i, i+1, ... n-1] where i is the last pixel in the regular
	band left and i+1 the first in the regular band right.

 MODIFICATION HISTORY:
	Created by A.Csillaghy in October 1991
		Inst. of Astronomy, ETH Zurich
	NOTREG in april, 1995
       Simplified in January 1998 ACs

(See gen/findbreaks.pro)


FITTING

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Fitting
 PURPOSE:
	User Interface for accessing  a collection of algorithms
	for fitting curves to a data set.
 CALLING SEQUENCE
	Fitting, x, y [, length, nbSel, dim [, status, oper ]]
 INPUTS:
	x, y: the coordinates of the plots. If there are more than
		one plot to fit, the x and y array variables may
		be of dimension 2. In this case, "x(i,j)" or 
		"y(i,j)" is the i-th elements of the j-th plot.
	length: an array containing the relevant number of
		values in a line of "x" and "y".
	nbSel: the number of plots per (2D) array
 OUTPUTS:
	y: the fitted coordinates
	status : "Done" or "Not Done"
	oper: name of the operation done.

 MODIFICATION HISTORY:
	Created in January 1992 by A.Csillaghy
		Inst. of Astronomy, ETH Zurich
	Some modifs in March 95, ACs

(See modify/fitting.pro)


FORTRAN_READ

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
	Fortran_Read
 PURPOSE:
	Read Fortran unformatted files, which contains a two-
	dimaensionnal array of data with an optional header. 
	The dimensions must be known and asked to the user.
 CATEGORY:
	Input/Output
 CALLING SEQUENCE:
	Fortran_Read, filename, image [, nx, ny ] [, header ]
 INPUT ARGUMENTS:
	filename: the complete filename.
	nx, ny: the dimensions of the data array. If not given,
		they will be asked interactively.
	header: if present, a header is assumed to be in the file.
 OUTPUT ARGUMENTS:
	image: The data array read.
	header: the file header.
 SIDE EFFECTS:
	The terminal window is used to read the dimensions.

(See files/fortran_read.pro)


FOURRIER

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
 	Fourrier
 PURPOSE:
	Performs fourrier transformation, forward or backward,
	and returns the result either in  a  real image
	and an imaginary image, or in a power-spectrum image
	(real) or in a magnitude image. With a keyword specified,
	the action will be done directly, else it will be
	asked interactively.
 CALLING SEQUENCE:
	result = Fourrier(image)
 INPUT ARGUMENT:
	image: a 2D array of any type, including complex type
		but string.
 OUTPUT ARGUMENT:
	image: a complex 2D array when normal forward fourrier-
		transformation is chosen real in the case
		of magnitude, backward and power spectrum.
 KEYWORDS:
	/POWER: power spectrum transformation is performed
	/BACKWARD: backward transformation is performed
	/FMAG: forward magnitude transformation performed
	/FORWARD: forward transformation is performed
	/BMAG: backward magnitude transformation is performed
 	/XY: two-dimensionnal transformation (default)
	/X: x-direction transformation
	/Y: y-direction transformation
	STATUS: "Done" or "Not Done"
 PROCEDURE:
	The core of this function is the WAVE procedure FFT.
	Power spectrum:
		y' = Abs( FFT( image ) )^2. 
		a factor 1/N_Elements is applied.
 MODIFICATION HISTORY:
	Created by A.Csillaghy in September 1991
		Inst. of Astronomy, ETH Zurich
	Modified in Feb 93, A.Cs.

(See modify/fourier.pro)


GENERAL_MENU

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	General_Menu
 PURPOSE:
	Menu wich decides what kind of display to use
	("AnMenu" or "WMenu") for a menu. In the case, of
	the vt-type terminals, if there is not enough place for all
	the entries on the screen, they will be  displayed only when
	explicitely wanted.
 CALLING SEQUENCE:
	choice = General_Menu( texts, title )
 INPUT ARGUMENTS:
	texts: an array of strings
	title: a scalar string
 OUTPUT ARGUMENT:
	choice: The number of the entry selected + 1 (they are 
		ranged from 1 to the number of elements).
 KEYWORD:
	OPAQUE: an array of the same dimension as texts,
		containing boolean values. If a value is one,
		the corresponding array entry will NOT be 
		displayed.
	/NO_CLEAR: If set, on VT terminals, the graphic display
		is not erased and the menu is superimposed.
 SIDE EFFECT:
	On X-Windows, a window is opened.
	On VT Terminals, the screen is cleared
 MODIFICATION HISTORY:
	Created in June 1991 by A.Csillaghy
		Institute of Astronomy, ETH Zurich
	Extended in September 1991 for Megamenus, A.Cs.
	Extended in Feb 95 for x megamenus ... A.Cs.

(See gen/general_menu.pro)


GET BREAKS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Get Breaks
 PURPOSE:
	Reads the indices where  breaks occur in the axex.
 CALLING SEQUENCE:
	GetBreaks, dxBreaks, dyBreaks
 OUTPUTS:
	dxBreaks, dyBreaks: arrays containig the indices where a
		break occur in the x- respectively y-axis.
 RESTRICTION:
	Works only after initialization by calling Init_Display
 HISTORY
	Created: A.Csillaghy, ETHZ, April 91

(See datatype/init_display.pro)


GET HMS FLAG

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
	Get HMS Flag
 PURPOSE:
	Returns 1 if the hours/minute/second flag is set, else 0
 CALLING SEQUENCE	:
	result = GetHMS()
 RESULT OF FUNCTION:
	1 if x axis will be displayed in h/m/s by enrad
	0 otherwise
 SIDE EFFECT:
	The common block BothDisplays is used.
 MODIFICATION HISTORY:
	Created in June 91, A.Csillaghy, ETHZ

(See datatype/gethms.pro)


GET IMAGE SIZES

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Get Image Sizes
 PURPOSE:
	Reads the variables defining the image size
 CALLING SEQUENCE:
	GetImageSizes, xPos, yPos, width, height scaleheight
 OUTPUTS:
	xPos, yPos: the position of the origin  of the image
	width, height: the size of the image
	scaleheight: the height of the scale showing the contrasts
		of the color table.
 KEYWORD:
	PS: if set, the values for printing on a  page are in the
		 variables (in cm)
 RESTRICTION:
	Works only after initialization by calling Init_Display
 HISTORY
	Created: A.Csillaghy, ETHZ, April 91

(See datatype/init_display.pro)


GET MARKS MODE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Get Marks Mode
 PURPOSE:
	Reads the mode in which the axes are to be drawn:
		'automatic': the change between range and single pixel
			marking is done by the program
		'range': the program does alwas a range marking.
 CALLING SEQUENCE:
	GetMarksMode, xMarkMode, yMarkMode
 OUTPUTS:
	xMarksMode, yMarksMode: 'automatic' or 'range'
 RESTRICTION:
	Works only after initialization by calling Init_Display
 HISTORY
	Created: A.Csillaghy, ETHZ, October 93

(See datatype/init_display.pro)


GET MISCELLANEOUS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Get Miscellaneous
 PURPOSE:
	Reads som information needed for printing
 CALLING SEQUENCE:
	GetMiscPS, encapsulated, landscape, reverse, blackFont
 OUTPUTS:
	encapsulated: if not zero, the image will be encapsulated
		with the command "\insertimage" or
		"\insertplot" in a TeX file.
	landscape: if not zero, the page is printed landscape
	reverse: if not zero low values are printed white, 
		high values black.
	blackFont: if not zero, the background color of the page
		is black.
 RESTRICTION:
	Works only after initialization by calling Init_Display
 HISTORY
	Created: A.Csillaghy, ETHZ, April 91

(See datatype/init_display.pro)


GET NAMES

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
	Get Names
 PURPOSE: 
	Returns an array of strings containing the names of
	the plots stored in the plot table, or in the selection.
 CALLING SEQUENCE: 
 	result = Get_Names()
 KEYWORD: 
	SELECTION: If set only the names in the selection list ;	;		are returned.

(See datatype/init_data.pro)


GET OFFSETS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Get Offsets
 PURPOSE:
	Reads the offsets of axes and image parts
 CALLING SEQUENCE:
	GetOffsets, axisOffset, imageOffset
 OUTPUTS:
	axisOffset: the offset between axis and image
	imageOffset: the offset between image parts (for
		non-regular axes.
 KEYWORD:
	PS: if set, the values for printing on a  page are stored
 RESTRICTION:
	Works only after initialization by calling Init_Display
 HISTORY
	Created: A.Csillaghy, ETHZ, April 91

(See datatype/init_display.pro)


GET WINDOW SIZE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Get Window Size
 PURPOSE:
	Reads the variables defining the window size
 CALLING SEQUENCE:
	GetWinSize, xSize, ySize
 OUTPUTS:
	xSize, ySize: the size of the window or page
 KEYWORD:
	PS: if set, the size of the page is in the variables
 RESTRICTION:
	Works only after initialization by calling Init_Display
 HISTORY
	Created: A.Csillaghy, ETHZ, April 91

(See datatype/init_display.pro)


GETWNR

[Previous Routine] [Next Routine] [List of Routines]
 NAME
 	Get Window Number
 PURPOSE:
 	checks for the number of the window in which to
       display the next data set
 OUTPUT:
 	Then window number
 RESTRICTIONS
 	Works in the framework of the window manager of RAGView.
	The procedure Init_Selection must be called first! 
 AUTHOR:
 	A. Csillaghy, csillag@astro.phys.ethz.ch

(See gen/getwnr.pro)


GET_TEXT

[Previous Routine] [Next Routine] [List of Routines]
 CALLING SEQUENCE: Get_Text, entry, x, y, text, sizeText
 PURPOSE: Loads into variables the texts stored in the table.

(See datatype/get_text.pro)


GLIDBACKSUB

[Previous Routine] [Next Routine] [List of Routines]
 PURPOSE:
	Subtracts a gliding background from an image.
 CALLING SEQUENCE:
	result = GlidBackSub( image, wLen [ , direction ]  )
 INPUT PARAMETERS:
	image: a 2D array
	wLen: length of the window defining the gliding 
		background
 	direction: 'X' or 'Y'
 RESULT:
	The image without background
 KEYWORDS:
	/WEIGHTED: if present, the pixels on the center of the
		gliding window have more weights in the
		gliding background definition than the pixel on 
		the border. Otherwise, they have all the same
		weight.
 	BACKGROUND: for getting the background array.
 PROCEDURE:
	1. Computation of the coefficients (weights)
	2. For each profile, selection of the gliding window,
		and computation of the (weighted) average.
	3. Subtarction of this average from the original image.

 MODIFICATION HISTORY:
	Created in November 1991 by A.Csillaghy,
		Institute of Astronomy, ETH Zurich.

(See modify/glidbacksub.pro)


HISTOGRAM FACILITY

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
	Histogram Facility
 PURPOSE:
	Plots an histogram of the y-values
 CALLING SEQUENCE:
	HistoFacility [, y [, length ] ]
 INPUT PARAMETERS:
	y: the values to histogram, a 2D ( or 1D ) array
	length: the number of relevant values per line in the
		y-array. If not given, the histogram is
		computed for all y-values.
 RESTRICTION:
	Works also without parameters, but then it is assumed 
	that the mdisp selection is active, and the plots values to
	histogram will be loaded from the selection list.
 SIDE EFFECTS:
	Opens a separate window
	A PostScript or a sixel file can be created.

 MODIFICATION HISTORY
	Created in March 92 on an idea from May 91
	A.Csillaghy, Inst. of Astronomy, ETH Zurich
	Sixel printing in Dec 92, A.Csillaghy

(See display/histofacility.pro)


HMS CONVERSION

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	HMS Conversion
 PURPOSE: 
	Converts a floating number in a string with form:
	'hh:mm:ss.ss'
 CALLING SEQUENCE:
	result = HMSConvert( number )
 INPUT PARAMETER:
	number: a scalar float value
 RESULT OF FUNCTION:
	The created string
 KEYWORDS:
	/ROUNDED: Return the rounded form 'hh:mm:ss'
	/NOROUND: Returns the full form. (Default).

 MODIFICATION HISTORY:
	Created by A.Csillaghy in 
		Inst. of Astronomy, ETH Zurich
	Seconds changed to format ss.sss (before: ss.ss )

(See gen/hmsconvert.pro)


IMAGE SPLINE INTERPOLATION

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Image Spline Interpolation
 PURPOSE:
	Assuming the image is composed of irregular measurements
	in the X or Y axis, this procedure recomputes the
	image values at regular steps, using the spline interpolation
	technique.
 CALLING SEQUENCE:
	SplineImage, image, axis, n [ , direction 
		[ , first, step, nbEls ] ]
 INPUT PARAMETERS:
	image: a 2d real (or int) array
	axis: the axis to regularize (X or Y)
	n: the number of elements in axis
	direction: 'X' or 'Y'. If not given, 'Y' is default.
	first: the first element of the new (regular) axis. 
		Default: axis(0)
	step: the step between two axis values.
		Default: (axis(n-1)-axis(0))/n
	nbels: the number of elements of the new axis.
		Default: n
 OUTPUT PARAMETERS:
	image: the redimensioned and computed image
	axis: the redimensioned and computed axis
 SIDE EFFECT:
	Can be very cpu-time consuming. You can run this 
	procedure with less priority when you start wave with
	the "nohup" command or stop the process and run it in the
 	background with th "bg" command.
 SEE ALSO:
	Spline
 MODIFICATION HISTORY
	Created: A.Csillaghy, ETHZ, Jan 93.

(See modify/splineimage.pro)


IMAGE_INFO

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Image_Info
 PURPOSE:
	Displays the value range of an image and its
	axes, the step between x- and y-values and
	the titles stored in the corresponding
	system variables. Indicate if the axes are compressed.
 CALLING SEQUENCE:
	Image_Info [ ,image [ ,xAxis [,yAxis ] ] ]
 CATEGORY:
	Image Processing
 INPUTS:
	image: The two-dimensionnal array which contains the 
		image.
	xAxis,yAxis: The axes.
	The three parameters are optional
 MODIFICATION HISTORY:
	Created 4/91, A.Csillaghy, ETHZ, csillag@astro.phys.ethz.ch
       Adapted for IDL5/RagView/SSW in March 1998 -- ACs

(See display/image_info.pro)


INIT SELECTION

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
	Init Selection
 PURPOSE: 
	Initializes the selection list (or resets it)
 CALLING SEQUENCE: 
 	InitSel
 RESTRICTION:
	Works only after running init_data.pro

(See datatype/init_data.pro)


INITIALIZE SELECTION

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Initialize Selection
 PURPOSE:
	Compiles the routines for the ragview image selection an 
       window management system.
	Initializes the system  with default values.
 CALLING SEQUENCE:
	Init_Selection
 SIDE EFFECT:
	A directory for save files is created.
       This directory can be specified with $RAGVIEW_DIR. 
       Default is: $HOME/.ragview
	device is defined in environment
	varable ENRAD_SAVE. If this varaible is not defined,
	the save files ar written in the current directory.; SIDE EFFECT:
	If the user has no directory on the scratch device, one will
	be created.
 MODIFICATION HISTORY:
	Created in Oct 91 by A.Csillaghy, ETHZ, csillag@astro.phys.ethz.ch
	Modified for ENRAD_SAVE in Jan 93, A.Cs.
	Modified for Ragview / IDL 5 in March 98, ACs

(See datatype/init_selection.pro)


INIT_DATA[1]

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Init_Data
 PURPOSE:
	Initialize the plot table and the structures used by mdisp.
 CATEGORY:
	Data Management
 CALLING SEQUENCE:
 	Init_Data
 SIDE EFFECT:
	The old plot table is erased.

 MODIFICATION HISTORY:
	Created in June 1991 by A.Csillaghy
		Inst. of Astronomy, ETH Zurich
	Structures modified in November 91 a. Cs

(See datatype/init_data.pro)


INIT_DATA[2]

[Previous Routine] [Next Routine] [List of Routines]
 NAME: Insert in the Selection
 PURPOSE:  Adds plots to the selection list
 CALLING SEQUENCE:
	InsertSel, names

(See datatype/init_data.pro)


INIT_DATA[2]

[Previous Routine] [Next Routine] [List of Routines]
 NAME: Load Selection
 PURPOSE: Loads in variables the data related to the plots selectioned.
 CALLING SEQUENCE:
	 LoadSelection [, name, length, x, y, qual, dx, dy, 
		color, lineStyle, thick, offset, overallQual, 
		userSym, title, xTitle,  yTitle,  subtitle, text,
		symsize ]

(See datatype/init_data.pro)


INIT_DATA[3]

[Previous Routine] [Next Routine] [List of Routines]
 NAME: Remove from the Selection
 PURPOSE: Removes a plot from the selection list.
 CALLING SEQUENCE:
	RemoveSel, name

(See datatype/init_data.pro)


INIT_DATA[4]

[Previous Routine] [Next Routine] [List of Routines]
 NAME: Select All
 PURPOSE: Selects all the plots from the plot table.
 CALLING SEQUENCE:
	SelectAll

(See datatype/init_data.pro)


INIT_DATA[5]

[Previous Routine] [Next Routine] [List of Routines]
 NAME: Selection
 PURPOSE: Returns the names of a subset of selected plot.
 CALLING SEQUENCE:
	result = Selection( indexList )

(See datatype/init_data.pro)


INIT_DATA[6]

[Previous Routine] [Next Routine] [List of Routines]
 NAME: Initialize Selection
 PURPOSE: Initializes or resets the selection
 CALLING SEQUENCE:
	InitSel

(See datatype/init_data.pro)


INIT_DISPLAY

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Init_Display
 PURPOSE
   	Every constant for displaying  images on screen is
   	defined in this procedure. Unless specified, the constants
   	are defined in device pixels.
   	Procedure to access the constants  ( Put and Get ) are 
	compiled the first time the procedure "Init Display" is run
 CALLING SEQUENCE:
	Init_Display
 HISTORY
	Created: A.Csillaghy, ETHZ, April 91
	noMinMax variable in Nov 93, A.Cs

(See datatype/init_display.pro)


INSERT PLOT

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
	Insert Plot 
 PURPOSE: 
	Inserts a plot in the plot table
 CALLING SEQUENCE:
	 InsertPlot, name, len [, x, y, qual, dx, dy, 
		color, lineStyle, thick, offset, overallQual, 
		userSym, title, xTitle,  yTitle,  subtitle, text,
		symsize]
 INPUTS:
	name: a string array or scalar
	len: the number of elements of the plot
 	 x, y, qual, dx, dy: the plot description (see data_display)
	color, lineStyle, thick, offset, overallQual, 
	userSym, title, xTitle,  yTitle,  subtitle, text,
	symsize: the attributes of the plot (see  ... )
 KEYWORD: 
	NEW: to set if the plot is not already inserted. Otherwise, 
		the parameters given are taken as complemental
		information to an already existing plot.
 RESTRICTION:
	works only after running init_data
 MODIFICATION HISTORY:
	Fixed a bug with doublenameslst in Oct 95, ACs

(See datatype/init_data.pro)


INSERT_SEL

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Insert_Sel
 PURPOSE:
	Insert plot names called in the selection list.
 CATEGORY:
	Data Management
 CALLING SEQUENCE:
	Insert_Sel, names
 INPUT:
	names: the the plot names an array of strings.
 COMMON BLOCK:
	SelectionRetrieval where the list of the plots selected 
		is stored.

(See datatype/insert_sel.pro)


INSERT_SHIFT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
 	Insert_Shift
 PURPOSE:
	Insert the value of the shift between plots in the 
	selection retrieval common
 CATEGORY:
	Data Management
 CALLING SEQUENCE:
	Insert_Shift, value
 INPUT:
	value: the value of the shift between plots
 COMMON BLOCK:
	SelectionRetrieval, where the plot is stored

(See datatype/insert_shift.pro)


INTEGRATE_2D

[Previous Routine] [Next Routine] [List of Routines]
NAME:
	Integrate_2D
 PURPOSE
	2D integration of images. x- or y-profiles are averaged.
 CALLING SEQUENCE
	Integrate_2D, image, [,xAxis, yAxis [, xMin, xMax,
		yMin, yMax ] ]
 INPUT ARGUMENTS:
	image: 2D array
	xAxis, yAxis: 1D arrays, axes of the image.
	xMin, xMax, yMin, yMax: the limits where the integration
		should happen.
 OUTPUT ARGUMENTS:
	image: the integrated image (2D real array)
	xAxis, yAxis: the integrated axes (1D real arrays)
	xMin, yMin: 0
	xMax, yMax: number of elements minus one
 KEYWORDS:
	INTX, INTY; The integration steps in x and in y.
		If not present, they will be asked interactively.
 PROCEDURE:
	The "Rebin" procedure is used to average the profiles.
	If the number of profiles in the original image is
	not a multiple of the integration steps, the last profiles
	are lost.

 MODIFICATION HISTORY:
 	Created in September 1991 by A.Csillaghy
		Institute of Astronomy, ETH Zurich
	xMin, etc. added in Jan. 93 for partial integration, A.Cs

(See modify/integrate_2d.pro)


INTEGRATION

[Previous Routine] [Next Routine] [List of Routines]
NAME:
	Integration
 PURPOSE:
	Computes the area between a plot and two points given.
	The User is responsible for the coherence of the operation.
 CATEGORY:
	1D
 CALLING SEQUENCE:
	Integration, x, y [, result ]
 INPUTS:
	x: The abscissae, must be a vector
	y: The function f(x) to integrate (points), must be a vector
 OUTPUT
	result: the value of the integrated area
 KEYWORDS:
	/STATIC: If present, the boundary values for the integration
		will be asked on the terminal. Otherwise they
		will be clicked with the mouse.
	/NODISPLAY: If present, the result of the integration is
		not shown, only stored in "result".
 SIDE EFFECT:
	Windows opened if working on X
 RESTRICTION:
	For vectors with a small number of elements (smaller than
	the resolution of the screen window) the limits of the
	integral could be not totally vertical, due to the 
	discretization of the function.

(See display/integration.pro)


INTERPOLATION UNDER AND ABOVE TRESHOLDS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Interpolation under and above tresholds
 PURPOSE:
	Interpols values under given minimum and/or given 
	 maximum:
	that is: replaces them with the linear interpolation
	of the two nearest values above and/or under the 
	tresholds, respectively.
 CALLING SEQUENCE:
	result = TreshInterp( image, min, max [, direction] )
 INPUTS:
	image: a 2D array
	min, max: the treshold values
	direction: 'X' or 'Y'
 RESULT:
	the interpolated 2D image
 PROCEDURE:
	1. finds out which pixels ar under/above the tresholds
	2. use for these ones the function ReplLinInt

 MODIFICATION HISTORY:
	Created in  December, 1991 by A.Csillaghy
		Inst. of Astronomy, ETH Zurich
	InterInTresh modified for excluding n=1 cases, 
		June 93, A.Cs.

(See modify/treshinterp.pro)


IS DIGIT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Is Digit
 PURPOSE:
	Tests if a string is the ASCII representation of a number
	or not
 CALLING SEQUENCE:
	result = IsDigit( string )
 INPUT PARAMETER:
	string:	the string to test.
 RESULT OF FUNCTION:
	1 if the test is ok, 0 else.
 RESTRICTIONS:
	Some cases are not well handled. For example, 3-4 or E45
	are considered as string. In fact, the procedure tests only if
	the string is composed with 0,1,2,...9, '.', '-', 'e' or 'E' 
	characters.
 MODIFICATION HISTORY:
	Created in May 91 by A.Csillaghy, ETHZ

(See gen/isdigit.pro)


LOAD PLOT

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
	Load Plot
 PURPOSE: 
	Loads a plot from the plot table.
 CALLING SEQUENCE:
	LoadPlot, name [, length , x,y,qual, dx, dy, 
		title, xTitle, yTitle, text, color, linestyle,
		thick,  offset,  subTitle, overallQual, symsize ]
 INPUT:
	name: a string or array of string
 OUTPUTS:
	length: the length of the relevant data
	x, y: the plot values. To plot correctly the i-th plot loaded, ;	;		type
		Plot, x(0:length(i-1),i), y(0:length(i)-1,i)
		or
		Data_display, x, y, LENGTH = length
 	dx, dy: the errors in x- and y-directions
	title, xTitle, yTitle, text, color, linestyle, thick,  offset,  
	subTitle, overallQual, symsize: attributes of the plots loaded
 RESTRICTION:
	Works only after running init_data.pro
 REMARK:
	For better description of the parameters, see "data_display"
	or 

(See datatype/init_data.pro)


LOAD_PLOT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
 	Load_Plot
 PURPOSE:
	Loading into variables a plot stored in the plot table.
 CATEGORY:
	Data Management
 CALLING SEQUENCE:
	Load_Plot, name [ ,x, y [, qualifier [, dx, dy ] ] ]
 INPUT:
	name: the name of the plot
 OUTPUTS:
	x, y : the points to be plotted
	qualifier: the symbol number with which the points should
		be plotted
	dx, dy: the error of the points in x or y direction.
 COMMON BLOCK:
	Data, opaque, for access to the plot table

(See datatype/load_plot.pro)


LOAD_USER_CT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
 	Load_User_CT
 PURPOSE:
	Read user defined color tables that have been
	saved with the procedure "Save_User_CT"
 CATEGORY
	Input/Output
 CALLING SEQUENCE:
	Load_User_CT [, name] [, red, green, blue ]
 INPUT ARGUMENT:
	name: the name of the file containing the table. If this
		parameter is not present, the file to open 
		will be asked interactively.
 OUTPUT ARGUMENTS:
	red, green, blue: the vectors containing the new loaded
		color table.
 COMMON BLOCK:
	The block "Colors" is used to store the loaded table.
 SIDE EFFECT:
	By reading interactively the file name, windows
	are used.
 RESTRICTION:
	Works only on graphics terminals.

(See display/load_user_ct.pro)


MDISP

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	MDisp
 PURPOSE:
	Plot system to analyse and review astronomical
	one-dimensional data. It is a user interface intended
	for people who doesnt know anything about PV-WAVE.
 CATEGORY:
	User Interface
 CALLING SEQUENCE:
	MDisp
 KEYWORD:
 	/RESET: Initialize the plot table and the selectioner,
		so that the plots present in both are erased.
 SIDE EFFECT:
	Open windows and use the terminal window.
 RESTRICTIONS
	Works only in interactive mode;
	Does not work on VT-100 terminals.

 MODIFICATION HISTORY:
	Created in June 1991 A.Csillaghy

(See gen/mdisp.pro)


MDISP READ

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	MDisp Read
 PURPOSE:
	Reads mdisp-files.
 CALLING SEQUENCE:
	MDispRead, fileName, x, y [, qualifier, dx, dy]
 INPUT:
	fileName: the complete name of the file (with the extension
		".mdisp"
 OUTPUTS:
	x, y : the points of the plot
	qualifier: the qualifiers corresponding to the !psym 
		variable value
	dx, dy: the errors in x and y direction, for plotting of 
		error bars. If the error bars are symmetric,
		then the arrays are of the dimension of x and y,
		else they have 2 dimensions with the second 
		dimension = 2
 KEYWORDS:
	LINESTYLE: correspond to the values of !p.linestyle
		solid line: linestyle = 0
	THICK: line thickness. Normal line: thick = 1
	SUBTITLE, TITLE, XTITLE, YTITLE: The plot
		 description
	STATUS: "Done" if a file was read, "Not Done" else.
 MODIFICATION HISTORY:
	Created in May 1991 by A.Csillaghy
		Institute of Astronomy, ETH Zurich
	Modified in November 1991, A.Cs.
	Modified in Nov 92 for Wave 4 (DC_Read)
	Adapted for IDL in March 96 (ACs)

(See files/mdispread.pro)


MDISP WRITE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	MDisp Write
 PURPOSE:
	Writes MDisp Files
 CALLING SEQUENCE:
	MDispWrite, [ x, ]  y [, qualif, dx, dy ]
 INPUTS
	x, y : the vectors (same length, 1D ) containing coordinates
		of the points to draw
	qualif: the points qualifiers, also a vector of the same length
		as x and y. The values correspond to the 
		values of the system variable  "!psym"
	dx, dy: the values of the error bars. They are 1D vectors for
		symmetrical error bars, 2D arrays otherwise.
 KEYWORDS:
	FILENAME: If not specified, the filename is
		 "mdisp.mdisp"
	LINESTYLE: A vector containing the linestyle for the
		points. Default: solid (see "!p.linestyle" for
		definition of the  values
	THICK: The line thickness (Default: 1).
	COLOR: the color number of the plot (Default: 255).
	SUBTITLE, TITLE, XTITLE, YTITLE: the plot descriptor
		strings. Default: the contents of the
		corresponding ssystem variables.
	USERSYM: a number of user-defined symbol
	STATUS: Reports "Done" if the file is written, "Not Done" 
		otherwise.
 	/INTERACTIVE: the filename is asked on the terminal.
 	/COLS: Only data columns are witten, no header. It is then
		compatible with the ".cols" format.
 SIDE EFFECT:
	A file is written

 MODIFICATION HISTORY:
	Written in January 1992 by A. Csillaghy,
		Inst. of Astronomy, ETH, Zurich
	Lots of modifications in March 1995, ACs

(See files/mdispwrite.pro)


MINENVBACK

[Previous Routine] [Next Routine] [List of Routines]
 PURPOSE:
	Looks for a minimum in EACH x-profile and returns
	a vector of dimension N_Elements(ny)

(See modify/minenvback.pro)


MINIMUM ENVELOPE BACKGROUND SUBTRACTION

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
	Minimum Envelope Background Subtraction
 PURPOSE:
	given a window of length n, a minimum envelope 
	(in x- or y-direction) is calculated by centering the 
	window around each scan (channel) to find the minimum
	value inside the window. This minimum function  is
	smoothed by an 1/dist-window of the same length n, 
	where dist is the distance from the center of the window.
	This smoothed minimum envelope is interpreted as
	a background and is subtracted from the input data.
 CALLING SEQUENCE:
	result = MinEnvBack( image, windowLen, direction )
 INPUTS:
	image: a 2D real array
 	windowLen: the length of the minimum envelope window
	direction: 'X' or 'Y'
 RESULT:
	the image with the minimum envelope background 
	subtracted, of real type.
 KEYWORDS:
	BACKGROUND: the minimum envelope backgound,
		an array of same size as "image". This
		is an output parameter.
 PROCEDURE:
	For each profile, the minimum inside a given window
	is stored and forms the first background. A weighted 
	averaging of it is done before it is subtracted from the
	original image.

(See modify/minenvback.pro)


MODIFICATION OF 1D PLOTS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Modification of 1D Plots
 PURPOSE:
	As a part of mdisp, it is the analyser. It is done to
	allow the user to effectuate interactively mathematic
	operations on the plots selected.
 CATEGORY
	1D
 CALLING SEQUENCE
	Modify_1D
 SIDE EFFECTS:
	The selectioner of mdisp is used. New plots are generated
	and replace the other plots in the selection (but not
	in the memory).

 MODIFICATION HISTORY:
	Created in June 1991 by A. Csillaghy
	Minor modifs in March 1995 ACs
	In July 1995: Autocorrelation parameter input procedure modified ACs
	Oct 95: modification by "keep only a part of the plot" ACs

(See modify/modify_1d.pro)


MODIFY IMAGE PIXELS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Modify Image Pixels
 PURPOSE:
	User interface to modify image pixels. It allows
	to choose interactively the operation to be performed.
 CATEGORY:
	Image Processing
 CALLING SEQUENCE
	Modify, image [, xAxis, yAxis, $
		[ xMin, xmax, yMin, yMax, [ name ]]]
 INPUT PARAMETERS:
	image:  a two-dimensionnal real array
	xAxis, yAxis: the image (real) axes values. When not 
		present, they are considered to be equal to the
		pixel indices.
	xMin, xMax, yMin, yMax: the index boundaries of the
		image. They are important e.g. in Fourier
		transformation or cleaning processes when
		operations are not performed on the whole
		image. However, mathematical operations,
		e.g. exponentiation, logarithmization
		are done on the whole image, independently
		of these parameters. When not present,
		default are set to the lowest and highest pixels
		in x- and y-direction.
	name: the name of the image
 OUTPUT PARAMETERS:
 	image: the modified two-dimensionnal array.
	xAxis, yAxis: the axes modified by some of the options. 
 SIDE EFFECTS:
	Use the terminal window to read values.
 RESTICTIONS: User Interface: works only interactively.

 MODIFICATION HISTORY:
 	Created: May 1991, A. Csillaghy
	Options added in December, 1991 A.Cs
	Cross Correlation in Oct 92, A.Cs
	1d Crosscorrelation in March 93, AC/SK
	Wiener filter in March 93, AC

(See modify/modify.pro)


MODIFY TITLES

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Modify Titles
 PURPOSE:
	Changes title definitions, tick mark names, inteval
	between ticks, number of tickmarks, style and
	type of plot and plotting symbol.
 CATEGORY:
	User interface
 CALLING SEQUENCE:
	Modif_Titles
 SIDE EFFECTS
	The value of some system variables are changed, dependent
	on the option chosen.
 	Menus are used. On vt300 terminals, the
	display is erased

(See custom/modif_titles.pro)


MODIF_AXIS

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
 	Modif_Axis
 PURPOSE:
	Change the maximum, minimum and/or step of a vector
	interactively and dependently: e.g  if the minimum is
	changed, the maximum is reset in dependancy of the step.
 CATEGORY:
	User Interface
 CALLING SEQUENCE:
	Modif_Axis, vector
 INPUT ARGUMENT:
	vector: the vector to be changed
 OUTPUT ARGUMENT:
 	vector: the vector changed
 SIDE EFFECTS
	On x-windows terminals, menus are called. On other
	terminals, the display is erased. The terminal window
	is used to read values.

(See custom/modif_axis.pro)


MODIF_PS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Modif_PS
 PURPOSE:
	User Interface to modify the PostScript page format
	parameters: width, height, origin (in centimeters)
	encapsulation, landscape mode, reverse mode,
	display of page titles.
 CATEGORY
	User Interface
 COMMON BLOCK:
	PSDriver: contains the parameters cited above.
 SIDE EFFECTS:
	Modify the values of the common block.
	Menu windows are opened on x-windows terminals,
	on the others, the display is erased.

(See custom/modif_ps.pro)


MOVE_IMAGE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Move_Image
 PURPOSE:
	Changes the part of an image displayed with its
                   next neighbour, right, left,
	up,down, up/right, up/left, down/right or down/left,
	with the same number of image pixels.
 CALLING SEQUENCE
	Move_Image, image, xAxis, yAxis 
		,xMin, xMax, yMin, yMax
 CATEGORY:
	User Interface.
 INPUT ARGUMENTS:
	image: the image in which one wants to move, a 2D 
		real array;
	xAxis, yAxis: the axes of the image;
	xMin, xMax, yMin, yMax: the boundaries of the image
		part actually displayed, in array indices. 
 OUTPUTS:
	xMin, xMax, yMin, yMax: the boundaries of the new
		part that will be displayed with Show_Image
 KEYWORDS:
	TITLE: The title of the window
	WINCHANGE: If set, the moves are displayed in a new
		window.
 SIDE EFFECT:
	The image moves are displayed.
 RESTRICTION
	Works only with a display produced with "Show_Image".
 	otherwise, the display will be adapted to the layout of
	"Show_Image".

(See display/move_image.pro)


NO_DATA

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
 	No_Data
 PURPOSE:
	Test if there is data in the plot table or not. If there
	is, the value "0" is returned else "1".
  CATEGORY:
	Data Management
 CALLING SEQUENCE:
	boolValue = No_Data()
 COMMON BLOCK:
	Data, where the plot table is stored. Should not
	be accessed directly.

(See datatype/no_data.pro)


NUMBER OF PLOTS SELECTED

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Number of Plots Selected
 PURPOSE:
	Returns the number of plots selected.
 CALLING SEQUENCE:
	nb = N_Selected()

(See datatype/n_selected.pro)


N_ALONE

[Previous Routine] [Next Routine] [List of Routines]
 PURPOSE:
	

(See display/n_alone.pro)


N_BREAKS

[Previous Routine] [Next Routine] [List of Routines]
 PURPOSE:
	Returns the effective number of breaks included in 
	"array", the array of break indices. 
	Part of the enrad system

(See display/n_breaks.pro)


N_PLOTLIST

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	N_PlotList
 PURPOSE:
	Returns the number of plots stored in the plot table
 CALLING SEQUENCE:
	nb = N_PlotList()

(See datatype/n_plotlist.pro)


N_TEXTS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	N_Texts
 PURPOSE:
	Returns the number of texts overplotted on the plot 
	window.
 CALLING SEQUENCE:
	nb = N_Texts()

(See datatype/n_texts.pro)


OVERPLOT TEXTS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Overplot Texts
 PURPOSE: 
	Allows creation of texts which will be overplotted in 
	the plot window, when "Data_Display"
	is used for plotting.
 CALLING SEQUENCE:
	Overplot_Texts
 SIDE EFFECTS
	The texts and their position in the plot window
	are kept in a special data structure.
 MODIFICATION HISTORY:
	Created by A.Csillaghy in June 1991
		Inst. of Astronomy, ETH Zurich
       Modified for IDL5/SSW/Ragview in March 98 -- ACs

(See custom/overplot_texts.pro)


PIXEL_READ

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Pixel_Read
 PURPOSE:
	Reads the x- y- and z-value of an image pixel 
	clicked with the mouse
 	on a window produced with Show_Image. 
 CALLING SEQUENCE:
 	Pixel_Read,image [ ,xAxis ,yAxis [ ,imageValue
		 ,xValue ,yValue ] ] 
 CATEGORY:
	Image processing
 INPUTS:
	image: the image actually displayed on the screen
	xAxis,yAxis: the corresponding Axes
 OUTPUTS:
	imageValue, xValue, yValue: the values read. When
		not present, the values are displayed
		on the screen
 KEYWORDS:
	WINNR: must be set to the correct window number if the
		image window is not the currently
		selected window.
	TEXT: If another text as the default is wanted.
	PIXELX, PIXELY: the pixel numbers in the image.
 SIDE EFFECT:
 	When the values read are displayed on the screen, a 
	window is opened, and closed when exiting the
	procedure.
 RESTRICTION:
	The procedure works only  on X-windows.

 MODIFICATION HISTORY:
	Created 4/91, A.Csillaghy
	Keywords PIXELn added in Jan 93, A.Cs
	ERROR routine eliminated and replaced by MESSAGE, 
		Aug. 93, A.Cs.
 NON STANDARD PROCS USED:
 	Get_Winsize, Get_ImageSizes, GetBreaks,
	Round, ElimBreaks, GetOffsets

(See display/pixel_read.pro)


PLOTS_SELECTION

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Plots_Selection
 PURPOSE:
	User interface, programmed for the mdisp system
	but usable also alone, to select and remove plots that
	have been stored in the plot table (see store_plot)
	from the selection, in order to be displayed by 
	Data_Display.
 CATEGORY:
	User Interface
 CALLING SEQUENCE:
	Plots_Selection
 SIDE EFFECT:
 	Windows are opened.
 RESTRICTION:
	Use only in interactive mode
 MODIFICATION HISTORY:
	Created in June 1991 by A.Csillaghy
		Inst. of Astronomy, ETH Zurich

(See datatype/plots_selection.pro)


PRINTINTERFACE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       PrintInterface
 PURPOSE:
       Interface for generating postscript files from ragview.
 CALLING SEQUENCE:
       PrintInterface, status
       ... commands such as plot, etc...
       PrintInterface, status, /PRINT
 OUTPUT:
       status:  the number of the printer that has been chosen
                in the menu. status is output parameter if the 
                keyword PRINT is not set
 INPUT:
       status:  the number of the printer that has been chosen
                in the menu in the previous call of printinterface.
                status is input parameter if the 
                keyword PRINT is set
       file: the file to print (only whith association with the PRINT
             keyword). 
 NOTICE:
       This interface is extendable. If you have more than one
       printer, you can add it by assigning it to LPDEST1, lPDEST2,
       ... LPDEST6 (up to 7 printers can be declared)
 KEYWORDS:
       PRINT: Sends the file to the printer
              If not set, the menu interface is displayed
 MODIFICATION HISTORY:
       Created in 1991 by A.Csillaghy, csillag@astro.phys,ethz.ch
       Modified for IDL5/ssw/Ragview ACs, March 1998

(See gen/printinterface.pro)


PS_CREATE_1D

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	PS_Create_1D
 PURPOSE:
	Redirect the plot output of the procedure "Data_Display"
	to a postscript file.
 CATEGORY:
	1D
 CALLING SEQUENCE:
	PS_Create_1D, [ x, y [, qualifier [, dx, dy ] ] ]
 INPUTS:
	x: the x-values, a 2D array. If not present, the x range is set 
		from 0 to the number of elements minus 1.
	y: the y-values also real 2D array, each line is a plot.
	q: the qualifiers for each value to plot. The number follows
		the definition of the !psym system variable.
		It is a 2D integer array
	dx, dy; the errors in x- and y-direction. If the error bars 
		are symmetrical, then "dx" and "dy" are
		2D real arrays. If they are not symmetrical,
		then dx(*,*,0) and dx(*,*,1) contain the errors
		left and right, respectively and dy(*,*,0) and
		 dy(*,*,1) contain the errors up and down,
		respectively.
 KEYWORDS:
	LINESTYLE: for each plot a value corresponding to the
		!p.linestyle system variable. A 1D array.
	THICK: The line thickness, corresponding to the !p.thick
		system variable. A 1D real array.
	OFFSET: An y-offset added to all y-values of a plot,
		a 1D real array.
	COLOR: a color for each plot, 1D integer array
	RESET: If present, the scaling is done automatically,
		otherwise, the last one is used, unless the
		system variables !x/y.range are [0,0]
	XPOS, YPOS: The position of the lower left corner
		of the plot. If not specified, the have both
		the value 1 (units in centimeters).
	XSIZE, YSIZE: The width and height of the plot
	FILENAME: The file name. If not specified,
		the file name will be the first ten chars of the
		variable "!p.title"
	LANDSCAPE: If present the file is printed in landscape 
		 mode
 	LOGO: If set, writes "institute of astronomy' on the 
		bottom of the page.
	SIXEL: If set, the file is in SIXEL format (for printing
		on the ln03 printer).
 SIDE EFFECT:
	Creates a file. The default name is "mdisp.ps", if not 
	precised in the FILENAME 
	keyword. If already present, the old file is deleted.

MODIFICATION HISTORY:
 	Created in June 1991 by A.Csillaghy
	Modified for sixel devices and wave 4, 
		Nov. 92, ETHZ, A.Cs

(See display/ps_create_1d.pro)


PUT BREAKS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Put Breaks
 PURPOSE:
	Writes the indices where  breaks occur in the axes.
 CALLING SEQUENCE:
	PutBreaks, dxBreaks, dyBreaks
 OUTPUTS:
	dxBreaks, dyBreaks: arrays containig the indices where a
		break occur in the x- respectively y-axis.
 RESTRICTION:
	Works only after initialization by calling Init_Display
 HISTORY
	Created: A.Csillaghy, ETHZ, April 91

(See datatype/init_display.pro)


PUT HOURS/MINUTES/SECONDS FLAG

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Put hours/minutes/seconds flag
 PURPOSE:
	Sets the hms flag to 0 or 1
 CALLING SEQUENCE:
	PutHMS, flag
 INPUT:
	flag: 1 or 0
 SIDE EFFECT:
	Uses common block "BothDisplays"
 MODIFICATION HISTORY:
	Craeted: Apr 91 A. Csillaghy, ETHZ

(See gen/puthms.pro)


PUT IMAGE SIZES

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Put Image Sizes
 PURPOSE:
	Writes the variables defining the image size
 CALLING SEQUENCE:
	PutImageSizes, xPos, yPos, width, height scaleheight 
 INPUTS:
	xPos, yPos: the position of the origin  of the image
	width, height: the size of the image
	scaleheight: the height of the scale showing the contrasts
		of the color table.
 KEYWORD:
	PS: if set, the values for printing on a  page are stored
 RESTRICTION:
	Works only after initialization by calling Init_Display
 HISTORY
	Created: A.Csillaghy, ETHZ, April 91

(See datatype/init_display.pro)


PUT MARKS MODE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Put Marks Mode
 PURPOSE:
	Stores the axis drawing mode:
		'automatic': the change between range and single pixel
			marking is done by the program
		'range': the program does alwas a range marking.
 CALLING SEQUENCE:
	PutMarksMode, xMarkMode, yMarkMode
INPUTS:
	xMarkMode, yMarkMode: 'automatic' or 'range'
 RESTRICTION:
	Works only after initialization by calling Init_Display
 HISTORY
	Created: A.Csillaghy, ETHZ, October 93

(See datatype/init_display.pro)


PUT MISCELLANEOUS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Put Miscellaneous
 PURPOSE:
	Writes some information needed for printing
 CALLING SEQUENCE:
	PutMiscPS, encapsulated, landscape, reverse, blackFont
 INPUTS:
	encapsulated: if not zero, the image will be encapsulated
		with the command "\insertimage" or
		"\insertplot" in a TeX file.
	landscape: if not zero, the page is printed landscape
	reverse: if not zero low values are printed white, 
		high values black.
	blackFont: if not zero, the background color of the page
		is black.
 RESTRICTION:
	Works only after initialization by calling Init_Display
 HISTORY
	Created: A.Csillaghy, ETHZ, April 91
	reducedFmt added in Jun 93, A.Cs

(See datatype/init_display.pro)


PUT OFFSETS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Put Offsets
 PURPOSE:
	Writes the offsets of axes and image parts
 CALLING SEQUENCE:
	PutOffsets, axisOffset, imageOffset
 INPUTS:
	axisOffset: the offset between axis and image
	imageOffset: the offset between image parts (for
		non-regular axes.
 KEYWORD:
	PS: if set, the values for printing on a  page are stored
 RESTRICTION:
	Works only after initialization by calling Init_Display
 HISTORY
	Created: A.Csillaghy, ETHZ, April 91

(See datatype/init_display.pro)


PUT SELECTION

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	put selection
 PURPOSE:
  	Save the image "fname" in a file with ending
	".tmpenrad". 
	Delete an temporary image if necessary.
 CALLING SEQUENCE:
	Put_Selection, z, xAxis, yAxis, xMin, xMax, yMin, yMax
  INPUT ARGUMENTS:
	image: the 2D array
	xAxis, yAxis: the 1d arrays corresponding to the image
	xMin, xMax, yMin, yMax: the boundary of the image (in
		pixel number) when it was stored.
 KEYWORDS:
	FILESTATE: either "temporary" or "permanent"
		(default: "temporary")
	FNAME: ther file name. default: compression of !p.title
 SIDE EFFECT:
 	a file is written or/and replaced, in the directory specified
	by ENRAD_SAVE env. variable
 MODIFICATION:
	Created in may 1991 by A.Csillaghy, ETHZ.
	Modified for ENRAD_SAVE in Jan. 93, A.Cs.

(See datatype/init_selection.pro)


PUT WINDOW SIZE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Put Window Size
 PURPOSE:
 	Writes the variables defining the window size
 CALLING SEQUENCE:
	PutWinSize, xSize, ySize
 OUTPUTS:
	xSize, ySize: the size of the window or page
 KEYWORD:
	PS: if set, the size of the pageare stored
 RESTRICTION:
	Works only after initialization by calling Init_Display
 HISTORY
	Created: A.Csillaghy, ETHZ, April 91

(See datatype/init_display.pro)


PUT_SHIFT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Put_Shift
 PURPOSE:
	Store the value of the shift between plots
 CATEGORY
	Data Management
 CALLING SEQUENCE:
	Put_Shift, value
 INPUT:
 	value: the shift between plots
 COMMON BLOCK:
	SelectionRetrieval, where the value is stored

(See datatype/put_shift.pro)


QUALIFIER TRANSFORMER

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Qualifier Transformer
 PURPOSE: 
	Decodes mdisp-file qualifiers in wave qualifiers and
	linestyle and usersym values. Perhaps you find it a nonsense,
	but this was done to match the qualifier of the old system,
	ndisp, which was running on the VAX 780 long time ago ...
 CALLING SEQUENCE:
	QualifTransform, qualifier, lineStyle, userSym
 INPUT:
	qualifier: an array of qualifiers as read by the procedure
		"mdispread" or "columns_read"
 OUTPUTS:
	qualifier: the qualifiers according to the values of the
		!psym symbol (array of integers);
	lineStyle: the linestyle associated with the qualifier, 
		according to the !p.linestyle values;
		Format: array of integers (same dimension as
		"qualifier")
	userSym: the number of the user symbol. This value
		can then be passed to the procedure 
		"loadusersym" to plot user symbols. If 
		"userSym" is not 0, the corresponding qualifier
		value is 8.
		Format: array of integers (same dimension as
		"qualifier")
 MODIFICATION HISTORY:
	Created, A.Csillaghy, ETHZ, Nov. 91
	Modified, Csillaghy, Nov 92, for Wave 4 adaptation.

(See files/qualiftransform.pro)


RADIO ASTRONOMY GROUP FITS READ

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Radio Astronomy Group Fits Read  
 PURPOSE:
	Reads RAG spectrograms from FITS files 
	including non-regular axes. 
	The procedure reads also with gzip compressed files
	  if they end with the extention ".gz"
 CALLING SEQUENCE:
	RAGFitsRead, filename[ , image, xAxis, yAxis ]
 INPUT:
	filename: string containing name of the file with extension
 OUTPUTS:
	image: 2D array containing the array read.
	xAxis, yAxis: 1D arrays containing the axes.
 KEYWORDS:
	used for getting header informations. See "RAGFitsWrite"
	for default information written.
	ORIGIN, TELESCOPE, INSTRUMENT,
	OBJECT: name of observed object
	DATEOBS: observation date in form dd/mm/yy
	TIMEOBS:	start time of observation ( hh:mm:ss.ddd )
		or "No Time"
	DATEEND, TIMEEND: as DATEOBS and TIMEOBS,
		but for the end of the observation.
	BZERO, BSCALE: If they are not 0 and 1, respectively, 
		the data is reconstructed with the formula
		with image = BZERO + BSCALE*data
	BUNIT: string containing the units of the image pixels.
	CTYPE1, CTYPE2: string containing the FITS type of
		physical coordinates.
	COMMENT, HISTORY: strings for description
		of the image
	NOSCALE: if set, the reconstruction with BZERO and
		BSCALE is not done.
	SILENT: if set, the FITS header is not printed on screen
	DATAMIN, DATAMAX: Max and min of the data.
	RELATIVETIME: If set, the decimal value of TIMEOBS
		 is NOT added to the axis values. 
 SIDE EFFECT:
	A fits file is opened.
 MODIFICATION HISTORY
	Created: A. Csillaghy, ETHZ, October 1992
	For IDL Sun in May 1993, A.Cs.
	SILENT in june, 93, A.Cs
	DATAMIN, DATAMAX; When only filename provided, the header
		is read but not the array. Oct. 93, A.Cs
	RELATIVETIME in august 1995, ACs
	Read also compressed file in November 95, ACs
       Adaptation for IDL5/SSW/Ragview in March 98 -- ACs

(See files/ragfitsread.pro)


RADIO ASTRONOMY GROUP FITS WRITE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Radio Astronomy Group Fits Write  
 PURPOSE:
	Writes RAG spectrograms in FITS files 
	including non-regular axes.
 CALLING SEQUENCE:
	RAGFitsWrite, image [, xAxis, yAxis ]
 INPUTS:
	image: 2D or 3D array of any type except string and complex.
	xAxis, yAxis: 1D arrays of any type but string and complex.
		They must have the same dimensions as their
		corresponding dimension in  "image". 
	 The third dimension of the image  must have  2 elements:
		(0) the flux and (1) the polarization
 KEYWORDS:
	FILENAME: string containing name of the file with 
		extension
	CONTENT: 	default: 'SPECTROGRAM'
	ORIGIN: 		default; 'RAG / ETH Zurich'
	TELESCOPE:	default: 'Bleien Radio'
	INSTRUMENT:	default: 'PHOENIX'
	OBJECT:		default: 'SUN'
	DATEOBS:observation date in form dd/mm/yy,
		default: empty string.
	TIMEOBS:start time of observation ( hh:mm:ss.ddd )
		default: the first element of the x-axis
		This keyword should generally not be used, 
		since the time start is generally contained in 
		first element of the x-axis. If timeobs is used,
		its quantity will be added to the x(0)-element
		when the file is read by RagFitsRead.
	DATEEND, TIMEEND: as DATEOBS and TIMEOBS,
		but for the end of the observation.
		default: TIMEEND = TIMEOBS;
		TIMEEND = empty string.
	BZERO, BSCALE: to set if the data has to be reconstructed
		with data = BZERO + BSCALE*image
		Default: BZERO = 0; BSCALE = 1 (see 
		the keyword SCALING.
	XZERO, YZERO: as BZERO but for x, resp, y axes.
	YSCALE, YSCALE: as BSCALE but for x, resp. y axes.
		These 4 keywords are only used in case of non-
		regular axes.
	SCALING: If present, the procedure scales automatically
		the data and writes in the fits header
		the computed BSCALE AND BZERO values.
		If not present, the current type of the array is
		stored.
		"Byte": the data is written in 8-bit format.
		"Integer": the data is written in 16-bit format.
		"LongInt": the data is written in 32-bit format.
	BUNIT: string containing the units of the image pixels.
		default: '45*LOG(SFU+10)'
	CTYPE1, CTYPE2: string containing the FITS type of
		physical coordinates. Defaults: 
		CTYPE1 = 'TIME' and CTYPE2 = 'FREQ'
	COMMENT, HISTORY: strings for description
		of the image
	INTERACTIVE: if set, the filename is asked interactively
	BYTE: If SCALED is not used, BYTE allows to write
		real data in byte format (symply transforming
		the data without byte scaling )
	NOROUND : if set, the axis is NOT rounded to two significant 
		digits, (default for RAG fits )
 SIDE EFFECT:
	A fits file is created.
 MODIFICATION HISTORY
	Created: A. Csillaghy, ETHZ, October 1992
	BYTE keyword added in May 93, A.Cs.
	NOROUND in Nov 93, A.Cs

(See files/ragfitswrite.pro)


RAG EXPONENTIATION

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	RAG Exponentiation
 PURPOSE:
	exponentiates the image with parameters asked
	interactively. If no values are entered, the defaults
	values for SFU decompression are used.
 CALLING SEQUENCE:
	result = RAGExp( array )
 INPUT: 
	array: any parameter but a string ( normally 2D image )
 RESULT:
	result = a exp( b * input + c + d )
 RESTRICTION
	works only after compilation of modify.pro

(See modify/modify.pro)


RAG LOG

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	RAG Log
 PURPOSE:
	compacts the image with parameters asked
	interactively. If no values are entered, the defaults
	values for SFU compression are used. Negative values
	are replaced by a constant ( 1e-7).
 CALLING SEQUENCE:
	result = RAGLog( array )
 INPUT: 
	array: any parameter but a string ( normally 2D image )
 RESULT:
	result = a log( b * input + c + d ) (log basis e)
 RESTRICTION:
	works only after compilation of modify.pro

(See modify/modify.pro)


RAG VIEW

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	RAG View
 PURPOSE:
	Ragview is an image processing system specially 
 	developed for the analysis of solar radio spectrograms/.
 CALLING SEQUENCE:
	RagView
 COMMON BLOCKS:
	ImageReal, image, xAxis, yAxis, fName: 
		contains the 2D image,
		in its original data type, 
		the x-axis and the y-axis values and the file 
		name.
	Boundaries, xMin, xMax, yMin, yMax: these four
		parameters are used for limiting the
		pixel ranges displayed, and are used with
		several procedures called by RagView.
	These common blocks are only used in this program.
	The related procedures do not use them. They are
	here to provide the possibility to use data outside
	of ragview.
 SIDE EFFECTS:
	RagView opens a lot of windows and creates files, dependent
	of the user's choices.
 RESTRICTIONS:
	Works only in interactive mode.
 MODIFICATION HISTORY:
	Created: (4/91)  (under the name of enrad) A.Csillaghy 
		       Institute for Astronomy, ETH Zurich
	Window+Selection Management added in August 1991, Cs.
	NOERASE keyword in June, 93
	titles kept even outside the session, Nov 93, A.cs
	IDL transformations Jan 95 ACs
 	SSW adaptation, renamed from enrad to ragview,
       IDL 5 version March 1998 ACs

(See gen/ragview.pro)


RAGVIEW_MDISP_INT

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
	Ragview_MDisp_Int
 PURPOSE:
 	Interface used to transfer data from the two dimensional
       image analysis software RagView to its one-dimensional 
       subsystem mdisp. The vectors of the transfered image will be \
       stored in a plot table.
 CATEGORY:
	Data Management
 CALLING SEQUENCE:
	RagView_MDisp_Int, image [, xAxis, yAxis ]
 INPUTS
	image: the array to transfer.
	xAxis, yAxis: the x and y axes of the image
 KEYWORDS:
	/YDIR: if present, the image is decomposed in y-plots
              if not present x-plots are created.
	/RESET: if present, the former plot table will be erased.
	TITLE: The name of the plot. Deafult: "!p.title".
 MODIFICATION HISTORY:
 	Created in June 1991 by A.Csillaghy 
       Few modifications for Ragview/ssw/IDL5 in March 1998, ACs.

(See datatype/ragview_mdisp_int.pro)


READ DATA BYTE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Read Data Byte
 PURPOSE: 
	Reads a data byte in VMS format 
 CALLING SEQUENCE:
	Read_Data_Byte, unit, data
 INPUT PARAMETERS:
	unit: The logical number of the opened file
 OUTPUT PARAMETERS:
	data: the byte array read.

(See files/read_data_byte.pro)


READ VMS RECORD

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Read VMS Record
 PURPOSE: 
	Reads a VMS-format variable-length
	record on the Unix system.
 CALLING SEQUENCE:
	ReadVMSRec, unit, record
 INPUT PARAMETERS:
	unit: The logical unit number of the (already opened) 
		VMS-format file
 OUTPUT PARAMETERS:
	record: The record read, an array of bytes.
 RESTRICTIONS
	This procedure cannot be used for Unix files.
 MODIFICATION HISTORY:
	Created by A.Csillaghy in September 1991
		Inst. of Astronomy, ETH Zurich

(See files/readvmsrec.pro)


READ_ARRAY

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	READ_ARRAY

 PURPOSE:
       Reads a file into an array variable.  The file is assumed to
       consist of lines of numbers, separated by tabs or spaces,
       with the same number of values on each line.  The file length
       is arbitrary.

 CATEGORY:
       PROG

 CALLING SEQUENCE:
       READ_ARRAY, filename, array

 INPUTS:
       filename: The name of the file to be read.
       array:    The variable to hold the data.

 KEYWORD PARAMETERS:
	SKIP:    The number of lines of "header" information in the
	         file to skip.

	INTEGER: If the data in the file is integer.  The default is
	         floating point.

       ROWS:    Returns the number of rows

       COLUMNS: Returns the number of columns

       SILENT: If set, do not output to the screen

 OUTPUTS:
       Returns a two-dimensional array whose first index is the
       number of elements per line, and second index is the number of
       lines in the file.  Also outputs these numbers to the screen.

 RESTRICTIONS:
       Not tested all that much.  Does not read double precision data.

 EXAMPLE:
       READ_ARRAY, 'spectra.dat', spectrum, SKIP=3, /SILENT
       Reads the file spectra.dat, skipping the first 3 lines, creating
       the array variable spectrum.  Don't print out anything.

 MODIFICATION HISTORY:
 	Written by:	Randall Smith, 6/19/95
       Modified  :     RKS,           11/2/95

(See files/read_array.pro)


READ_TEST

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Read_Test
 PURPOSE:
	Reads a value on the terminal and sets a default 
	if the return key has been pressed directly. 
 CATEGORY:
	I/O
 CALLING SEQUENCE:
 	Read_Test, text, default, value
 INPUTS:
	text: a message to print before the reading action
	default: the value to set to the variable if it has not
		been entered
 OUTPUT:
	value: the variable where the number read is stored.
 KEYWORDS: 
	MINIMUM: the minimum set if the number is too low
	MAXIMUM: the maximum set if the number is too high
	HMS: The in/output format is of type hh:mm:ss.sss
 RESTRICTION:
	The type of the variable is REAL

 MODIFICATION HISTORY:
	Creadted by A.Csillaghy in June 1991
	Max and min added in November 91

(See gen/read_test.pro)


READ_VALUES

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Read_Values
 PURPOSE:
	Reads interactively a point on the screen
 CATEGORY:
	User Interface
 CALLING SEQUENCE:
	Read_Values [,x, y]
 OUTPUTS:
	x,y: scalars, contains the x- and y-coordinate in data
		units where the user clicked.
 KEYWORD:
	/NODISPLAY: if present, the result is not shown on
		the screen, but stored in the x,y variables.
 SIDE EFFECT:
	On X terminals, uses windows.

 MODIFICATION HISTORY:
	Created in June 1991 by A.Csillaghy

(See display/read_values.pro)


REMOVE_SEL

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Remove_Sel
 PURPOSE:
 	Remove a plot from the selection
 CATEGORY:
	Data Management
 CALLING SEQUENCE:
	Remove_Sel, name
 INPUT:
 	name: the name of the plot to be removed
 COMMON BLOCK:
	SelectionRetrieval, opaque, where the selection list is
		stored.
 SIDE EFFECT:
	The selection list is changed

(See datatype/remove_sel.pro)


REPLACE BY LINEAR INTERPOLATION

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Replace by Linear Interpolation
 PURPOSE:
	Replaces the values between the first and the last element
	of "array" by the linear interpolation of
	the values in array(minimum) and array(maximum).
 CALLING SEQUENCE:
	result = ArrayInterp( array )
 INPUT: 
	array: 1D vector to change
 RESULT:
	the interpolated array.
 PROCEDURE:
	1. computes slope and least value
	2. replaces values in "array" by slope*i + leastValue

(See modify/repllinint.pro)


SAVE_USER_CT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
 	Save_User_CT
 PURPOSE:
	Store in a file a user modfified color table.
 CATEGORY
	Input/Output
 CALLING SEQUENCE
	Save_User_CT [, name ]
 INPUT ARGUMENT:
	name: the name of the file where the color table will be
		saved. If not present, it will be
		asked interactively.
 COMMON BLOCK:
	"Colors" is used to get the color table values.
 SIDE EFFECT:
	When the name is not provided, the terminal window
	is used to get it.
 RESTRICTION:
	Works only on x-windows terminals.

(See display/save_user_ct.pro)


SB4_READ

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
	SB4_Read

 PURPOSE:
	 Reads sb4 files.  
 CATEGORY:
	Input/Output
 CALLING SEQUENCE:
	SB4_Read,file,image,xAxis,yAxis,vAxis,wAxis, desc
 INPUT:
 	file: the complete name of the file to read.
 OUTPUTS:
	image: A four dimensional array with
		dimension  where nx,ny,nv,nw
		are the number of elements in the x,y,v,w
		directions, respectively.
 	xAxis,yAxis,vAxis,wAxis: data array and axis definition
	 	arrays, xAxis(nx,next), yAxis(ny,next),
		v(nv,next), w(nw,next), where nx,ny,nv,nw, 
		and next are read from the second record
             		of the file. xAxis,yAxis,vAxis,and wAxis
		are real arrays.
	desc: Array of 20 character strings containing the
		following descriptors: title, zlabel, xlabel,
		ylabel, vlabel, wlabel, timestart,  timeend,
		 timecreate, instrument, and spares.
 KEYWORDS:
 	TITLE: The title of the image
	XLAB, YLAB, ZLAB: The x axis descriptions
	STARTTIME, ENDTIME: The start and end time 
		(h:m:s.cc), string
 	TIMECREATE, INSTRUMENT, SPARES: Additional
		 information from the header.
	/VMS: If specified, the file is considered as a VMS file and
		read in the VMS format. After the read,
		the file is automatically rewritten in Unix
		 Format.
	/SECS: If specified, the x-axis values are in  'Seconds after
		Midnight': the STARTTIME information is
		added to the x-axis values.

 MODIFICATION HISTORY:  
	Created: NASA/Goddard Space Flight Center, 
		SMM Data Analysis Center, 4/89
 	Modified: 4/91, A. Csillaghy, for WAVE 3
		Institute for Astronomy, ETH Zurich
	Use of Conv_Vax_... in Jan 93, A.Cs.

(See files/sb4_read.pro)


SCA_READ[1]

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	SCA_Read
 PURPOSE:
	Reads SCA files.
 CATEGORY:
	Input/Output
 CALLING SEQUENCES:
	SCA_Read, file, image, [ xAxis, yAxis ]
	SCA_Read, file, image,  nx, ny, x1, y1, dx, dy
 INPUT ARGUMENTS:
	file: complete name of the file to be read
 OUTPUT ARGUMENTS:
	image: the two-dimensionnal array
	xAxis, yAxis: the axes of "image"
	nx, ny: the array dimensions
	dx, dy: the image steps between two pixels
	x1, y1: the first value of the axes.
 KEYWORDS:
	TITLE: the title of the image
	XLAB, YLAB, ZLAB: the titles of the axes involved
	NAME: the name of the image
	VMS: if present, the file is assumed to have the
		"variable record length" from the VMS
		fortran write. The file will be read, and 
		directly rewritten in Unix SCA format.
	TRANSFORM: transforms microseconds in seconds
		in case of RAG data.
 MODIFICATION HISTORY:
	Created, 4/91, A.Csillaghy, ETHZ
	Modified, Jan.93, A.Cs

(See files/newsca_read.pro)


SCA_READ[2]

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	SCA_Read
 PURPOSE:
	Reads SCA files.
 CATEGORY:
	Input/Output
 CALLING SEQUENCES:
	SCA_Read, file, image, [ xAxis, yAxis ]
	SCA_Read, file, image,  nx, ny, x1, y1, dx, dy
 INPUT ARGUMENTS:
	file: complete name of the file to be read
 OUTPUT ARGUMENTS:
	image: the two-dimensionnal array
	xAxis, yAxis: the axes of "image"
	nx, ny: the array dimensions
	dx, dy: the image steps between two pixels
	x1, y1: the first value of the axes.
 KEYWORDS:
	TITLE: the title of the image
	XLAB, YLAB, ZLAB: the titles of the axes involved
	NAME: the name of the image
	VMS: if present, the file is assumed to have the
		"variable record length" from the VMS
		fortran write. The file will be read, and 
		directly rewritten in Unix SCA format.
	TRANSFORM: transforms microseconds in seconds
		in case of RAG data.
 MODIFICATION HISTORY:
	Created, 4/91, A.Csillaghy, ETHZ
	Modified, Jan.93, A.Cs

(See files/sca_read.pro)


SCA_WRITE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
 	Sca_Write
 PURPOSE:
	Writes SCA files
 CATEGORY:
	I/O
 CALLING SEQUENCE:
	Sca_Write, array [, xAxis, yAxis ]
	Sca_Write, array [, x1, y1, dx, dy ]
 INPUTS:
	array: the data. If it is not in floating type it will be 
		transformed.
 	xAxis,yAxis: The axes, which the same number of elements
		as their corresponding direction in the array.
		The axes must be homogen.
	x1, y1: the start values of the axes.
	dx, dy: the step values of the axes.
 KEYWORDS:
	FILENAME: the complete name of the file to produce. If
		not present, it will have the name stored in
		!p.title, without blank chars.
	TITLE: the title of the array.  If not present, it will have the 
		name stored in !p.title (max 80 chars)
	NAME: the name of the array  (max 9 chars) If not
		present, it will be blank.
	XLAB, YLAB, ZLAB: titles for the three axes. If not 
		present, the names will be taken from the 
		variables !x.title, !y.title and !z.title,
		respectively.
	INTERACTIVE: If set, the file name is asked on the
		terminal window. (when FILENAME is
		not given).
 SIDE EFFECT:
	A file is produced. If it already exists, it will be deleted 
	and replaced by the new one.
 PROCEDURE:
	The fortran implementation of the sca file write is
	
	CHARACTER NAME*9, TITLE*80, XLAB*20,
		YLAB*20, ZLAB*20
	INTEGER*4  NX, NY
	REAL*4  Z(NX,NY), X1, Y1, DX, DY
	
	OPEN( UNIT=4, FILE=NAME//'.SCA', STATUS='OLD'
		FORM='UNFORMATTED',IOSTAT=IO)
	
	WRITE(4) TITLE, XLAB, YLAB, ZLAB, NAME
	WRITE(4) NX, NY, X1, Y1, DX, DY
	WRITE(4) Z

(See files/sca_write.pro)


SEARCH PLOT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
 	Search Plot
 PURPOSE:
	Returns the index of a plot in the plot list
 CALLIG SEQUENCE:
 	result = SearchPlot( name )
 INPUT:
	name: a string scalar
 RESULT OF FUNCTION:
	-1: there is no plot in the plot list
	0: there are plots in the plot list, but not with this name
	else: the plot number in the plot list.
 RESTRICTION:
	works only after runnig init_data.pro

(See datatype/init_data.pro)


SELECTION DELETE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Selection delete
 PURPOSE:
	Deletes one or more save files. Optionally deletes the 
	save directory in ENRAD_SAVE also.
 CALLING SEQUENCE:
	Sel_Del
 KEYWORDS:
	ALL: If specified, all save files are deleted.
	DIR: If specified, the whole save directory is deleted
 SIDE EFFECT:
	If no keywors is specified, the file to delete is asked
	interactively with a menu.
 MODIFICATION HISTORY:
	Created in Oct. 91 by A.Csillaghy, ETHZ
	Modified in Jan 93 for ENRAD_SAVE, A.Cs

(See datatype/init_selection.pro)


SELECT_ALL

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Select_All
 PURPOSE:
	Selects all the plots present in the plot table
 CATEGORY:
	Data Management
 CALLING SEQUENCE:
	Select_All
 COMMON BLOCKS:
	Data: plot table
	SelectionRetrieval: selection list
 SIDE EFECT:
	See the purpose of the procedure.

(See datatype/select_all.pro)


SHOW IMAGE

[Previous Routine] [Next Routine] [List of Routines]
		----- This is the IDL version -----
 NAME:
	Show Image
 PURPOSE: 
	Displays or writes an image with axes and scale on
	a window or on paper.
 CALLING SEQUENCE:
	Show_Image, image [, xAxis, yAxis ]
 INPUTS:
	image: a 2D array (usually real)
	xAxis, yAxis: the axes corresponding to the image (real)
 KEYWORDS:
	XPOS, YPOS: the position of the lower left corner of the
		image, in device units (screen display) or
		centimeters (PostScript).
	/HMS: If present, the x axis is written in hours/minutes/
		seconds style.
	XTITLE, YTITLE, ZTITLE, TITLE: Strings for
		labeling axes and image, only for PostScript.
		Default: the system-variables titles.
	WINNR: The number of the window where the image will
		be displayed. Default: the current window.
	SCALEHEIGHT: the scale height in device units (screen)
		or centimeters (PostScript).
	WNAME: The name of the window. Default: empty string.
	FILENAME: The filename of the PostScript file.
		Default: "ragview.ps"
	IMAGEOFFSET: If the image has non-homogeneous axes,
		the distance (device units or centimeters)
		between two homogeneous parts.
	AXISOFFSET: The distance between the axes and the
		 image, device units or centimeters.
	/REVERSE: If present, the image intensity will be 
		reversed.
	/ENCAPSULATED: If present, the PostScript image will contain
		no scaling and eject commands, to insert it into a TeX or
		LaTeX Document.
	/PORTRAIT: If present the image will be printed 
		in portrait mode. Default: landscape mode.
 	/PS: If present, the image is written in a PostScript file.
	/LOGO: if present, the text "Institute of Astronomy,
		ETH Zurich" is written in the lower right
		corner of the paper (only in association 
		with /PS).
	/SXL: If present, the image is written in a SIXEL file
	/REDUCEDFMT: with postscript, does not write the 
		title of the image, the scale and the logo.
	XMARKMODE, YMARKMODE: default: 'automatic'. Other value:
		'range'. If set to the latter, the axes are always printed in
		"range" mode, i.e. not pointing at the center of the pixels.
 SIDE EFFECTS:
 	with /PS or /SXL, a file is written otherwise, a window is
	opened.
 SEE ALSO:
	enrad, axistime
 MODIFICATION HISTORY:
	Created in April 1991 by A.Csillaghy
		Institute of Astronomy, ETH Zurich
	Rewritten in October 1991, A.Cs., merging
		PostScript generation and Screen Display.
	Sixel  added in Nov 92, A.Cs
	Reduced annotations (REDUCEDFMT) and ticks length 
		in postscript format added, respectively
		modified in Jun 93, A.Cs
	XMARKMODE, YMARKMODE in oct. 93, A.Csillaghy
	titles display for PostScript changed, Nov, 93, A.Cs
 	THIS IS THE IDL VERSION 5/96
	Encapsulated problems in Sept 96 - ACs
       Displaying image parts is better solved in Jan 98 - ACs

(See display/show_image.pro)


STORE_PLOT

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
	Store_Plot
 PURPOSE:
	Stores plot named "name" in the plot table. If
 	a name  is already in the table, the corresponding
	plot is renamed
	"name_vx" where "x" is a number to identify the plot.
 CATEGORY:
	Data Management
 CALLING SEQUENCE:
	Store_Plot, name [, x,  y [, qualifier [, dxLeft, dyUp
		[, dxRight, dyDown ] ] ]
 INPUTS:
	name: the names of the plots, a string array
	x, y : the points to be plotted, an array of vectors;
	qualifier: the symbol number with which the points should
		be plotted, (arrays of vectors);
	dxLeft, dxRight, dyUp, dyDown: the error of the points
		in x or y direction, (arrays of vectors);
	If more than one plot should be stored in the table, 
	the x-axis of the 2D array is the vector direction.
 COMMON BLOCKS
	Versions, to track the number of versions of the same plot.
	Data, where the plot table is stored.
	Both blocks are opaque.
 SIDE EFFECT:
	An entry is created in the plot table.

(See datatype/store_plot.pro)


STORE_TEXT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Store_Text
 PURPOSE:
	Stores a text in a table
 CATEGORY
	Data Management
 CALLING SEQUENCE:
	Store_Text, x, y, text, sizeText
 INPUTS:
	x, y: the posittion of the thext on the window.
	text: a string
	sizeText: its size, relative to the value of !p.charsize.
 SIDE EFFECT:
	The text table is changed

(See datatype/store_text.pro)


STREP

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       STREP
 PURPOSE:
       Edit a string by position. Precede, Follow, Replace, Delete.
 CATEGORY:
 CALLING SEQUENCE:
       newstring = strep(string,cmd,p,ss,[iflg])
 INPUTS:
       string = string to edit.                               in
       cmd = edit command:                                    in
         'P' = precede position p with substring ss.
         'F' = follow position p with substring ss.
         'R' = replace text starting at position p
               with text from substring ss.
         'D' = delete N characters starting at
               position p.  The calling sequence for
               this command is slightly different:
               IFLG = STREP(string,'D',p,n,[iflg])
               Where n = number of characters to delete.
       p = character position to use.                         in
           0 = first char.  Any number larger
           than the string length = last char.
       ss = substring to use.  For 'D' command                in
            n is used instead of ss.
 KEYWORD PARAMETERS:
 OUTPUTS:
       iflg = 0 for a successful edit,                        out
       iflg = -1 for an error and no change to string.
       newstring = edited string.                             out
 COMMON BLOCKS:
 NOTES:
 MODIFICATION HISTORY:
       Written by R. Sterner, 27 Dec, 1984.
       Converted to SUN 13 Aug, 1989 --- R. Sterner.
       Johns Hopkins University Applied Physics Laboratory.

 Copyright (C) 1984, Johns Hopkins University/Applied Physics Laboratory
 This software may be used, copied, or redistributed as long as it is not
 sold and this copyright notice is reproduced on each copy made.  This
 routine is provided as is without any express or implied warranties
 whatsoever.  Other limitations apply as described in the file disclaimer.txt.

(See gen/strep.pro)


SYMBOLS

[Previous Routine] [Next Routine] [List of Routines]
 NAME
	Symbols
 PURPOSE:
	To change interactively the symbol used to plot,
	and get its name in a string variable
 CATEGORY:
	User interface
 CALLING SEQUENCE
	Symbols [, currSym]
 OUTPUT PARAMETER:
	currSym: name of the symbol chosen
 KEYWORD:
	/INTERACTIVE: if set, the symbol can be
		chosen from a list presented in a menu form. 
		If not set, returns the current symbol name.
 SIDE EFFECTS:
	In interactive mode, changes the value of the system
	variable !psym
 	Use menu and terminal in x - windows, erases
	the display in vt300 terminals.

(See custom/symbols.pro)


TAKE_AWAY

[Previous Routine] [Next Routine] [List of Routines]
 CALLING SEQUENCE: Take_Away, entry
 PURPOSE: Removes from the text  table the text with index "entry"

(See datatype/take_away.pro)


TEXTS_2D

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
 	Texts_2D

(See custom/texts_2d.pro)


TITLES DISPLAY

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Titles Display
 PURPOSE:
	Changes title definitions, tick mark names, inteval
	between ticks, number of tickmarks, style and
	type of plot and plotting symbol.
 CATEGORY:
	User interface
 CALLING SEQUENCE:
	Titles_Display
 SIDE EFFECTS
	The value of some system variables are changed, dependent
	on the option chosen.
 	Menus are used. On vt300 terminals, the
	display is erased

(See custom/overalldisplay.pro)


TRANSFORM QUALIFIERS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	Transform Qualifiers
 PURPOSE:
	Transforms the qualifiers used by PV-WAVE
	with the variable !p.linestyle and !p.psym into
	an mdisp format for writing them in an mdisp file.
 CALLING SEQUENCE:
	result = TransfQualif( qualifier, lineStyle, userSym )
 INPUT PARAMETERS:
	qualifier: The WAVE/IDL plot symbol number (see !p.psym)
	lineStyle: The WAVE/IDL linestyle number (see !p.linestyle)
	userSym: The user-defined symbol number  (see manuals)
 RESULT OF FUNCTION:
 	the mdisp qualifier stored in the mdisp files.
 SEE ALSO:
	http://
 MODIFICATION HISTORY:
	Cretaed: in 1991 by A.Csillaghy, ETHZ.

(See files/transfqualif.pro)


TV_ZOOM

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
 	Tv_Zoom
 PURPOSE:
	Zoom interactively an image:
	1. by defining the corners of the zoom window on the 
		display with the mouse;
	2. By defining the x or y boundaries on the window display
		with the mouse
	3. By entering the x- or y-boundaries on the terminal
		window with the keyboard;
	4. By defining the zoom to be in full resolution around
		the cursor on the display window.
 CATEGORY:
	Image Processing
 CALLING SEQUENCE:
	Tv_Zoom, xAxis, yAxis, xMin, xMax, yMin, yMax
 INPUT ARGUMENTS:
	image: the image to be zoomed
	xMin, xMax, yMin, yMax: The pixel number
		of the part of the image currently displayed.
	xAxis, yAxis: must be given  for the static zooms, 1D
 OUTPUT ARGUMENTS:
	xMin, xMax, yMin, yMax: The new pixel coordinates of
		the zoom boundary.
 KEYWORDS:
	WINNR: to be specified if the image is not displayed
		in the current window.

(See display/tv_zoom.pro)


ZOOM_1D

[Previous Routine] [List of Routines]
 NAME: 
	Zoom_1D
 PURPOSE:
	Gets interactively or statically (numbers read from the
	keyboard) the minimum and maximum value
	for the x or y range of a plot, and sets them.
 CATEGORY:
	1D
 CALLING SEQUENCE:
	Zoom_1D, dir [, xMin, xMax, yMin, yMax ]
 INPUT:
	dir: The direction to zoom
 OUTPUTS:
	xMin, xMax, yMin, yMax: The new limits of the plot
 KEYWORD:
	/STATIC: If present, the zoom boundaries are 
		entered on the terminal window.
 SIDE EFFECT:
	On X terminals., windows are opened.

 MODIFICATION HISTORY:
	Created by A.Csillaghy in May 1991, ETHZ
	Modified for date/time in Nov. 92. A.Cs.

(See display/zoom_1d.pro)