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: Fri Feb 2 17:45:21 2001.


List of Routines


Routine Descriptions

CIRCLE_SYM

[Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : CIRCLE_SYM
               
 Purpose     : Define (part of) a circle as the user plotting symbol.
               
 Explanation : Calls usersym to define an circle as the user symbol
               to be used when psym=8 is specified in (o)plot. The symbol
               will be filled if requested.
               
 Use         : IDL> circle_sym, quad, thick=2, /fill
               IDL> plot,indgen(10),psym=8
    
 Inputs      : quad  - defines which quadrant of the circle to plot.
                       zero or undefined means use full circle.
               
 Opt. Inputs : None
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : thick  - the thickness of the perimeter line
               fill   - means fill the symbol

 Calls       : None

 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Util, plotting
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 21-Apr-94
               
 Modified    : 

 Version     : Version 1, 21-Apr-94

(See .//circle_sym.pro)


CLEANPLOT

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	CLEANPLOT

 Purpose     :	Reset all plotting system variables to the default

 Explanation :	Reset all system variables (!P,!X,!Y,!Z) set by the user which 
		affect plotting to their default values.

		This does NOT reset the plotting device.
		This does not change any system variables that don't control
		plotting.

 Use         :	Cleanplot

 Inputs      :	None

 Opt. Inputs :	None

 Outputs     :	None

 Opt. Outputs:	None

 Keywords    :	None

 Calls       :	None

 Common      :	None

 Restrictions:	
	If user default values for !P, !X, !Y and !Z are different from
	the defaults adopted below, user should change P_old etc accordingly

 Side effects:	
	The system variables that concern plotting are reset
	to their default values.  A message is output for each
	variable changed.   The CRANGE, S, WINDOW, and REGION fields of the
	!X, !Y, and !Z system variables are not checked since these are 
	set by the graphics device and not by the user.    

 Category    :	Utilities, Graphics.

 Prev. Hist. :	
	Written IDL Version 2.3.0  W. Landsman & K. Venkatakrishna May '92
	Handle new system variables in V3.0.0     W. Landsman   Dec 92

 Written     :	W. Landsman and K. Venkatakrishna, GSFC/UIT, May 1992

 Modified    :	Version 1, William Thompson, GSFC, 14 December 1994
			Incorporated into CDS library

 Version     :	Version 1, 14 December 1994

(See .//cleanplot.pro)


CLIPBOX

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : CLIPBOX
               
 Purpose     : To draw a box around the outside of the clip box
               
 Explanation : PLOTS is used to draw a box on the outside of clip box.
               
 Use         : CLIPBOX,THICK
    
 Inputs      : None necessary.
               
 Opt. Inputs : THICK : Thickness of the line. Default 1
               
 Outputs     : None.
               
 Opt. Outputs: None.
               
 Keywords    : None.

 Calls       : None.

 Common      : None.
               
 Restrictions: None.
               
 Side effects: None.
               
 Category    : 
               
 Prev. Hist. : None.

 Written     : SVHH, 26 May 1994
               
 Modified    : 

 Version     : 1 - 26 May 1994

(See .//clipbox.pro)


DEF_UTPLOT

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : DEF_UTPLOT
               
 Purpose     : Setup x-axis for time plot.
               
 Explanation : Adjusts relevant x-axis parameters to plot data on a labelled
               time axis.
               
 Use         : Usually only from within UTPLOT.
    
 Inputs      : None
               
 Opt. Inputs : None
               
 Outputs     : Adjusts current copies of global plotting variables
               
 Opt. Outputs: None
               
 Keywords    : xrange - array of seconds of time, the limits of which are
                        taken to define the plotting range.

               xstyle - if = 1 then fixes range to exactly that requested.

 Calls       :

 Common      : None
               
 Restrictions: None
               
 Side effects: Sets global variables.
               
 Category    : Util, plotting
               
 Prev. Hist. : Based entirely on SET_UTPLOT by Schwartz, Morrison

 Written     : CDS version by C D Pike, RAL, 20-Apr-94
               
 Modified    : 

 Version     : Version 1,  20-Apr-94

(See .//def_utplot.pro)


EXT_RANGE

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : EXT_RANGE()
               
 Purpose     : Calculate extended range for plotting variables.
               
 Explanation : In order to keep plotted values away from the axes of a plot
               this function returns values of the axis limits to be used.
               If max = min of data then range is set to [data-px%,data+px%]
               if min=max=0 then [-1,1] is returned.
               
 Use         : IDL> ax_lim = ext_range(x, px [,y, py, z, pz])
    
 Inputs      : x  - 2-data vector containing data min,max values
               px - percentage by which to extend range of variable
               
 Opt. Inputs : y(z)  - same as x
               py(z) - same as px
               
 Outputs     : Function returns (2 x N) vector where N is the number of
               input variables, giving the extended min,max axis values.
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : None

 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Util, display
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 23-Jun-94
               
 Modified    : 

 Version     : Version 1, 23-Jun-94

(See .//ext_range.pro)


FILL_BOX

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : FILL_BOX
               
 Purpose     : To fill a plot box with one of a selection of patterns.
               
 Explanation : In a line plot fill column from x-bin/2 to x+bin/2 and 
               from y=0 to y with the selected pattern.
               
 Use         : IDL> fill_box,x,y,bin [,patt, /border, ymin=ymin, /bstyle]
    
               
 Inputs      : x    -  the x-axis location of the box
               y    -  the maximum y-axis extent of the box
               bin  -  the width of the box on x-axis

 Opt. Inputs : patt -      0:  solid (default)
                           1:  hatch backward
                           2:  hatch forward
                           3:  vertical
                           4:  horizontal
                           5:  grid
                           6:  cross hatch
                           7:  empty
                     

 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : border  - if present a border is drawn around the filled box.
               ymin    - if present the box is filled from ymin to y otherwise
                         from 0 to y.
               bstyle  - sets line style for border or if requested

 Calls       : None
               
 Restrictions: Plot must have been performed before call to this routine.
               
 Side effects: None
               
 Category    : Utilities, Plotting
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 10-May-1993
               
 Modified    : Added ymin keyword.  CDP 21-Apr-94
               Add empty possibility, add bstyle/outline keywords. 
                                    CDP 14-Jul-94
               Temporarily suspend X-windows mode.  CDP, 18-Jul-94
               (It was crashing my Alpha)

 Version     : Version 3, 14-Jul-94

(See .//fill_box.pro)


FITS2GIF

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	FIT2GIF

 Purpose     :	convert FITS file to a GIF image file

 Explanation :	Reads a FITS file, byte scales it, and
               then writes it to a GIF file.

 Use         :	FITS2GIF,INFILE

 Inputs      :	INFILE = fits file name

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	HEADER = fits file header

 Keywords    :	OFILE = output GIF file name [def = INFILE with .GIF extension]
               TITLE = title for image
               COLOR = color table to load [def= 0 , B/W]
               RED, GREEN, BLUE = optional color vectors to override COLOR
               FRAC  = fraction by which to increase image
                       size in Y-direction to fit title [def = 15%]
               XPOS, YPOS = normalized coordinates for title [def=.1,.9]
               ROTATE = value for rotate (see ROTATE function)
               FLIP = flip image to to bottom
               REVERSE = flip image left to right
               PREVIEW = preview image before writing
               SIG  = select significant range of image

 Calls       :	WRITE_GIF

 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Plotting.

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1.0, 11 November 1994

(See .//fits2gif.pro)


LABEL_CURVE

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	LABEL_CURVE
 Purpose     :	
	Plots a label with a line from it to a curve.
 Explanation :	
	Puts a label on a graph, and draws a line between the label and a
	curve.  A line is extrapolated between the point X0, Y0, and the curve
	XVALS, YVALS.  The procedure XYOUTS is then called to write out the
	label.
 Use         :	
	LABEL_CURVE, X0, Y0, X1, Y1, XVALS, YVALS, LABEL

	X = FINDGEN(101)/100					;Generate curve
	Y = SQRT(X)
	PLOT, X, Y						;Plot it.
	LABEL_CURVE, 0.5, 0.5, 0, 1, X, Y, "Sample curve"	;And label it.

 Inputs      :	
	X0, Y0	 = Position of the label.  The line from the label to the curve
		   starts here.
	X1, Y1	 = Another point along the line, used to determine the
		   direction of the line drawn from the label to the curve.
		   This point may or may not end up on the actual line drawn.
	XVALS	 = Array of X-values of points on the curve.
	YVALS	 = Array of Y-values of points on the curve.
	LABEL	 = Character string label.
 Opt. Inputs :	
	None.
 Outputs     :	
	None.
 Opt. Outputs:	
	None.
 Keywords    :	
	LEFT	 = If set, then the label will be displayed to the left of the
		   point X0, Y0.  Normally the label is displayed to the right.
	COLOR	 = Color to use in drawing the label and the line.
	CHARSIZE = Character size to use in drawing the label.
 Calls       :	
	None.
 Common      :	
	None.
 Restrictions:	
	None.
 Side effects:	
	None.
 Category    :	
	Utilities, Graphics.
 Prev. Hist. :	
	William Thompson, June 1991.  Added keywords LEFT, COLOR, CHARSIZE.
	W.T.T., Jan 1992, changed calling parameters so that X1, Y1 are passed
			  instead of SLOPE.  Also, put small offset between
			  label and line.
	William Thompson, Nov 1992, modified algorithm for getting the relative
		character size.
 Written     :	
	William Thompson, GSFC.
 Modified    :	
	Version 1, William Thompson, 9 June 1993.
		Incorporated into CDS library.
		Added call to CONVERT_COORD so as to be compatible with
			logarithmic plots.
	Version 2, William Thompson, GSFC, 20 October 1993.
		Brought label closer to curve.
 Version     :	
	Version 2, 20 October 1993.

(See .//label_curve.pro)


LABEL_LINE

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	LABEL_LINE
 Purpose     :	
	Plots a horizontal line (w/ or w/o symbols) with a label.
 Explanation :	
	Plots a horizontal line (with or without symbols) with a label next to
	it on a graph.
 Use         :	
	LABEL_LINE, X0, Y0, PSYM, LABEL
 Inputs      :	
	X0, X1	  = X-range of the horizontal line.
	Y0	  = Y-height of the line.
	LABEL	  = Character string label.
 Opt. Inputs :	
	None.
 Outputs     :	
	None.
 Opt. Outputs:	
	None.
 Keywords    :	
	PSYM	  = Plotting symbol to use.  Note that actual lines are drawn
		    only if PSYM is zero or negative.  Positive values of PSYM
		    only cause two plotting symbols to be drawn.
	LINESTYLE = Line style to use.
	LEFT	  = If set, then the label will be displayed to the left of the
		    line.  Normally the label is displayed to the right.
	COLOR	  = Color to use in drawing the label and the symbol.
	CHARSIZE  = Character size to use in drawing the label.
	SYMSIZE	  = Symbol size.
 Calls       :	
	None.
 Common      :	
	None.
 Restrictions:	
	None.
 Side effects:	
	None.
 Category    :	
	Utilities, graphics.
 Prev. Hist. :	
	William Thompson, Jan 1992.
	William Thompson, Nov 1992, modified algorithm for getting the relative
		character size.
	William Thompson, 6 July 1993, added call to CONVERT_COORD so as to be
		compatible with logarithmic plots.
 Written     :	
	William Thompson, GSFC, January 1992.
 Modified    :	
	Version 1, William Thompson, GSFC, 9 July 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 20 October 1993.
		Brought label closer to line.
 Version     :	
	Version 2, 20 October 1993.

(See .//label_line.pro)


LABEL_SYMBOL

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	LABEL_SYMBOL
 Purpose     :	
	Plots a symbol with a label next to it on a graph.
 Explanation :	
	A plotting symbol is drawn on the plot, and then the procedure XYOUTS
	is called to write out the label.
 Use         :	
	LABEL_SYMBOL, X0, Y0, PSYM, LABEL
 Inputs      :	
	X0, Y0	 = Position of the symbol.
	PSYM	 = Plotting symbol to use.
	LABEL	 = Character string label.
 Opt. Inputs :	
	None.
 Outputs     :	
	None.
 Opt. Outputs:	
	None.
 Keywords    :	
	LEFT	 = If set, then the label will be displayed to the left of the
		   point X0, Y0.  Normally the label is displayed to the right.
	COLOR	 = Color to use in drawing the label and the symbol.
	CHARSIZE = Character size to use in drawing the label.
	SYMSIZE	 = Symbol size.
 Calls       :	
	None.
 Common      :	
	None.
 Restrictions:	
	None.
 Side effects:	
	None.
 Category    :	
	Utilities, Graphics.
 Prev. Hist. :	
	William Thompson, Jan 1992.
	William Thompson, Nov 1992, modified algorithm for getting the relative
		character size.
	William Thompson, 6 July 1993, added call to CONVERT_COORD so as to be
		compatible with logarithmic plots.
 Written     :	
	William Thompson, GSFC, January 1992.
 Modified    :	
	Version 1, William Thompson, GSFC, 9 July 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 20 October 1993.
		Brought label closer to symbol.
 Version     :	
	Version 2, 20 October 1993.

(See .//label_symbol.pro)


OCONTOUR

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	OCONTOUR
 Purpose     :	
	This procedure draws contour plots over existing plots.
 Explanation :	
	The contour is done with XSTYLE=5, YSTYLE=5, XRANGE=!X.CRANGE,
	YRANGE=!Y.CRANGE, and /NOERASE.  This makes it overlay on top of the
	existing plot.
 Use         :	
	OCONTOUR, ARRAY
	OCONTOUR, ARRAY, X, Y
 Inputs      :	
	ARRAY	= Two dimensional array to make contour plot of.
 Opt. Inputs :	
	X, Y	= Vectors along X and Y axes.
 Outputs     :	
	None.
 Opt. Outputs:	
	None.
 Keywords    :	
	COLOR	  = Color to use for drawing the contours.
	LEVELS	  = Levels to use for drawing the contours.
	MAX_VALUE = Maximum value to use for drawing the contours.  Pixels with
		    values above MAX_VALUE will be ignored in drawing the
		    contours.
	C_LINESTYLE = Line style to use for drawing the contours.
 Calls       :	
	None.
 Common      :	
	None.
 Restrictions:	
	Array must be two-dimensional.  Dimensions of X and Y must match. 
 Side effects:	
	None.
 Category    :	
	Utilities, Graphics.
 Prev. Hist. :	
	William Thompson	Applied Research Corporation
	May, 1988		8201 Corporate Drive
				Landover, MD  20785

	W.T.T., Mar 1991, modified for IDL version 2.
	W.T.T., Apr 1992, added LINESTYLE keyword.
	W.T.T., Jun 1992, changed LINESTYLE to C_LINESTYLE.
	William Thompson, December 1992, fixed problem with clipping region.
 Written     :	
	William Thompson, GSFC, May 1988.
 Modified    :	
	Version 1, William Thompson, GSFC, 9 July 1993.
		Incorporated into CDS library.
 Version     :	
	Version 1, 9 July 1993.

(See .//ocontour.pro)


OPLOT_STRING

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	OPLOT_STRING
 Purpose     :	
	Overplot an X,Y array using a character string as a symbol.
 Explanation :	
	If /LINE is selected, then OPLOT is called with a plotting symbol of
	zero.  Finally, XYOUTS is called to draw the string at the X,Y
	coordinates.
 Use         :	
	OPLOT_STRING,  [ X, ]  Y, STRING
 Inputs      :	
	Y	= Y array, as in PLOT,Y or PLOT,X,Y
	STRING	= Character string to use as plotting symbol, e.g. "A".  If a
		  number is passed, then it is converted into a string.
 Opt. Inputs :	
	X	= X array, as in PLOT,X,Y
 Outputs     :	
	None.
 Opt. Outputs:	
	None.
 Keywords    :	
	LINE	= If present and non-zero, then connecting lines are drawn
		  between data points.
	COLOR	= Color used for the plotting symbol, and for any connecting
		  lines between data points.
	CHARSIZE= Character size to use for the character plotting symbol.
 Calls       :	
	TRIM
 Common      :	
	None.
 Restrictions:	
	X and Y must be arrays.  STRING must be a character string scalar.
 Side effects:	
	None.
 Category    :	
	Utilities, Graphics.
 Prev. Hist. :	
	W.T.T., May, 1990.
	William Thompson, Nov 1992, modified algorithm for getting the relative
		character size.
 Written     :	
	William Thompson, GSFC, May 1990.
 Modified    :	
	Version 1, William Thompson, GSFC, 9 July 1993.
		Incorporated into CDS library.
		Adjusted vertical spacing to better center characters.
		Fixed bug with logarithmic plots.
 Version     :	
	Version 1, 9 July 1993.

(See .//oplot_string.pro)


OUTPLOT

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : OUTPLOT
               
 Purpose     : To overplot time series data on a plot created by UTPLOT
               
 Explanation : Converts input x-variable to seconds, applies the time offset
               stored in common and overplots data on a plot created by
               UTPLOT.
               
 Use         : IDL> outplot,x,y + normal oplot keywords.
    
 Inputs      : x - the time variable.  May be either an array of CDS internal
                                       time structures (as produced by the 
                                       routine STR2UTC, say) or...
 
                                       a string array of date/times in a 
                                       format translatable by STR2UTC.

               y - the data value to be plotted.

               
 Opt. Inputs : Various keywords.
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : dmy        - if the x-variable is a list of date/time strings
                            this keyword must be used if they are in the
                            format dd-mm(m)-yyyy as opposed to the CDS 
                            'official' format of yyyy-mm-dd

               + other standard oplot keywords

 Calls       : STR2UTC
               UTC2SEC
               SEC2UTC
               VCHECK


 Common      : cds_utplot_com  (for passing of time axis offset to outplot)
               
 Restrictions: Any 2-character year specifications are translated as being
               between 1950 and 2049 (use 4-characters as necessary).

               
 Side effects: None
               
 Category    : Data display, plotting
               
 Prev. Hist. : This is a version of the old OUTPLOT as used on
               Yohkoh and developed by Tolbert, Schwartz and Morrison.
       

 Written     : This version for CDS by C D Pike, RAL, 20-Apr-94
               
 Modified    : 

 Version     : Version 1, 20-Apr-94

(See .//outplot.pro)


PCONVERT

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : PCONVERT()
               
 Purpose     : Convert Plot DEVICE, DATA, NORMAL and PIXEL coordinates
               
 Explanation : Uses the data stored for each Plot Region to calculate
		to and from different coordinate systems.
               
 Use         : DEVICE_X = PCONVERT(PLOTREG,COORD)
    
 Inputs      : PLOTREG : A plot region ID as returned by PSTORE or PFIND

		COORD : The coordinate to be converted. See Restrictions.
               
 Opt. Inputs : None.
               
 Outputs     : Return value.
               
 Opt. Outputs: None.
               
 Keywords    : Y : 	Set to mark that it's the Y coordinate that is
			supplied.

		DEVICE/DATA/
		NORMAL/
		PIXEL  : Set to indicate the type of the supplied coordinate.
			Default is DEVICE.

		TO_DEVICE/TO_DATA/
		TO_NORMAL/
		TO_PIXEL: Set to indicate the type of coordinate to convert
			into. Default is DATA.
		
		LOWER: In converting PIXEL -> other units, it is normally
			assumed that the supplied coordinate is the 
			pixel _number_, i.e., the expected output is the
			value at the center of the pixel. If you are 
			supplying 'real' pixel values (with pixel 
			number 2 lying in the interval <1.0, 2.0>) or if
			you want the coordinates at the left/lower border of
			where the pixel is displayed, use this keyword to
			notify. E.g:

			pconvert(P,0,/pixel,/to_data) yields 0.000
			but:
			pconvert(P,0,/pixel,/to_data,/lower) yields -0.500
			given that the data coordinate system is set up
			to correspond with pixel index numbers.

 Calls       : TRIM()

 Common      : WSTORE
               
 Restrictions: There must exist a data coordinate system for the
		specified plot region, stored with PSTORE()

		When converting to and from PIXEL values it is assumed
		that:

		For one-dimensional data, the plot is generated
		with XRANGE = [MIN(x),MAX(x)],XSTYLE=1, and it is
		assumed that the pixels are placed at constant intervals.

		For two-dimensional data, the plot is generated with
		XRANGE = [MIN(x)-XSTEP,MAX(x)+XSTEP],XSTYLE=1, (and
		vice versa for Y) where XSTEP is the (DATA coordinate) 
		distance between two consecutive pixels.
		This is also necessary to get the axis ticks correct
		on the plot/TV'ed data.
               
 Side effects: None.
               
 Category    : Utilities, Graphics
               
 Prev. Hist. : Combined earlier ppix2dat/ppix2dev .... etc.

 Written     : SV Hagfors Haugan, 30-May-1994
               
 Modified    : SVHH, 1-June-1994 -- Found that IDL sometimes chops a pixel
			when calculating !X.S/!Y.S - fixed.
		SVHH, 25-November-1994 -- The above "fix" removed -- better
			to make sure that IDL is not missing the pixel
			using e.g., plot,[..],position=pos+0.0001,/dev
			--  this (hopefully) keeps IDL from miscalculations
			of !P.clip etc.
			Included bounds on /TO_PIXEL conversions.

 Version     : 1.2, 25-November-1994

(See .//pconvert.pro)


PFIND

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : PFIND()
               
 Purpose     : Find Plot Region ID corresponding to an event.
               
 Explanation : PFIND is used to return the ID of any plot region that
		has ben stored with PSTORE, whose clip coordinates include
		the position of the supplied event's coordinates.

 Use         : PFIND, EVENT [,FOUND]
    
 Inputs      : EVENT : A WIDGET_DRAW event.

 Opt. Inputs : None.
               
 Outputs     : Return value: The Plot Region ID, or -1 if none found.
               
 Opt. Outputs: FOUND: This is set to 1 if a region was found, 0 if not.
               
 Keywords    : PLOT_NUMBER: Set to a named variable to return the plot number
			that was sent to PSTORE().

		CURRENT: Set to indicate that the event only contains information
			on X/Y coordinates, and that the current plot window
			should be searched.

 Calls       : CDSNOTIFY

 Common      : WSTORE
               
 Restrictions: None.
               
 Side effects: None.
               
 Category    : Utility, Graphics
               
 Prev. Hist. : None.

 Written     : Stein Vidar Hagfors Haugan, May 1994
               
 Modified    : 

 Version     : 1, May 1994

(See .//pfind.pro)


PLOT_STRING

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	PLOT_STRING
 Purpose     :	
	Plot an X, Y array using a character string as the symbol.
 Explanation :	
	PLOT is first called with no plotting symbol.  If /LINE is selected,
	then OPLOT is called with a plotting symbol of zero.  Finally, XYOUTS
	is called to draw the string at the X,Y coordinates.
 Use         :	
	PLOT_STRING,  [ X, ]  Y, STRING
 Inputs      :	
	Y	= Y array, as in PLOT,Y or PLOT,X,Y
	STRING	= Character string to use as plotting symbol, e.g. "A".  If a
		  number is passed, then it is converted into a string.
 Opt. Inputs :	
	X	= X array, as in PLOT,X,Y
 Outputs     :	
	None.
 Opt. Outputs:	
	None.
 Keywords    :	
	LINE	= If present and non-zero, then connecting lines are drawn
		  between data points.
	COLOR	= Color used for the plotting symbol, and for any connecting
		  lines between data points.
	CHARSIZE= Character size to use for the character plotting symbol.
	TITLE	= Main plot title, default is !P.TITLE.
	XTITLE	= X axis title, default is !X.TITLE.
	YTITLE	= Y axis title, default is !Y.TITLE.
	XTYPE	= If set, then X axis is logarithmic.
	YTYPE	= If set, then Y axis is logarithmic.
	XRANGE	= Range of data values in the X direction.
	YRANGE	= Range of data values in the Y direction.
 Calls       :	
	TRIM
 Common      :	
	None.
 Restrictions:	
	X and Y must be arrays.  STRING must be a character string scalar.
 Side effects:	
	None.
 Category    :	
	None.
 Prev. Hist. :	
	W.T.T., May, 1990.
	William Thompson, December 1991, added keywords XTYPE and YTYPE.
	William Thompson, May 1992, added keywords XRANGE and YRANGE.
 Written     :	
	William Thompson, GSFC, May 1990.
 Modified    :	
	Version 1, William Thompson, GSFC, 9 July 1993.
		Incorporated into CDS library.
		Added CHARSIZE keyword.
		Adjusted vertical spacing to better center characters.
		Fixed bug with logarithmic plots.
 Version     :	
	Version 1, 9 July 1993.

(See .//plot_string.pro)


PRESTORE

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : PRESTORE
               
 Purpose     : Restore Plot Region data (!P,!X,!Y,!D, and data X/Y size)
               
 Explanation : Prestore is used to restore information about plot regions
		previously saved with PSTORE().
		The !P/!X/!Y/!D system variables are set to the values
		they had at the moment of the call to PSTORE().

		The Plot Region is identified by the plot region ID that
		was returned by PSTORE(), or found by PFIND()

 Use         : PRESTORE,P_REG [,DATAX, DATAY, SCRNX, SCRNY, JX, JY]
    
 Inputs      : P_REG : The plot region ID.

 Opt. Inputs : None.
               
 Outputs     : DATAX/Y : The size of the data in the plot region, as reported
			to PSTORE().

		SCRNX/Y : The size of the display region on the screen (device units)
		
		JX/JY   : !P.CLIP(0) and !P.CLIP(1)
               
 Opt. Outputs: None.
               
 Keywords    : PLOT_NUMBER: Set to a named variable to return the plot number
			that was sent to PSTORE().

 Calls       : SETWINDOW, TRIM()

 Common      : WSTORE
               
 Restrictions: None.
               
 Side effects: None.
               
 Category    : Utility, Graphics
               
 Prev. Hist. : None.

 Written     : Stein Vidar Hagfors Haugan, May 1994
               
 Modified    : 

 Version     : 1, May 1994

(See .//prestore.pro)


PSTORE

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : PSTORE()
               
 Purpose     : Store Plot Region data (!P,!X,!Y,!D, and data X/Y size)
               
 Explanation : Pstore is used to store information about plot regions
		where data is displayed (plotted or TV'ed). 
		The !P/!X/!Y/!D system variables should be set by
		the caller by e.g. plotting with x/yrange set
		to the correct values, with x/ystyle=1.

		More than one plot region per window can be used,
		just supply a unique NUMBER for each plot. If the
		plot is redisplayed later, an identical call to
		PSTORE will store the information on the same plot
		region ID number as the previous one.

		For TV'ed data, note that the correct ranges for the
		axes are [coordinate of leftmost pixel - 1/2 *stepsize,
			  coordinate of rightmost ""   + 1/2 *stepsize]
		For plotted data (i.e., plot,x,y), xrange should
		not be expanded in this way (the first and last data
		points will fall _on_ the border of the plot region).
 
               Equidistant scales are assumed. 

 Use         : plot_region_no = PSTORE(NUMBER,XSIZE,YSIZE)
    
 Inputs      : NUMBER : A user-assigned number identifying the
			plot region(s) within this window.

		X/YSIZE: The size of the displayed data. For 1D data,
			use XSIZE=number of points, and YSIZE=1.
               
 Opt. Inputs : None.
               
 Outputs     : Return value: A Plot Region ID, referring to
			the stored plot region.
               
 Opt. Outputs: None.
               
 Keywords    : CLEAN : Set to remove any earlier plot region definitions
			for this window.

		INIT : Restarts the common block.

 Calls       : None.

 Common      : WSTORE
               
 Restrictions: None.
               
 Side effects: None.
               
 Category    : Utility, Graphics
               
 Prev. Hist. : None.

 Written     : Stein Vidar Hagfors Haugan, May 1994
               
 Modified    : 

 Version     : 1, May 1994

(See .//pstore.pro)


TICK_VEC

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : TICK_VEC
               
 Purpose     : Generate tickmarks for tight displays.
               
 Explanation : Up to a specified number of equidistant tickmarks are returned.
               
 Use         : TICVEC = TICK_VEC(MAXN,MIN,MAX)
    
 Inputs      : MAXN : The maximum number of tick marks allowed.
               MIN  : The minimum value on the axis
		MAX  : The maximum value on the axis
 Opt. Inputs : None.
               
 Outputs     : Returns a vector in the interval [ MIN, MAX ], with up to MAXN entries.
               
 Opt. Outputs: None.
               
 Keywords    : None.

 Calls       : None.

 Common      : None.
               
 Restrictions: None.
               
 Side effects: None.
               
 Category    : Utilities, Graphics
               
 Prev. Hist. : None.

 Written     : Stein Vidar Haugan, June 1994
               
 Modified    : Never.

 Version     : 1, 9 June 1994

(See .//tick_vec.pro)


UTPLOT

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : UTPLOT
               
 Purpose     : To plot time series data with sensible time axis labelling.
               
 Explanation : Uses the routine DEF_UTPLOT to manipulate the IDL plotting
               variables to set up sensible time axis labels and intervals.
               After the setup the data are plotted with a normal call to 
               the routine PLOT.
               
 Use         : IDL> utplot,x,y,timerange=[] + normal plot keywords.
    
 Inputs      : x - the time variable.  May be either an array of CDS internal
                                       time structures (as produced by the 
                                       routine STR2UTC, say) or...
 
                                       a string array of date/times in a 
                                       format translatable by STR2UTC.

               y - the data value to be plotted.

               
 Opt. Inputs : Various keywords.
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : timerange  - a 2-element array each element is either a CDS
                            internal time structure or a CDS date/time string.
                            Note that this time range is still adjusted 
                            slightly for actual plotting unless the keyword
                            xstyle=1 is specified.

               dmy        - if the x-variable is a list of date/time strings
                            this keyword must be used if they are in the
                            format dd-mm(m)-yyyy as opposed to the CDS 
                            'official' format of yyyy-mm-dd

               + other standard plot keywords

 Calls       : DEF_UTPLOT
               STR2UTC
               UTC2SEC
               SEC2UTC
               VCHECK


 Common      : cds_utplot_com  (for passing of time axis offset to outplot)
               
 Restrictions: The MJD of any dates used must be positive.
               Any 2-character year specifications are translated as being
               between 1950 and 2049 (use 4-characters as necessary).

               The time array passed to UTPLOT must be in ascending order
               of time - sort it if necessary!

 Side effects: None
               
 Category    : Data display, plotting
               
 Prev. Hist. : This is a severely trimmed version of the old UTPLOT as used on
               Yohkoh and developed by Tolbert, Schwartz and Morrison.
               I may have trimmed too much, please let me know.

 Written     : This version for CDS by C D Pike, RAL, 20-Apr-94
               
 Modified    : Version 1, C D Pike, RAL, 20-Apr-94
		Version 2, William Thompson, GSFC, 14 November 1994
			Modified .DAY to .MJD
			 , Nathan Rich, NRL/LASCO, Feb 2000    
		Add [XY]GRIDSTYLE keywords

 Version     : Version 2, 14 November 1994

(See .//utplot.pro)


UTSTRING

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : UTSTRING
               
 Purpose     : To overprint a string on a UTPLOT graph
               
 Explanation : Converts input x-variable to seconds, applies the time offset
               stored in common and overprints data on a plot created by
               UTPLOT.
               
 Use         : IDL> utstring, x, y, string
    
 Inputs      : x - the time location.  May be either an array of CDS internal
                                       time structures (as produced by the 
                                       routine STR2UTC, say) or...
 
                                       a string array of date/times in a 
                                       format translatable by STR2UTC.

               y - the data value location of the text

               string - the string to print on the plot
               
 Opt. Inputs : Various keywords.
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : dmy         - if the x-variable is a list of date/time strings
                             this keyword must be used if they are in the
                             format dd-mm(m)-yyyy as opposed to the CDS 
                             'official' format of yyyy-mm-dd

               charsize    - usual character size parameter
               orientation - usual character orientation parameter


 Calls       : STR2UTC
               UTC2SEC
               SEC2UTC
               VCHECK


 Common      : cds_utplot_com  (for passing of time axis offset to outplot)
               
 Restrictions: Any 2-character year specifications are translated as being
               between 1950 and 2049 (use 4-characters as necessary).

               
 Side effects: None
               
 Category    : Data display, plotting
               
 Prev. Hist. : None
       

 Written     : C D Pike, RAL, 3-Feb-95
               
 Modified    : 

 Version     : Version 1, 3-Feb-95

(See .//utstring.pro)


X2GIF

[Previous Routine] [List of Routines]
 NAME:
       x2gif
 PURPOSE:
      read and write X window to gif file
 CALLING SEQUENCE:
      x2gif,file
 INPUTS:
      file = gif file name
 OPTIONAL INPUTS:
      r,g,b = color table values
 OPTIONAL KEYWORDS:
      windex = index of window to be plotted
      xsize,ysize = window size to select [def = whole window]
      title = title for GIF file
      xpos,ypos = position of title
      psize = extra keywords for xyouts
 MODIFICATION HISTORY:     
      DMZ (ARC) Jul'94

(See .//x2gif.pro)