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: Wed Mar 31 06:40:08 1999.


List of Routines


Routine Descriptions

BK

[Next Routine] [List of Routines]
 NAME:
	BK

 PURPOSE:
	This function returns a K-coronal image from the total B image by
	subtracting off the F-coronal model.

 CATEGORY:
	DATA_ANAL

 CALLING SEQUENCE:
	Result = BK(Img,Hdr)

 INPUTS:
	Img:	Array containing an image of total brightness.  It is the output
    		from level 1 processing (for polarizer=clear)
	Hdr:	FITS image header

 OUTPUTS:
	This routine returns an image of the K-brightness.

 MODIFICATION HISTORY:
 	Written by:	R.A. Howard, NRL, 6 Nov 1996

	@(#)bk.pro	1.1 10/04/96 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/bk.pro)


C2_DISTORTION

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

 PURPOSE:
       This function returns distance in arcseconds, given distance
       in pixels.

 CATEGORY:
       DATA_ANAL

 CALLING SEQUENCE:
       RESULT = C2_DISTORTION(data)

 INPUTS:
       Data:        distances in pixels

 OUTPUT:
       Result:      distances in arcseconds

 OPTIONAL OUTPUTS:

       None

 PROCEDURE:
       Given the distance between the sun center and a point (x, y)
       on the CCD, in pixels, this function returns the distance to
       (x, y) in arcseconds.  This function is returns a position
       accurate to within less than one pixel, for all possible
       distances.  However, this function does not work as well for
       points in the same quadrant as the post supporting the
       occulter.

 MODIFICATION HISTORY:
       Written by:     D.A. Biesecker, 24 Nov 1998
                       Ed Esfandiari   24 Nov 1998 - used DISTORTION_COEFFS to
                                                     get the coefficients.

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/c2_distortion.pro)


C2_WARP

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

 PURPOSE:
       This function distorts a C2 image and returns it. 

 CALLING SEQUENCE:
       Result = C2_WARP(Image,Header) 

 INPUTS:
       Image :   C2 image to be distorted
       Header:   C2 image header 


 OUTPUTS:
       The distorted image is returned. Control points at every 32 pixels
       are used for distortion.

 COMMON BLOCKS:
       NONE

 MODIFICATION HISTORY:
               Written  Ed Esfandiari, NRL
   Version 1   aee 19 Nov 1998    Initial release (based on C3_WARP)
               aee 24 Nov 1998    changed get_sun_center call to occltr_cntr.
               dw  10 Dec 1998    Corrected handling of summed images

 KNOWN BUGS:

 1. Subfield images are not handled correctly - dw

 @(#)c2_warp.pro	1.3 12/10/98 - NRL IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/c2_warp.pro)


C3_DISTORTION

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

 PURPOSE:
       This function returns distance in arcseconds, given distance
       in pixels.

 CATEGORY:
       DATA_ANAL

 CALLING SEQUENCE:
       RESULT = C3_DISTORTION(data)

 INPUTS:
       Data:        distances in pixels

 OUTPUT:
       Result:      distances in arcseconds

 OPTIONAL OUTPUTS:

       None

 PROCEDURE:
       Given the distance between the sun center and a point (x, y)
       on the CCD, in pixels, this function returns the distance to
       (x, y) in arcseconds.  This function is returns a position
       accurate to within less than one pixel, for all possible
       distances.  However, this function does not work as well for
       points in the same quadrant as the post supporting the
       occulter.

 MODIFICATION HISTORY:
       Written by:     D.A. Biesecker, 29 September 1996
	10/5/98 by N B Rich	use coefficients from A. Llebaria
       11/24/98 Ed Esfandiari  used DISTORTION_COEFFS to get the coefficients.

 @(#)c3_distortion.pro	1.2 05/14/97 :NRL Solar Physics

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/c3_distortion.pro)


CR_REM_ARRAY

[Previous Routine] [Next Routine] [List of Routines]
Project	: SOHO-LASCO/EIT

Name		: cr_rem_array

Purpose	: Remove cosmic rays from LASCO/EIT images

Explanation	: This procedure removes cosmic rays from an array 
		  previously defined in the idl session by first
		  using statistical techniques to identify regions
		  containing cosmic rays (or stars) and then replaces
		  the pixel values in that region with new values 
		  determined by taking the average of column and row
		  fits across the region based on neighboring points.
		  Statistical noise based upon the quality of the
		  fit to the neighboring data is added to the fit
		  to give realistic local variation for aesthetic
		  purposes.

 Syntax	: result=cr_rem_array(image,telescope,
				BASE_IMAGE=base_image,
				BLOCK=block,
				GROUP_SIZE=groupsize,
				N_SIGMA=n_sigma,
				CX=cx,CY=cy,
				RMIN=rmin,RMAX=rmax,
				RFILE=rfile,
				USE_ROI=use_roi,
				ORDER=order)

 Inputs	: image : The array name of a previously read-in image
		  telescope  :	An integer denoting the telescope used for the
				image. C1=1, C2=2, C3=3, EIT=4

 Keywords	: BASE_IMAGE : 	Image to subtract from the input image array if
			       	differencing is desired
		  BLOCK      : 	Size in pixels of the larger neighborhoods used
			     	to determine the statistical characteristics
				which determine which smaller neighborhoods have
				possible cosmic rays. Default is 32.
		  GROUP_SIZE :	Size in pixels of the smaller neighborhoods
				which are examined for cosmic rays. 
				Default is 8.
		  N_SIGMA    :	Statistical requirement used to determine
				candidate smaller neighborhoods withing a larger
				neighborhood. The maximum value of a given
				smaller neighborhood must deviate 
				from the median value of the means of the 
				smaller	neighborhoods comprising a larger
				neighborhood in order to be considered a 
				candidate.
		  ORDER	     :	The order of the polynomial fit to use to model
				the data in the smaller neighborhoods being 
				corrected. Default is 2. Errors may occur for
				values higher than 3. For smaller neighborhoods
				abutting the occulter or abutting telemetry
				dropout regions, a linear fit is used.

 ***	The program is designed to handle the occulter and vignetted outer edge
	of the circular FOV of the instruments. The high intensity gradients
	at these edges leads to poor cosmic ray correction when candidate 
	pixel groups are identified there. The following keywords should be
	included when using this feature.
		  CX,CY      : 	Coordinates of the center of the occulter in
				the image. Only required if the occulter region
				is to be ignored in the removal process. This
				is done in processing LASCO images to avoid 
				problems arising from having large regions
 				with values drastically different
				from neighboring valid data. In EIT images it is
				done to avoid processing disk data because some
				bright features on the disk are
				indistinguishable from cosmic rays using these
				statistical methods.
		  RMIN,RMAX  :	The minimum and maximum radial values to
				consider for the processing. The minimum value
				should be slightly larger than the radius of 
				the occulter in the image. The maximum should
				be slightly smaller than the radius of the
				unvignetted field of view. IF RMIN is defined
				but RMAX is not, the entire field of view
				outside RMIN will be corrected.
		  RFILE      :  The name of a file containing the radial
				distance of each pixel in the image from
				the center coordinates CX, CY. If the file
				does not exist, it will be generated. If the
				file exists, but the size of the image or the 
				center coordinates have changed, the file is
				regenerated. 
		  USE_ROI     : Sometimes one might want to exclude a region from
				cosmic ray removal processing, such as when a bright
			 	star or a comet appears in the field of view. To
				do this, set this keyword and then use the mouse
				buttons to set the ROI (=region of interest). The left
				mouse button draws line segments, the middle button
				removes them if necessary, and the right button 
				closes the region. See the description of DEFROI
				in the IDL manual.

 Calls		: generate_r_matrix

 Restrictions	:

 Side effects	:

 Category	: Image processing

 Prev. Hist.	: None

 Written	: Norm Moulton, NRL, Sept. 1996

 Modified	:

 Version	:

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/cr_rem_array.pro)


CR_REM_FILE

[Previous Routine] [Next Routine] [List of Routines]
Project	: SOHO-LASCO/EIT

Name		: cr_rem_file

Purpose	: Remove cosmic rays from LASCO/EIT images

Explanation	: This procedure removes cosmic rays from a named FITS
		  file by first using statistical techniques to identify 
		  regions containing cosmic rays (or stars) and then replaces
		  the pixel values in that region with new values 
		  determined by taking the average of column and row
		  fits across the region based on neighboring points.
		  Statistical noise based upon the quality of the
		  fit to the neighboring data is added to the fit
		  to give realistic local variation for aesthetic
		  purposes.

 Syntax	: result=cr_rem_file(image_file,telescope,
				BASE_IMAGE=base_image_file,
				BLOCK=block,
				GROUP_SIZE=groupsize,
				N_SIGMA=n_sigma,
				CX=cx,CY=cy,
				RMIN=rmin,RMAX=rmax,
				RFILE=rfile,
				USE_ROI=use_roi,
				ORDER=order)

 Inputs	: image_file : The file name of an image (FITS)
		  telescope  :	An integer denoting the telescope used for the
				image. C1=1, C2=2, C3=3, EIT=4

 Keywords	: BASE_IMAGE : 	Filename of image to subtract from the input 
				image array if differencing is desired.
		  BLOCK      : 	Size in pixels of the larger neighborhoods used
			     	to determine the statistical characteristics
				which determine which smaller neighborhoods have
				possible cosmic rays. Default is 32.
		  GROUP_SIZE :	Size in pixels of the smaller neighborhoods
				which are examined for cosmic rays. 
				Default is 8.
		  N_SIGMA    :	Statistical requirement used to determine
				candidate smaller neighborhoods withing a larger
				neighborhood. The maximum value of a given
				smaller neighborhood must deviate 
				from the median value of the means of the 
				smaller	neighborhoods comprising a larger
				neighborhood in order to be considered a 
				candidate.
		  ORDER	     :	The order of the polynomial fit to use to model
				the data in the smaller neighborhoods being 
				corrected. Default is 2. Errors may occur for
				values higher than 3. For smaller neighborhoods
				abutting the occulter or abutting telemetry
				dropout regions, a linear fit is used.

 ***	The program is designed to handle the occulter and vignetted outer edge
	of the circular FOV of the instruments. The high intensity gradients
	at these edges leads to poor cosmic ray correction when candidate 
	pixel groups are identified there. The following keywords should be
	included when using this feature.
		  CX,CY      : 	Coordinates of the center of the occulter in
				the image. Only required if the occulter region
				is to be ignored in the removal process. This
				is done in processing LASCO images to avoid 
				problems arising from having large regions
 				with values drastically different
				from neighboring valid data. In EIT images it is
				done to avoid processing disk data because some
				bright features on the disk are
				indistinguishable from cosmic rays using these
				statistical methods.
		  RMIN,RMAX  :	The minimum and maximum radial values to
				consider for the processing. The minimum value
				should be slightly larger than the radius of 
				the occulter in the image. The maximum should
				be slightly smaller than the radius of the
				unvignetted field of view. IF RMIN is defined
				but RMAX is not, the entire field of view
				outside RMIN will be corrected.
		  RFILE      :  The name of a file containing the radial
				distance of each pixel in the image from
				the center coordinates CX, CY. If the file
				does not exist, it will be generated. If the
				file exists, but the size of the image or the 
				center coordinates have changed, the file is
				regenerated. 
		  USE_ROI     : Sometimes one might want to exclude a region from
				cosmic ray removal processing, such as when a bright
			 	star or a comet appears in the field of view. To
				do this, set this keyword and then use the mouse
				buttons to set the ROI (=region of interest). The left
				mouse button draws line segments, the middle button
				removes them if necessary, and the right button 
				closes the region. See the description of DEFROI
				in the IDL manual.

 Calls		: generate_r_matrix

 Restrictions	:

 Side effects	:

 Category	: Image processing

 Prev. Hist.	: None

 Written	: Norm Moulton, NRL, Sept. 1996

 Modified	:

 Version	:

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/cr_rem_file.pro)


EIT_TIME_CORRECTION

[Previous Routine] [Next Routine] [List of Routines]
 Name:
    EIT_TIME_CORRECTION

 Purpose:
    To interpolate or extrapolate the most recent OBE - LOBT time difference
	from the values in TIME_DIFFERENCE_DB.

 Input Parameters:
    None

 Output:
    None

 Keywords:
    CORRECTION_STRING	-	Used to return an ASCII string with the
				time difference.
    INTERP             -       Turn on interpolation

 Calling Sequence:
    dt = EIT_TIME_CORRECTION(obe_time, CORRECTION_STRING = CORRECTION_STRING)
 
 Restrictions:
    If large jumps in the difference occur between realtime contacts, this
	routine could return inaccurate values.

 History:
    1997 April 17 -	D.M. fecit.
    1997 August 27 -	Added CORRECTION_STRING keyword		D.M. fecit.
    1999 Feb 7   - Added binary search and indexing to speed finding
                   the right record, created unix version for Solaris -  DW
    1999 Feb 8   - Added INTERP keyword - IMPORTANT due to time offset jumps
                   during out of contact periods, interpolation can produce
		    totally bogus answers - DW

 @(#)eit_time_correction.pro	1.2 02/09/99 NRL IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/eit_time_correction.pro)


ELTHEORY

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

 PURPOSE:
	This procedure computes various properties of the Thomson scattered
	light by an electron in the solar corona.

 CATEGORY:
	CME

 CALLING SEQUENCE:
	ELTHEORY, Rin, T, R, B, Bt, Br, Pol

 INPUTS:
	Rin:	Impact Distance (in solar radii)
	T:	Angle from plane of sky (in degrees)

 OUTPUTS:
	R:	Distance of electron from sun center (in solar radii)
	B:	Total Brightness for one electron at R,T
	Bt:	Tangential Brightness for one electron at R,T
	Br:	Radial Brightness for one electron at R,T
	Pol:	Polarization for one electron at R,T

 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 RESTRICTIONS:
	None

 PROCEDURE:
	This procedure uses the Thomson electron scattering equations 
	to compute the total brightness, the radial and tangential 
	components and the polarization associated with one electron.
	Limb darkening of 0.63 is included.
	

 MODIFICATION HISTORY:
	Created IDL version 16 May 1996, RA Howard, NRL
	RAH 11/25/98	Added common block for VDH coefficients

	@(#)eltheory.pro	1.3 11/28/98 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/eltheory.pro)


FIND_CHORD_CTR

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

 PURPOSE:
	Find the center of the occulting disk by the method of chords

 CATEGORY:
	LASCO Analysis

 CALLING SEQUENCE:
	FIND_CHORD_CTR, Img, Xcen, Ycen

 INPUT PARAMETERS:
	Img:	The 2-D image

 KEYWORDS:
	INTEN:	Threshold intensity (Default = 1000)
	INTERP:	Flag to perform interpolation (Should be set)
	PYLON:	Flag to avoid pylon (should be used for C2/C3)

 OUTPUT PARAMETERS:
	Xcen:	The value of the center in X
	Ycen:	The value of the center in Y

 OPTIONAL OUTPUT PARAMETERS: 	None

 COMMON BLOCKS:
	Used for debug

 SIDE EFFECTS:
	None

 RESTRICTIONS:

 PROCEDURE:
	Finds the occulter boundary by finding the row and column 
	numbers where the image exceeds a threshold intensity.

	Uses the center of the image as the initial center of the occulter

	If the keyword, Inten, is not present, the default is 1000

	For each row, the column numbers for the left and right boundaries 
	of the chord are computed.  If the optional input parameter, Interp, 
	is present then linear interpolation is used to find a fractional 
	column number.  Otherwise the pixel number of the first pixel 
	exceeding the threshold is used.  The column center is then the 
	midpoint of the chord.  The process is stopped when two boundaries, 
	separated by at least 50 pixels, cannot be found. Then the average 
	of all rows is computed to find the average column number.

	The process is repeated for each column to find the average row number.

 MODIFICATION HISTORY:		Written RA Howard, NRL, 20 December 1995
	V1	RAH	Initial Release
	V2	RAH	16 Feb 96, Added rejection of outliers to average
	V3	RAH	18 Mar 96, Corrected 1 pixel error in right/top edge 

	@(#)find_chord_ctr.pro	1.1 10/04/96 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/find_chord_ctr.pro)


FIX2IMGS

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

 PURPOSE:
	Construct a single image from 2 identical images which might have missing lines 

 CATEGORY:
	DATA_ANAL

 CALLING SEQUENCE:
	FIX2IMGS, A,Ha,B,Hb,CC,Hc

 INPUTS:
	A:	Image #1
	Ha:	Image #1 Header
	B:	Image #2
	Hb:	Image #2 Header

 OUTPUTS:
	CC:	Output image
	Hc:	Output image header

 RESTRICTIONS:
	The two input images must be identical except for missing lines.
	They should be created by reading out the same image to TM using
	the debug readout mode. 

 PROCEDURE:
	The debug readout mode on LASCO does not block the image.  Therefore
	missing pixels will cause the rest of the image to be shifted.  This
	is difficult to analyze.  This procedure calls FIX_CONTROL to
	correct the two images individually and then searches line by line in
	the two images to find matches.  If a match is not found, it searches
	ahead to find the next match and adds the missing lines to the
	the output image.  A match is defined to be two consecutive 
	lines with identical values.

 EXAMPLE:
	a = LASCO_READFITS(name1,ha)
	b = LASCO_READFITS(name2,hb)
	FIX2IMGS,a,ha,b,hb,c,hc

 MODIFICATION HISTORY:
 	Written by:	R.A. Howard, NRL, Mar 29, 1999

	@(#)fix2imgs.pro	1.1 03/31/99 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/fix2imgs.pro)


FIX_CONTRO

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

 PURPOSE:
	Fixes the continuous readout images that are transmitted in debug mode

 CATEGORY:
	DATA_ANAL

 CALLING SEQUENCE:
	Result = FIX_CONTRO (A,Ha)

 INPUTS:
	A:	Image array
	Ha:	Image Header

 OUTPUTS:
	This function returns an image which has only good rows

 RESTRICTIONS:
	The input image should be created by reading out to TM using the 
	debug readout mode. It must have underscan and overscan pixels.

 PROCEDURE:
	The underscan and overscan pixels are assumed to be those that
	have intensities that are no more than 20 DN above the offset
	bias.  

	The input array is reformed into a singly dimensioned array.
	The indices of all of the pixels less than 20 DN are found.
	Then the complete lines are found by finding those indices that
	are separated by 1026 points, which is the length of the imaging
	array (1024) plus 2.  Then the beginning of the underscan is
	set as that point -18 pixels and the end of the line is set
	from the naxis1 variable in the header.

 EXAMPLE:
	a = LASCO_READFITS(name,ha)
	Result = FIX_CONTRO(a,ha)

 MODIFICATION HISTORY:
 	Written by:	R.A. Howard, NRL, Mar 29, 1999

	@(#)fix_contro.pro	1.1 03/31/99 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/fix_contro.pro)


FPC1_3IMG

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

 PURPOSE:
	To calculate LASCO C1 emission line signal. (Note: the output is in
	the same units as the input images. No photometric correction is
	made.)

 CALLING SEQUENCE:
	ee = fpc1_3img(ref1,ref2,img,cref1,cref2,cimg)	

 INPUTS:
	ref1	first open-door off-line image
	ref2	second open-door off-line image
	img	open door on-line image
	cref1	first closed-door off-line image 
	cref2	second closed-door off-line image
	cimg	closed door on-line image

 OPTIONAL INPUTS:
       none

 KEYWORD PARAMETERS
	z    this is an array of the form [xmin,ymin,xmax,ymax] which specifies
            the two corners of a particular rectangle in the images. It will be
            assumed that this region contains no average emission line signal,
            and if any is detected it will be assumed that this is due to an
            exposure error in the on-line image (img). Accordingly, the on-line image
            will be multiplied by a constant such that the average emission
            signal over this region will be exactly zero. If this keyword is
            omitted, all images will be assumed to be correct, and no exposure
            correction will be made.

 OUTPUTS:
	Returns an image consisting of only that part of the signal due to
	the emission line irradiance. Note that this signal will not be proportional
       to the irradiance, but needs to be further corrected by the instrument
       response in order to obtain photometrically correct results.

 OPTIONAL OUTPUTS:
	none

 METHOD

 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 RESTRICTIONS:
	All six input images must be of the same size and at the same location
	on the CCD. Images ref1 and cref1 form an open and closed door image
	pair and must have the same command wavelength. The same is true
	of the ref2 and cref2 image pair, and the img and cimg image pair. 
	All images must be corrected for offset bias and exposure.

 MODIFICATION HISTORY:
	V 1.00 - written by Paul Reiser February 23, 1998 (2/23/98)

 CONTACT:	Paul Reiser	reiser@susim.nrl.navy.mil
		Dennis Socker	socker@lambda.nrl.navy.mil

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/fpc1_3img.pro)


FPC1_WCW

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

 PURPOSE:
	To determine the C1 instrument function central wavelength
	as a function of pixel position (x,y), command wavelength
	(wc) and FP order (m).

 CALLING SEQUENCE:
	WCW(x,y,wc,[m],[\air])

 INPUTS:
	x  - x position(s) (pixels on a 1024x1024 image)
	y  - y position(s) (pixels on a 1024x1024 image)
	wc - command wavelength(s) (Angstroms)

 OPTIONAL INPUTS:
	m  - FP order(s). If zero or unspecified, a nominal order
	     is assumed.

 KEYWORD PARAMETERS:
	AIR	if this keyword is set, the returned wavelength is
		for air, otherwise it is for vacuum. (Note: the
		NSO[1] solar spectrum is given in air wavelengths)

 OUTPUTS:
	Returns the C1 instrument function central wavelength
	in Angstroms. The table below shows the region of 
	applicability for each blocking filter The first column
	is the blocker ID and the second column is the nominal 
	wavelength of the feature which was measured to determine
	the wavelength scale. The next two columns are the 
	minimum and maximum wavelength of the region over which
	the wavelength correction is valid. The last column is
	the std. deviation of the absolute error in wavelength
	when using this method. This error holds only at the
	nominal wavelength. It increases with distance from
	the nominal wavelength to double its value at
	the boundaries of the region of validity. The relative
	error in wavelength from scan to scan is on the
	order of 0.02 A. All wavelengths in the table below are
	in Angstroms.

	Blocker	  Nom.     Min.    Max.   Error	
	  ID	  wav.     wav.    wav.

	FeXIV	  5302.27  5300    5318   0.03
	CaXV	  5693.09  5690    5710   0.07
	NaI	  5891.59  5885    5907   0.08
	FeX	  6373.12  6372    6390   0.05
	H Alpha	  6564.63  6562    6583   0.04

 OPTIONAL OUTPUTS:
	If the order was not specified on input, the nominal order
	used will be returned in the m parameter.

 METHOD
	The central wavelength calibration was determined by comparing
	in-flight FP scans of the photospheric Fraunhofer spectrum
	with the NSO[1] solar spectrum. 

	The FP instrument function was also determined using
	in-flight measurements. The optimum instrument function was
	found to be a Voigt profile.

	A paraboloid of revolution was fitted to the 
	measured variation of wavelength with position in the image.

	The above steps were carried out for each of the five
	blocking filters.

 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 RESTRICTIONS:
	In order to increase speed, x, y, and wc may be arrays. There
	are four acceptable situations: 
       1. x,y, and wc are all scalar
       2. x and y are arrays of the same type, and wc is a scalar
       3. x and y are scalars and wc is an array
       4. x,y and wc are arrays of the same type

       A further restriction is that wc must lie inside a blocker
       passband as described above in the output section.

 MODIFICATION HISTORY:
	V 1.00 - written by Paul Reiser September 26, 1997 (9/26/97)
       V 1.10 - PR 1/8/98  Allow arrays for pixel positions

 CONTACT:	Paul Reiser	reiser@susim.nrl.navy.mil
		Dennis Socker	socker@lambda.nrl.navy.mil

 REFERENCES
	1. "Solar Flux Atlas From 296 to 1300 nm", National Solar
	Observatory Atlas No. 1, June 1984.

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/fpc1_wcw.pro)


FPC1_WWC

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

 PURPOSE:
	Given a true wavelength (w) and a pixel position on
	a LASCO C1 image (x,y) and an order (m), the function
	will return the command wavelength for the FP in order
	that the true wavelength be transmitted by the FP
	at that position.

 CATEGORY:
	???

 CALLING SEQUENCE:
	fpc1_wwc,x,y,w,[m],[AIR=air]

 INPUTS:
	x - x position (pixels)
	y - y position (pixels)
	w - true wavelength (Angstroms)

 OPTIONAL INPUTS:
	m  - the FP order. If none is specified, a nominal order
	     is assumed.

 KEYWORD PARAMETERS:
	AIR	if this keyword is set, the input wavelength is
		taken as an air wavelength, otherwise it is for
		vacuum.

 OUTPUTS:
	The value returned is the command wavelength for the image
	such that the FP transmits the given true wavelength at the
	given position and order. If the order was not specified on
	input, the nominal order used will be returned in the m
	parameter. The table below shows the region of applicability
	for each blocking filter The first column 
	is the blocker ID and the second column is the nominal 
	wavelength of the feature which was measured to determine
	the wavelength scale. The next two columns are the 
	minimum and maximum wavelength of the region over which
	the wavelength correction is valid. The last column is
	the std. deviation of the absolute error in wavelength
	when using this method. This error holds only at the
	nominal wavelength. It increases with distance from
	the nominal wavelength to double its value at
	the boundaries of the region of validity. The relative
	error in wavelength from scan to scan is on the
	order of 0.02 A. All wavelengths in the table below are
	in Angstroms.

	Blocker	  Nom.     Min.    Max.   Error	
	  ID	  wav.     wav.    wav.

	FeXIV	  5302.27  5300    5318   0.03
	CaXV	  5693.09  5690    5710   0.07
	NaI	  5891.59  5885    5907   0.08
	FeX	  6373.12  6372    6390   0.05
	H Alpha	  6564.63  6562    6583   0.04

 OPTIONAL OUTPUTS
	If the order was not specified on input, the nominal
	order used will be returned in the m parameter.
	
 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 RESTRICTIONS:
	This procedure may not converge unless the input order
	is close to the nominal order.

 MODIFICATION HISTORY:
	Version 1.00 written by Paul Reiser July 22, 1997.
       Version 1.10 PR 1/8/98 allows array x and y

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/fpc1_wwc.pro)


FP_IWCW

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

 PURPOSE:
	Determine C1 instrument function central wavelength map array
	for a monochromatic image.

 CATEGORY:
	image reduction routines

 CALLING SEQUENCE:
	w = fp_iwcw(im,h,[x],[y],[xps],[yps],[/air])

 INPUTS:
	im - primary or secondary c1 monochromatic image array

		A primary monochromatic image array is herein defined as an
		IDL LASCO/C1 image array whose pixel dimensions, position
		and extent in the field of view match those of the original
		telemetered and rectified image array. It may be a subfield
		of the c1 CCD. 

		A secondary monochromatic image array is herein defined as
		an IDL LASCO/C1 image array whowse pixel dimensions and/or
		extent in the field of view do not match those of the
		original telemetered and rectified image array. 

	h - header associated with an original telemetered c1 monochromatic
	    image array (im) 

 OPTIONAL INPUTS: (??? no, these are outputs ???)

	(x,y) - the position of the lower left corner of the array (im)
	        in the telemetered image array. (Of the 4 corners of
		the image rectangle, x and y are the minimum values
		of the horizontal and vertical coordinates respectively) 

	(xps,yps) - x and y dimension pixel count multiplier of the input
		image array 
		im with respect to the telemetered array

 KEYWORD PARAMETERS:

	AIR	if this keyword is set, air wavelength in angstroms is
		returned, otherwise vacuum wavelength in angstroms is
		returned. 

 OUTPUTS:

	Returns an array (wim) with the same dimensions as arry im
	containing the calibrated instrument function central wavelengths
	(in Angstroms) corresponding to each pixel of the associated C1 
	monochromatic image array im.

 OPTIONAL OUTPUTS
	none
	
 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 RESTRICTIONS:
	None 

 PROCEDURE:

 MODIFICATION HISTORY:
	1997 Aug 12 Written by Paul Reiser 

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/fpc1_iwcw.pro)


GETBKGIMG

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - LASCO/EIT
                   
 Name        : GETBKGIMG
               
 Purpose     : Get background image for given telescope
               
 Explanation : This routine returns a model image (stray light and/or
		f-corona) for a given telescope, date, image size.
               
 Use         : bkgimg = GETBKGIMG(hdr, model_hdr)
    
 Inputs      : None.
               
 Opt. Inputs : ops	Start time of display in TAI.
               
 Outputs     : None.
               
 Opt. Outputs: None.
               
 Keywords    : use /FFV to return full field of view model (1024x1024 image)
		use /ALL to return yearly minimum otherwise closest monthly minimum images
		are interpolated for given date
		use /ANY_YEAR to return monthly minimum over multiple years.

 Calls       : 

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

 Written     : Scott Paswaters, NRL
               
 Modified    : 06 Oct 1997 SEP - Added year independent option /ANY_YEAR
		28 Jul 1998 NBR - added time to tai computation; comment out
				STRPUT lines in interpolation section
		23 Sep 1998 NBR - finish repair to year difference problem in interpolation
		29 Sep 1998 NBR - for /FFV, rebin result to size of input image
		 5 Oct 1998 NBR - add call for level_1 images
		13 Nov 1998 NBR - Fix year difference repair
		25 Mar 1999 NBR - Do not interpolate if DATE_OBSs are equal

 Version     : Version 0.1, December 5, 1994

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/getbkgimg.pro)


GET_IMG_CENTER

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

 PURPOSE:
       This function returns the center of the image relative to the
	sun center in arc seconds.

 CATEGORY:
       LASCO_ANALYSIS

 CALLING SEQUENCE:
       Result = GET_IMG_CENTER (Hdr)

 INPUTS:
       Hdr:    A LASCO header structure for the image that the center is desired

 OPTIONAL INPUTS:
	Pixel:	If set the values are returned in pixels rather than arc seconds

 OUTPUTS:
       This function returns the image center as a two element array
       in which the first element is the azimuthal distance from sun
	center in arc seconds and the second element is the elevation
	distance from sun center.

 RESTRICTIONS:
       Returns the center for the readout port "C"

 PROCEDURE:
       Returns values that have been determined by other means and put
       into a table here.

 MODIFICATION HISTORY:LASCO_FITSHDR2STRUCT(hdr)
       Written by:     R.A. Howard, NRL, 11 Feb 1997
       Updated:

	@(#)get_img_center.pro	1.2 07/11/97 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/get_img_center.pro)


GET_ROLL_OR_XY

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

 PURPOSE:
       This function returns the roll angle  of solar north in radians or
       the sun center position (stars, median, or avg) as a 2 element array 
       {sun_center,xcen:xcen,ycen:ycen} (pixels).

 CATEGORY:
       LASCO_ANALYSIS

 CALLING SEQUENCE:
       Result = GET_ROLL_OR_XY (Hdr, Roll_xy)

 INPUTS:
       Hdr:      A LASCO header structure
       Roll_xy: 'ROLL' :  return the roll angle
                'CENTER': return the sun center

 OUTPUTS:
       Roll angle in radians OR sun center {xcen,ycen} in pixels.

 OPTIONAL KEYWORD INPUTS:
       MEDIAN: Return the running median roll angle or sun center.
                   Result = GET_ROLL_OR_XY (Hdr, 'ROLL', /MEDIAN)
                   Result = GET_ROLL_OR_XY (Hdr, 'CENTER', /MEDIAN)
       STAR:   Return the roll angle or sun center computed from the stars.
                   Result = GET_ROLL_OR_XY (Hdr, 'ROLL', /STAR)
                   Result = GET_ROLL_OR_XY (Hdr, 'CENTER', /STAR)
       AVG:    Return the median average roll angle or sun center from an 
               average file (used as default if MEDIAN or STAR keyword is 
               set but daily time files do not contain the needed information
               for the image).
                   Result = GET_ROLL_OR_XY (Hdr, 'ROLL', /AVG)
                   Result = GET_ROLL_OR_XY (Hdr, 'CENTER', /AVG)
       SILENT: Stop printing of warning and informational messages

 OPTIONAL IO:
       source: On output, returns one of the following sources used to 
               get the sun center or roll angle: STAR, AVG, MEDIAN, ATDEF.


 PROCEDURE:
	Determines the solar north roll angle or the sun center from the 
	1. Daily time files (if STAR or MEDIAN keyword is set) as defined in 
          the c?_rollxy_yymmdd.dat format files.
         OR
       2. Average files (if no keyword or AVG keyword is set) as defined in
          the c?_avg_rollxy_yyyymmdd[_yyyymmdd].dat format files.
	3. SO_AT_DEF*.FITS files in $ANCIL_DATA/attitude/definitive

 MODIFICATION HISTORY:
       Written by:     98/10/06  Ed Esfandiari 
                       98/10/27  Ed Esfandiari - added AVG keyword. 
                       98/12/11  Ed Esfandiari - now it returns the source
                                                 used (src: AVG,MEDIAN,STAR,
                                                 NONE) as an optional parameter.

                       99/01/12 D. Wang - Added SILENT keyword
			99/03/25 N. Rich - Use AT_DEF files for roll if AVG file not found

 @(#)get_roll_or_xy.pro	1.10 01/13/99 : NRL LASCO IDL Library

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/get_roll_or_xy.pro)


GET_SEC_PIXEL

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

 PURPOSE:
	This function returns arc seconds per pixel.

 CATEGORY:
	LASCO_ANALYSIS

 CALLING SEQUENCE:
	Result = GET_SEC_PIXEL (Hdr)

 INPUTS:
	Hdr:	A LASCO header structure

 OPTIONAL INPUTS:
       FULL=FULL:      If the image has been placed in a square field. Ex:
                   Result = GET_SEC_PIXEL (Hdr, FULL=1024)
                   Result = SEC_PIXEL (Hdr, FULL=512)

 OUTPUTS:
	arc seconds per pixel


 PROCEDURE:
	Returns values that have been determined by other means and put
	into a table here.

 MODIFICATION HISTORY:
 	Written by:	S.E. Paswaters, 30 August 1996
       Updated:
                       96/10/04  SEP  Changed FULL to allow different sizes.
			98/08/28  RAH  Mods for MLO/MK3

	@(#)get_sec_pixel.pro	1.4 12/18/98 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/get_sec_pixel.pro)


GET_SOLAR_RADIUS

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

 PURPOSE:
       This function returns the radius of the sun in arc seconds.

 CATEGORY:
       LASCO_ANALYSIS

 CALLING SEQUENCE:
       Result = GET_SOLAR_RADIUS (Hdr)

 INPUTS:
       Hdr:    A LASCO header structure

 OUTPUTS:
       solar radius in arc seconds


 PROCEDURE:
	Determines the solar radius from the position of SOHO as
	defined in the *.cdf format files.

 MODIFICATION HISTORY:
       Written by:     D.A. Biesecker, 12 September 1996
	General routine taken from POINTING3.PRO written by S.P. Plunkett
       Modified 30 Sept. 1996 by DAB: return default values of the solar
        radius if calls to read the SOHO orbit files fail.
	RA Howard 5/20/97	Added keyword PIXEL to return solar radius in pixels
	NB Rich 8/25/98		Use detector instead of telescop to allow MVIHDR
	NB Rich 12/16/98	Use get_orbit_cdf2 instead of get_orbit_cdf

	@(#)get_solar_radius.pro	1.8 12/18/98 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/get_solar_radius.pro)


GET_SOLAR_ROLL

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

 PURPOSE:
       This function returns the roll angle of solar north in radians.
       1. If /STAR keword is set, it returns the roll angle computed from
          the stars from the daily time files.
       2. If /MEDIAN keyword is set, it returns the running median
          roll angle from the daily time files.
       3. If /AVG keyword is set (or if no /STAR, /MEDIAN, or /AVG
          keyword is set), it returns the median average roll angle from 
          an average file.
       4. IF /STAR or /MEDIAN keyword is used but the daily time files
          do not contian the needed information, the average files will
          be used instead.

 CATEGORY:
       LASCO_ANALYSIS

 CALLING SEQUENCE:
       Result = GET_SOLAR_ROLL (Hdr)

 INPUTS:
       Hdr:    A LASCO header structure

 OPTIONAL KEYWORD INPUTS:
       MEDIAN: Return the running median roll angle from the daily time files.
                   Result = GET_SOLAR_ROLL (Hdr, /MEDIAN)
       STAR:   Return the roll angle computed from the stars from the daily
               time files.
                   Result = GET_SOLAR_ROLL (Hdr, /STAR)
       AVG:    Return the average roll angle for a period to which the image
               belongs from an average file. This is used as default if no
               MEDIAN, STAR, or AVG keyword is used.
                   Result = GET_SOLAR_ROLL (Hdr, /AVG) or
                   Result = GET_SOLAR_ROLL (Hdr)

 OUTPUTS:
       roll angle in radians

 CALLED PROGRAMS:
       GET_ROLL_OR_XY

 PROCEDURE:
	Determines the solar north roll angle from the time files or the
       average files.

 MODIFICATION HISTORY:
       Written by:     
       Updated:        98/10/06  AEE  Changed to use the c?_rollxy_yymmdd.dat
                                      files instead of returning 0.0 (it still
                                      returns zero if the file is not found
                                      or if found it does not contain info for
                                      the image) by calling get_roll_or_xy pro.
                       98/10/28  AEE  Added AVG keyword and made it default.
                       98/12/11  AEE  now returns the source used (STAR,MEDIAN,
                                      AVG,NONE) as a parameter. 

	@(#)get_solar_roll.pro	1.1 05/14/97 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/get_solar_roll.pro)


GET_SUN_CENTER

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

 PURPOSE:
       This function returns a 2 element array of the column and row 
       numbers as the sun center.
       1. If /STAR keword is set, it returns the center computed from
          the stars from the daily time files.
       2. If /MEDIAN keyword is set, it returns the running median
          center from the daily time files.
       3. If /AVG keyword is set (or if no /STAR, /MEDIAN, or /AVG
          keyword is set), it returns the median average center from  
          an average file.
       4. IF /STAR or /MEDIAN keyword is used but the daily time files
          do not contian the needed information, the average files will
          be used instead. 
       5. If no time or average file contains the required sun center (get_
          roll_or_xy returns {0.0,0.0}), then the center of the occulting 
          disk is used instead. 
       The number, in time files, average files, and occulting disk starts
       at 0. The definition in the FITS header starts from 1.

 CATEGORY:
	LASCO_ANALYSIS

 CALLING SEQUENCE:
	Result = GET_SUN_CENTER (Hdr)

 INPUTS:
	Hdr:  A LASCO header structure for the image that the center is desired

 OPTIONAL INPUTS:
       MEDIAN: Return the running median sun center from the daily time files.
                   Result = GET_SUN_CENTER (Hdr, /MEDIAN)
       STAR:   Return the sun center computed from the stars from the daily
               time files.
                   Result = GET_SUN_CENTER (Hdr, /STAR)
       AVG:    Return the average sun center for a period to which the image 
               belongs from an average file. This is used as default if no 
               MEDIAN, STAR, or AVG keyword is used.
                   Result = GET_SUN_CENTER (Hdr, /AVG) or
                   Result = GET_SUN_CENTER (Hdr) 
	FULL=FULL:  If the image has been placed in a square field. Ex:
	       	    Result = GET_SUN_CENTER (Hdr, FULL=1024)
	       	    Result = GET_SUN_CENTER (Hdr, FULL=512)
       RAW:	If set, no corrections are applied 
       DOCHECK:	If set, corrected header is read in
       NOCHECK:	If set, input header is used

 OUTPUTS:
	This function returns the sun center as a two element array in which 
       the first element is the column center and the second element is the
       row center.

 OPTIONAL IO:
       source: On output, returns one of the following sources used to
               get the sun center: STAR, AVG, MEDIAN, OCC.


 CALLED PROGRAMS:
       GET_ROLL_OR_XY

 RESTRICTIONS:
	Returns the center for the readout port "C"

 PROCEDURE:
	Returns values that have been determined by other means and put
	into a table here.

 MODIFICATION HISTORY:
 	Written by:	S.E. Paswaters, 30 August 1996
 	Updated:
 	        	96/10/04  SEP  Changed FULL to allow different sizes.

     			97/01/08  SHH  Added correction for cropped images.
     			97/02/11  RAH  Added keyword to return raw center
     			97/12/16  SEP  updated check for EIT date_obs
     			98/08/24  RAH  added capability to handle MLO/MK3 images
     			98/08/26  DW   fixed problem 
                       98/10/06  AEE  Added code to use time files for getting
                                      the sun center, first. A returned center
                                      of {0.0,0.0} from get_roll_or_xy means 
                                      center info for the image was not in a
                                      time file and, so, occ_cen_arr is used,
                                      as before.
                       98/10/26  AEE  Added AVG keyword and made it default.
                                      It still uses occ_cen_arr if zero is 
                                      returned by get_roll_or_xy.
                       98/11/05  AEE  Corrected nocheck and added docheck
     			98/11/12  RAH  Changed MLO/MK3 cam to be MK3
                       98/11/13  AEE  Corrected docheck. Assign all of complete
                                      hdr to shdr.
                       98/12/01  AEE  changed call to read_occ_dat to
                                      occltr_cntr.
                       98/12/11  AEE  now returns the source used for sun
                                      center (STAR,MEDIAN,AVG,OCC) as an
                                      optional parameter.

 @(#)get_sun_center.pro	1.19 12/18/98 :LASCO IDL LIBRARY


(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/get_sun_center.pro)


IMAGE_PLOT

[Previous Routine] [Next Routine] [List of Routines]
Name:
       IMAGE_PLOT

Purpose:
    generates standard plots for image analysis

Usage:
       IMAGE_PLOT,A,Hdr

Inputs:
       A   = image
       Hdr = FITS header

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/image_plot.pro)


IMG_ADD

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
                       IMG_ADD 
 
 PURPOSE: 
                       This function routine performs a weighted sum 
                       of two images, in which the weights are the 
                       same.  This would be used as a check of the 
                       procedure, since it is easier to just add  
                       the two arrays together. 
 
 CATEGORY: 
                       ANALYSIS 
 
 CALLING SEQUENCE: 
                       Result = IMG_ADD (Img1,Img2) 
 
 INPUTS: 
                       Img1:   Array containing image #1 
                       Img2:   Array containing image #2  
 
 OPTIONAL INPUTS: 
        
 KEYWORD PARAMETERS: 
 
 OUTPUTS: 
                       Result: The sum of the two input images if 
                                       the operation is successful or -1 
                                       if it is not. 
 
 OPTIONAL OUTPUTS: 
 
 COMMON BLOCKS: 
                       None 
 
 SIDE EFFECTS: 
                       None 
 
 RESTRICTIONS: 
                       The size of both arrays must be the same or  
                       the routine will exit and set result to be  
                       -1. 
 
 PROCEDURE: 
                       The two weighting functions are set to unity. 
                       Then the routine, IMG_WT_SUM, is called. 
 
 EXAMPLE: 
 
 MODIFICATION HISTORY: 
       Written by:     RA Howard, NRL, 27 November 1995 
 
	@(#)img_add.pro	1.1 10/04/96 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/img_add.pro)


IMG_COMP_DIST

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
                       IMG_COMP_DIST 
 
 PURPOSE: 
                       This function routine creates a composite  
                       image from two images based on two radial  
                       distances.   For radii less than R1, the  
                       values from image #1 are used.  For radii  
                       greater than R2, the values from image  #2  
                       are used.  For radii between R1 and R2, the  
                       values fade linearly from image #1 to #2. 
 
 CATEGORY: 
                       ANALYSIS 
 
 CALLING SEQUENCE: 
                       Result = IMG_COMP_DIST (Img1,Img2,Sun,R1,R2) 
 
 INPUTS: 
                       Img1:   Array containing image #1 
                       Img2:   Array containing image #2 
                       Sun:            A four element array containing the  
                                       solar coordinates: 
                                       Column of the center of the sun 
                                       Row of the center of the sun 
                                       Roll angle to solar north 
                                       Plate scale in arc secs per pixel 
                       R1:             Radius specifying the outer  
                                       boundary of only Img1  
                       R2:             Radius specifying the inner 
                                       boundary of only Img2 
 
 OPTIONAL INPUTS: 
                       None 
        
 KEYWORD PARAMETERS: 
                       None 
 
 OUTPUTS: 
                       Result: The composite of the two input  
                                       images if the operation is  
                                       successful or -1 if it is not. 
 
 OPTIONAL OUTPUTS: 
                       None 
 
 COMMON BLOCKS: 
                       None 
 
 SIDE EFFECTS: 
                       None 
 
 RESTRICTIONS: 
                       The plate scale and sun center must be the 
                       same for the two images prior to entering the  
                       routine. 
                       The size of both arrays must be the same or  
                       the routine will exit and set result to be  
                       -1. 
 
 PROCEDURE: 
                       The procedure, SUNDIST, is called to compute  
                       the distance matrix from sun center. 
                       The two weighting functions are computed. 
                       Then the routine, IMG_WT_SUM, is called. 
 
 EXAMPLE: 
 
 MODIFICATION HISTORY: 
       Written by:     RA Howard, NRL, 27 November 1995 
 
	@(#)img_comp_dist.pro	1.1 10/04/96 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/img_comp_dist.pro)


IMG_COMP_INT

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
                       IMG_COMP_INT 
 
 PURPOSE: 
                       This function routine creates a composite  
                       image from two images, based on intensity  
                       values.  For intensities less than Int1, 
                       the values from image #1 are used.  For  
                       intensities greater than Int2, the values  
                       from image #2 are used.  For intensities  
                       between Int1 and Int2, the values from both 
                       images are added together. 
 
 CATEGORY: 
                       ANALYSIS 
 
 CALLING SEQUENCE: 
                       Result = IMG_COMP_INT (Img1,Img2,Int1,Int2) 
 
 INPUTS: 
                       Img1:   Array containing image #1 
                       Img2:   Array containing image #2 
                       Int1:   Intensity specifying the upper  
                                       limit for using only Img1  
                       Int2:   Intensity specifying the lower 
                                       limit for using only Img2 
 
 OPTIONAL INPUTS: 
                       None 
        
 KEYWORD PARAMETERS: 
                       None 
 
 OUTPUTS: 
                       Result: The composite of the two input  
                                       images if the operation is  
                                       successful or -1 if it is not. 
 
 OPTIONAL OUTPUTS: 
                       None 
 
 COMMON BLOCKS: 
                       None 
 
 SIDE EFFECTS: 
                       None 
 
 RESTRICTIONS: 
                       The plate scale and sun center must be the 
                       same for the two images prior to entering the  
                       routine. 
                       The size of both arrays must be the same or  
                       the routine will exit and set result to be  
                       -1. 
 
 PROCEDURE: 
                       The two weighting functions are computed 
                       to form the composite image based on the 
                       intensity values of the two images. 
                       Range           Value 
                       0-Int1          3*Img1+1*Img1 
                       Int1-Int2               3*Img1+3*Img2 
                       Int2-Max                1*Img1+3*Img2 
                       Then the routine, IMG_WT_SUM, is called. 
 
 EXAMPLE: 
 
 MODIFICATION HISTORY: 
       Written by:     RA Howard, NRL, 27 November 1995 
 
	@(#)img_comp_int.pro	1.1 10/04/96 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/img_comp_int.pro)


IMG_SUM_2X2

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

 PURPOSE:
	This function does a rebinning into an array that is 1/2 the size of
	the original image in each axis, by summing 2x2 pixels.  This increases
	signal to noise.  

 CATEGORY:
	LASCO ANALYSIS

 CALLING SEQUENCE:
	Result = IMG_SUM_2X2 ( Img )

 INPUTS:
	Img:	Input image, can be any type other than string

 OPTIONAL INPUTS:
	None
	
 OUTPUTS:
	This function returns an image which is the result of the 2x2 pixel summing.

 RESTRICTIONS:
	Forces the input array to have an even number of rows and columns.

 PROCEDURE:
	Generates the indices of the 2x2 pixels and forms the summing explicitly from
	these indices.

 MODIFICATION HISTORY:
 	Written by:	RA Howard, 12 March 1996.

	@(#)img_sum_2x2.pro	1.1 10/04/96 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/img_sum_2x2.pro)


IMG_WT_SUM

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
                       IMG_WT_SUM 
 
 PURPOSE: 
                       This function routine performs a weighted sum 
                       of two images. 
 
 CATEGORY: 
                       ANALYSIS 
 
 CALLING SEQUENCE: 
                       Result = IMG_WT_SUM (Img1,Wt1,Img2,Wt2) 
 
 INPUTS: 
                       Img1:   Array containing image #1 
                       Wt1:            Array containing the weights for 
                                       image #1 
                       Img2:   Array containing image #2  
                       Wt2:            Array containing the weights for 
                                       image #2 
 
 OPTIONAL INPUTS: 
        
 KEYWORD PARAMETERS: 
 
 OUTPUTS: 
                       Result: The sum of the two input images if 
                                       the operation is successful or -1 
                                       if it is not. 
 
 OPTIONAL OUTPUTS: 
 
 COMMON BLOCKS: 
                       None 
 
 SIDE EFFECTS: 
                       None 
 
 RESTRICTIONS: 
                       The size of all of the arrays must be the 
                       same or the routine will exit and set result 
                       to be -1. 
 
 PROCEDURE: 
                       The size of the arrays is verified to be the  
                       same. 
                       The weights are set to zero where the image  
                       values are zero. 
                       The normalizing factor is computed and set to  
                       1 where the factor is 0. 
                       Then the routine forms the weighted sum. 
  
 EXAMPLE: 
 
 MODIFICATION HISTORY: 
       Written by:     RA Howard, NRL, 27 November 1995 
 
	@(#)img_wt_sum.pro	1.1 10/04/96 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/img_wt_sum.pro)


INSTF

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

 PURPOSE:
	Return the C1 instrument function Voigt parameters.

 CATEGORY:
	image reduction routines

 CALLING SEQUENCE:
	fpc1_insf,w,fl,fg

 INPUTS:
	w -	wavelength in Angstroms at which the instrument function
		parameters are desired.

 OPTIONAL INPUTS:

	NONE

 KEYWORD PARAMETERS:

	NONE

 OUTPUTS:

	Returns two arrays - fl and fg. The instrument function is
	a Voigt profile which is a convolution of a Gaussian and
	a Lorentzian profile. fg is the full width at half maximum
	of the Gaussian profile G(w):

		G(w) = exp(-w^2/(2*s^2))/(s*sqrt(2*!pi) 

	where s is the variance and fg = 2*s*sqrt(2*alog(2))

	fl is the full width at half maximum of the Lorentzian
	profile L(w):

		L(w) = (fl/(2*!pi))/(w^2+(fl/2)^2)

	The values of both fl and fg are returned in Angstroms

 OPTIONAL OUTPUTS
	NONE
	
 COMMON BLOCKS:
	NONE

 SIDE EFFECTS:
	NONE

 RESTRICTIONS:
	NONE 

 PROCEDURE:

 MODIFICATION HISTORY:
	1997 Oct 20 Written by Paul Reiser 

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/fpc1_insf.pro)


NE_FROM_PB

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

 PURPOSE:
	This function does the inversion of a radial fit to pB to electron density.

 CATEGORY:
	LASCO DATA_ANALYSIS

 CALLING SEQUENCE:
	NE_FROM_PB,Radii,Q,Coeff,Exps

 INPUTS:
	Radii:	An array of radial points for which the inversion is to be done
	Q:	The limb darkening parameter (0<1)
	Coeff:	The coefficients in the fit of pB versus R
	Exps:	The coefficients in the expansion of pB versus R

 OUTPUTS:
	This function returns the electron density inverted from the fit of pB.

 RESTRICTIONS:
	The pB fit is assumed to be only of the K-corona.  Any F-coronal contribution
	must be removed.

 PROCEDURE:
	The procedure follows the method of van de Hulst, Bull Astron Institutes Netherlands, 
	vol XI, 2 Feb 1950, pp135-150

 EXAMPLE:

 MODIFICATION HISTORY:
 	Written by:	RA Howard, NRL, 27 Nov 1998

	@(#)ne_from_pb.pro	1.1 11/28/98 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/ne_from_pb.pro)


OCCLTR_CNTR

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

 PURPOSE:
	This function returns the center of the occulting disk (for LASCO)
       and Sun Centers (for EIT) as a 2 element array of the column and
       row numbers.  The number starts at 0.  The definition in the FITS
	header is starting from 1.
       

 CATEGORY:
	LASCO_ANALYSIS

 CALLING SEQUENCE:
	Result = OCCLTR_CNTR (Hdr)

 INPUTS:
	Hdr:	A FITS header for the image that the center is desired. 
               It can be either a string header  or a structure header.

 OUTPUTS:
	This function returns the occulter center as a two element array
	in which the first element is the column center and the second
	element is the row center.

 RESTRICTIONS:
	Returns the center for the readout port "C"

 PROCEDURE:
       occulter_center.dat file is used first but if related data is 
       not found, then default values that have been determined by
       other means and put into a table, here, are used.

 MODIFICATION HISTORY:
 	Written by:	R.A. Howard, 14 March 1996
	17 Oct 96	RAH, Revised C1 coords
	04 Dec 96	RAH, Corrected case statement default value
       01 Dec 98       AEE, added code to use occulter_center.dat before 
                            attempting to use the defaults in this file.
                            Also added defaults for EIT in the case statement.

	@(#)occltr_cntr.pro	1.3 12/04/96 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/occltr_cntr.pro)


ORBIT_FILE_TYPE

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

 PURPOSE:
       This function returns an identifier, indicating which type of
       orbit files exist at the site.  If files of more than one type
       exist, then a fits file is returned if possible.

 CATEGORY:
       

 CALLING SEQUENCE:
       Result = ORBIT_FILE_TYPE (Date)

 INPUTS:
       Date:    format 'DD-Mmm-YYYY HH:MM:SS.SSS'

 OUTPUTS:
       Type:    'CDF'  - cdf format orbit files
                'FITS' - fits format orbit files
                'NULL' - no orbit files found


 PROCEDURE:
       Determines whether the available orbit files are definitive or
       predictive, whether the available file types are *.CDF or
       *.FITS, and whether the prefix is SO_OR_* or YYMMDD*.cdf

 MODIFICATION HISTORY:
       Written by:     D.A. Biesecker, 12 September 1996
       Adapted from GET_ORBIT_CDF written by S.P. Plunkett

	@(#)orbit_file_type.pro	1.1 10/04/96 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/orbit_file_type.pro)


PLOT_LASCO_SPECTRA

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

 PURPOSE:
	This procedure plots the LASCO filter spectral data

 CATEGORY
	CALIBRATION

 CALLING SEQUENCE:
	PLOT_LASCO_SPECTRA,Tel

 INPUTS:
	Tel:	string containing the telescope: 'c1','c2','c3'

 KEYWORD PARAMETERS:
	SINGLE:	If set then a single plot is made.  The default is
		to plot all of the spectra.

 OUTPUTS:
	Generates a plot

 MODIFICATION HISTORY:
	Written by R.A. Howard, NRL

 @(#)plot_lasco_spectra.pro	1.1 07/31/97 :NRL Solar Physics

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/plot_lasco_spectra.pro)


POINT_FILTER

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

 PURPOSE:
	This procedure filters out the pixels which are brighter than
	the area in which they are found.

 CALLING SEQUENCE:
	point_filter,indata,bw,tol,niter,outdata,outpts

 INPUTS:
	indata  = 2-dim array of data to be filtered
	bw	= width of square filter box - must be ODD, recommended
		  value 5.
	tol	= scaling factor to controll how bright the point
		  is before being replaced, recommended value 7.
	niter	= number of time to repeat the process

 OUTPUTS:
	outdata = the filtered array
	outpts	= the value and location of the points removed from
		  the indata array.  outpts is an (n,3) array.
		  n is the number of points subtracted; ,0 is the data
		  value (indata - outdata) with pixel coordinates of
		  x=,1, and y=,2.
 PROCEDURE:
	Uses filter_image to calculate the mean, median, and variance
	over a square box of size bw.  For those point which differ from
       the mean by more than tol*standard deviation, replace the value
       with the median.  Finally, fill the outpoint array with the 
       subtracted values and pixel coordinates.

  MODIFICATION HISTORY:
	Written by Mike Andrews LASCO/NRL/HUGHES STX  12 Feb 1996.
       Modified by MDA 20 Mar 1996 to reduce memory requirement by
		reusing the hold array.
	Modified by MDA 26 Feb 97 to calculate x and y correctly.

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/point_filter.pro)


POPUP_HELP[1]

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

 file POPUP_HELP.PRO - Creates a widget that displays a pop up message,
                      modifed from DMZ's acknowledge.pro -- LYW

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/popup_help.pro)


POPUP_HELP[2]

[Previous Routine] [Next Routine] [List of Routines]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 pro popup_help, message [, title=title, group=group]

  Creates a message window that informs the user with a message and
     requires the user to read the message and to dismiss the window   
     before control will return to the calling procedure.

  calls to  :  xregistered('pop_help'), xmanager,'popup_help'
  common    :  none


 INPUT
     message:  string or string vector containing a message
		that will be displayed on the screen for the 
		user to read.
		(multi-line messages are aesthetically better)
     title:    Optional title of the message window
 OUTPUT
     none

 MODIFICATION HISTORY
	JAN 1993        -- Elaine Einfalt (HSTX)
       August 19, 1994 -- Liyun Wang (ARC)
       August 31, 1994 -- Liyun Wang (ARC), added GROUP keyword
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/popup_help.pro)


POPUP_HELP[2]

[Previous Routine] [Next Routine] [List of Routines]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 pro popup_help_event, event

 The event handler for PRO POP_HELP
  calls to  :  none
  common    :  none

  The only purpose of the routine is to kill the message window, 
     created by PRO POP_HELP, AFTER the user reads the message.
     The user clicks the "Dismiss" button to get here.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/popup_help.pro)


QUICK_LOOK

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - LASCO/EIT
                   
 Name        : QUICK_LOOK
               
 Purpose     : 
               
 Explanation : 
               
		
               
 Use         : IDL> QUICK_LOOK, img
    
 Inputs      : img		2 Dimensional image.
               
 Opt. Inputs : caller		A structure containing the id of the caller.
               
 Outputs     : None.
               
 Opt. Outputs: None.
               
 Keywords    : None.

 Calls       : 

 Common      : QUICK_LOOK_SHARE
               
 Restrictions: None.
               
 Side effects: None.
               
 Category    : Image Display.
               
 Prev. Hist. : None.

 Written     : Scott Paswaters, NRL, January 1995.
               
 Modified    : 

 Version     : Version 0.1, January 9, 1995

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/quick_look.pro)


SCALE_ROTATE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:  
            SCALE_ROTATE  
  
 PURPOSE:  
            This function moves, scales and rotates an
            image to a new position and plate scale   
            factor.  
  
 CATEGORY:  
            ANALYSIS  
  
 CALLING SEQUENCE:  
            Result = SCALE_ROTATE (Img,Roll,  
                                   Oldscale,Xcen,Ycen,
                                   Newscale,Newxcen,Newycen)
  
 INPUTS:  
            Img:      Input image array  
            Roll:     Angle between solar north and the top
                      of the image measured eastward (radians)
            Oldscale: Plate scale (arc sec/pixel) of input image
            Xcen:     Column of sun center of input  
            Ycen:     Row of sun center of input  
            Newscale: Plate scale (arc sec/pixel) of output image
            Newxcen:  Column of sun center to move to  
            Newycen:  Row of sun center to move to  
  
 OPTIONAL INPUTS:  
            None  
  
 KEYWORD PARAMETERS:  
            Xsize:  Number of columns in output image  
                    Default is input image  
            Ysize:  Number of rows in output image  
                    Default is input image  
  
 OUTPUTS:  
            Result: The scaled and rotated image  
  
 OPTIONAL OUTPUTS:  
            None  
  
 COMMON BLOCKS:  
            None  
  
 SIDE EFFECTS:  
            None  
  
 RESTRICTIONS:  
  
 PROCEDURE:  
  
 EXAMPLE:  
  
 MODIFICATION HISTORY:  
       Written by:     RA Howard, NRL, 27 Nov 1995.  
 
 @(#)scale_rotate.pro	1.2 05/14/97 :NRL Solar Physics

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/scale_rotate.pro)


SCAN_PROFILE

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

 PURPOSE:
	This function returns the values of the Img in a straight line between
	the end points specified by P0 and P1.

 CATEGORY:
	LASCO ANALYSIS

 CALLING SEQUENCE:
	Result = SCAN_PROFILE(Img,P0,P1,Col,Row)

 INPUTS:
	Img:	A 2-D array containing the image intensities
	P0:	A 2 element array containing the column and row 
		values of one of the end points
	P1:	A 2 element array containing the column and row 
		values of the other end point

 OUTPUTS:
	Result:	An array containing the scan profile from P0 to P1

 OPTIONAL OUTPUTS:
	COL:	An array containing the image column values,
		where the Function result has been computed.
	ROW:	An array containing the image row values,
		where the Function result has been computed.


 MODIFICATION HISTORY:
 	Written by:	RA Howard, 17 Mar 1996
 
 @(#)scan_profile.pro	1.2 05/14/97 :NRL Solar Physics


(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/scan_profile.pro)


SPM_FCOR

[Previous Routine] [Next Routine] [List of Routines]
 TITLE:
		SPM_FCOR

 PURPOSE:
  		This function returns the Saito-Poland-Munro F corona

 INPUT PARAMETERS:
		R:		Radius (in solar radii) Can be a single number or an array

 OPTIONAL INPUT PARAMETERS:
		PA:		Position angle (in degrees).  If omitted, then the equatorial
				corona is returned (PA=90)

 OUTPUTS:
		The F corona is returned in Mean Solar Brightness units as an array
		of floating point numbers corresponding to the size of the input R
		array.

 RESTRICTION:
		The F corona is only valid for radial distances from 1.5 to 5 solar
		radii.

 PROCEDURE:
		The F-coronal values for the polar and equatorial cases given in
		Saito, Poland and Munro, Solar Physics, vol 55, pp 121-134, 1977 are
		used as the reference points.  The logs of the brightness values are
		linearly interpolated to obtain the brightness at the desired radii.
		To obtain the brightness for a position angle between the pole and
		equator, the polar and equatorial values are linearly interpolated
		(in the log).

 EXAMPLES:
		To obtain the polar F-corona at 2.8 solar radii:
			f = SPM_FCOR(2.8,0)
		To obtain the equatorial K-corona at 2.8 solar radii:
			f = SPM_FCOR(2.8,90)
			or
			f = SPM_FCOR(2.8)
		To obtain the F-corona at 45 degrees at 2, 3, 4, 5,  and 6 Rs:
			r = [2,3,4,5,6]
			f = SPM_FCOR(r,45)

 WRITTEN:
		18 Dec 1997,	RAHoward, NRL

 @(#)spm_fcor.pro	1.1 12/30/97 :LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/spm_fcor.pro)


SPM_KCOR

[Previous Routine] [Next Routine] [List of Routines]
 TITLE:
		SPM_KCOR

 PURPOSE:
  		This function returns the Saito-Poland-Munro K corona

 INPUT PARAMETERS:
		R:		Radius (in solar radii) Can be a single number or an array

 OPTIONAL INPUT PARAMETERS:
		PA:		Position angle (in degrees).  If omitted, then the equatorial
				corona is returned (PA=90)

 OUTPUTS:
		The K corona is returned in Mean Solar Brightness units as an array
		of floating point numbers corresponding to the size of the input R
		array.

 PROCEDURE:
		The K-coronal values for the polar and equatorial cases given in
		Saito, Poland and Munro, Solar Physics, vol 55, pp 121-134, 1977 are
		used as the reference points.  The logs of the brightness values are
		linearly interpolated to obtain the brightness at the desired radii.
		To obtain the coronal intensity for a position angle between the pole
		and equator, the polar and equatorial values are linearly interpolated
		(in the log).

 EXAMPLES:
		To obtain the polar K-corona at 2.8 solar radii:
			K = SPM_KCOR(2.8,0)
		To obtain the equatorial K-corona at 2.8 solar radii:
			K = SPM_KCOR(2.8,90)
			or
			K = SPM_KCOR(2.8)
		To obtain the K-corona at 45 degrees at 2, 3, 4, 5,  and 6 Rs:
			r = [2,3,4,5,6]
			k = SPM_KCOR(r,45)

 WRITTEN:
		18 Dec 1997,	RAHoward, NRL

 @(#)spm_kcor.pro	1.1 12/30/97 :LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/spm_kcor.pro)


SPM_NE

[Previous Routine] [Next Routine] [List of Routines]
 TITLE:
		SPM_NE

 PURPOSE:
  		This function returns the Saito-Poland-Munro electron density

 INPUT PARAMETERS:
		R:		Radius (in solar radii) Can be a single number or an array

 OPTIONAL INPUT PARAMETERS:
		Region:	=0:  Return the equatorial corona density
				=1:  Return the polar coronal density
				=2:  Return the coronal hole density
				If omitted, then the equatorial corona density is returned

 OUTPUTS:
		The electron density in particles per cm^3 as an array of floating
		point numbers corresponding to the size of the input R array.

 PROCEDURE:
		The electron density for the polar, equatorial and coronal hole cases
		given in Saito, Poland and Munro, Solar Physics, vol 55, pp 121-134,
		1977 are used as the reference points.  The density models are given
		in a function form as
				Ne = c1 * R^d1 + c2 * R^d2
		The coefficients c1, c2, d1 and d2 are given by SPM for each of the
		three models.

 EXAMPLES:
		To obtain the polar electron density at 2.8 solar radii:
			dne = SPM_NE(2.8,1)
		To obtain the equatorial K-corona at 2.8 solar radii:
			dne = SPM_NE(2.8,0)
			or
			dnef = SPM_NE(2.8)
		To obtain the electron density in an equatorial coronal hole at 2, 3, 4, 5,  and 6 Rs:
			r = [2,3,4,5,6]
			dne = SPM_NE(r,2)

 WRITTEN:
		18 Dec 1997,	RAHoward, NRL

 @(#)spm_ne.pro	1.1 12/30/97 :LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/spm_ne.pro)


SPM_PB

[Previous Routine] [Next Routine] [List of Routines]
 TITLE:
		SPM_PB

 PURPOSE:
  		This function returns the Saito-Poland-Munro polarization brightness

 INPUT PARAMETERS:
		R:		Radius (in solar radii) Can be a single number or an array

 OPTIONAL INPUT PARAMETERS:
		Region:	=0:  Return the equatorial pB
				=1:  Return the polar pB
				=2:  Return the coronal hole pB
				If omitted, then the equatorial pB is returned

 OUTPUTS:
		The polarization brightness in mean solar brightness units is returned
		as an array of floating point numbers corresponding to the size of the
		input R array.

 PROCEDURE:
		The polarization brightness for the polar, equatorial and coronal hole cases
		given in Saito, Poland and Munro, Solar Physics, vol 55, pp 121-134,
		1977 are used as the reference points.  The pB models are given
		in a function form as
				pB = c1 * R^d1 + c2 * R^d2
		The coefficients c1, c2, d1 and d2 are given by SPM for each of the
		three models.

 EXAMPLES:
		To obtain the polar pB model at 2.8 solar radii:
			pb = SPM_PB(2.8,1)
		To obtain the equatorial K-corona at 2.8 solar radii:
			pb = SPM_PB(2.8,0)
			or
			pb = SPM_PB(2.8)
		To obtain the pB in an equatorial coronal hole at 2, 3, 4, 5,  and 6 Rs:
			r = [2,3,4,5,6]
			pb = SPM_PB(r,2)

 WRITTEN:
		18 Dec 1997,	RAHoward, NRL

 @(#)spm_pb.pro	1.1 12/30/97 :LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/spm_pb.pro)


STDIMGPLOT

[Previous Routine] [Next Routine] [List of Routines]
Name:
       STDIMGPLOT

Purpose:
    generates standard plots for image analysis

Usage:
       STDIMGPLOT,A,Hdr

Inputs:
       A   = image
       Hdr = FITS header

 SCCS variables for IDL use
 
 @(#)stdimgplot.pro	1.1 05/14/97 :NRL Solar Physics

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/stdimgplot.pro)


STDIMGPLOT2

[Previous Routine] [Next Routine] [List of Routines]
Name:
       STDIMGPLOT2

Purpose:
    generates standard plots for analysis of 64x1024 images 

Usage:
       STDIMGPLOT2,A,Hdr

Inputs:
       A   = image
       Hdr = FITS header

 
 @(#)stdimgplot2.pro	1.1 10/16/98 :LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/stdimgplot2.pro)


TELESCOPE_POINTING

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

 PURPOSE:
	This function returns the telescope pointing information for SUNDIST.

 CATEGORY:
	LASCO DATA_ANAL

 CALLING SEQUENCE:
	Result = TELESCOPE_POINTING (Hdr)

 INPUTS:
	Hdr:	The image header as a LASCO header structure.

 OUTPUTS:
	This function returns a 4 element floating point array of the
	telescope pointing information:
	word 1:	 column coordinates of the center of the sun
	word 2:  row coordinates of the center of the sun
	word 3:  roll angle to solar north, in degrees, measured westward
	word 4:  size of the solar radius in pixels

 SIDE EFFECTS:
	Calls GET_SUN_CENTER, GET_SEC_PIXEL, GET_SOLAR_RADIUS, GET_SOLAR_ROLL

 PROCEDURE:
	The SUNDIST procedure needs the pointing information to be supplied
	in an array.

 EXAMPLE:
	Return the pointing information for the image pointed to by header.

		Coords = TELESCOPE_POINTING(Hdr)

 MODIFICATION HISTORY:
 	Written by:	RA Howard, 30 Apr 1997
	Mods to accept MLO headers

	@(#)telescope_pointing.pro	1.3 08/28/98 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/telescope_pointing.pro)


VDHAN

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

 PURPOSE:
	This function computes the "an" coefficient in equation 24 of van de Hulst's paper

 CATEGORY:
	LASCO DATA_ANALYSIS

 CALLING SEQUENCE:
	VDHAN,N

 INPUTS:
	N:	The index of the term

 OUTPUTS:
	This function returns the an coefficient.

 RESTRICTIONS:
	The index must be positive and less than 34.

 PROCEDURE:
	The procedure computes the an coefficient in equations 24a and 24b of van de Hulst, 
	Bull Astron Institutes Netherlands, vol XI, 2 Feb 1950, pp143.
	an = pi * n! / ((n/2)!)^2 / 2^(n+1)

 EXAMPLE:

 MODIFICATION HISTORY:
 	Written by:	RA Howard, NRL, 27 Nov 1998

	@(#)vdhan.pro	1.1 11/28/98 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/vdhan.pro)


VDHCOEFF

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

 PURPOSE:
	This procedure returns the Van de Hulst coefficients for electron scattering.

 CATEGORY:
	LASCO Data Analysis

 CALLING SEQUENCE:
	VDHCOEFF,RADII,Q,AVDH,BVDH

 INPUTS:
	RADII:	Array of positions above sun center in solar radii
	Q;	Limb darkening coefficient

 OUTPUTS:
	AVDH:	Van de Hulst "A" coefficient
	BVDH:	Van de Hulst "B" coefficient

 COMMON BLOCKS:
	COM_ELTHEORY:	R,AEL,BEL,CEL,DEL

 PROCEDURE:
	The functions that describe the scattering of photospheric sunlight from electrons
	have been developed by van de Hulst (Bulletin of the Astronomical Institutes of the 
	Netherlands, Volume ;	XI, Number 410, February 2, 1950, pp 135-150.  The equations 
	were originally developed in a different form by Minnaert (Zeitschrift fur Astrophysics, 
	Vol 1, 209, 1930) and are included in Billings book "A Guide to the Solar Corona.  The 
	IDL routine, ELTHEORY in the NRL IDL library, computes the Minnaert coefficients, which 
	are only slightly different from the van de Hulst functions in equations 11 and 12 of 
	his paper.  To compute the electron densities from pB, the VDH functions, A and B, are
	quite useful.
	
	The routine ELTHEORY is called to return the Minnaert coefficients and then the VDH
	coefficients are computed from them.

 EXAMPLE:
	To return the VDH coefficients, you must specify an array for the radial distance from 
	the sun and the limb darkening coefficient.  

	VDHCOEFF,R,Q,A,B

 MODIFICATION HISTORY:
 	Written by:	RA Howard, 27 Nov 1998..

	@(#)vdhcoeff.pro	1.2 11/27/98 LASCO IDL LIBRARY

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/vdhcoeff.pro)


[1]

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

       GET_PT
       
 PURPOSE:
 
        Digitize a point on a previously plotted curve, and return
        the corresponding array element.

 CALLING SEQUENCE:
 
        Result = GET_PT(XAXIS,YAXIS,XPOINT,YPOINT)
        
 INPUTS:
 
        XAXIS - the x axis vector which was used to make the plot.
        
        YAXIS - the y axis vector which was used to make the plot.
		
 KEYWORD PARAMETERS:
 
        NOHIGHLIGHT - set to inhibit putting a red mark on the curve
                      at the digitized point.
			
        MESSAGE - a string to print as the message to the user.
                  Default = 'Digitize a point: '
			
        NOINIT - set to inhibit placing the cursor in the center of
                 the plot window.
		    
 OUTPUTS:
 
        Result - The array subscript of the digitized point.

 OPTIONAL OUTPUT PARAMETERS:
 
        XPOINT, YPOINT - the digitized points.

 SIDE EFFECTS:
 
        A mark is drawn on the plot at the digitized point.

 PROCEDURE:

        The user is asked to digitize a point on the curve using the
        mouse.  The VALUE_TO_INDEX function is used to find the
        closest array element.
		
 MODIFICATION HISTORY:
 
        D. L. Windt, Bell Laboratories, November 1989
        Feb. 1991, Removed call to TEK_COLOR
        Mar. 1997, replaced index search code with call to
        VALUE_TO_INDEX function.

        windt@bell-labs.com

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/image_profiles.pro)


[2]

[Previous Routine] [List of Routines]
 NAME:

	REDUCE_STD_SIZE

 PURPOSE:

	Create a "full image" 512x512 of the input image.  Accounts for sub 
	images and pixel summing.

 CATEGORY:

	LASCO DATA REDUCTION

 CALLING SEQUENCE:

	Result = REDUCE_STD_SIZE(Img,Hdr)

 INPUTS:

	Img:	Input Image array
	Hdr:	FITS header or LASCO header structure

 OPTIONAL INPUTS:
	None
	
 KEYWORD PARAMETERS:

	FULL:	   If set, then return a 1024x1024 image. The default is a 
		   512x512 image.

	NO_REBIN:  Set this to return an array which has not been rescaled 
		   into 512 or 1024.  The default is to perform a congrid to 
                  resize the image.

 OUTPUTS:

	The function result is a full image, with the input image inserted into
	the correct place in the full image.

 OPTIONAL OUTPUTS:
	None

 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 PROCEDURE:

	The input image is inserted into its proper place in a full image.  
	On-chip and off-chip pixel summing are properly considered. The output 
	image is resized to a 512 x 512 image.  Optionally, it can be resized 
	to 1024 x 1024, or not resized at all.  

	If the image is not resized, then each dimension would be determined
	by the amount of summing along each axis according to 1024 / SUM,
	where SUM is the number of pixels summed along the axis.  i.e., if 2x2 
	summing is used, then the image size would be 512 x 512.  If 4x2 
	summing were used, then the image size would be 256 x 512.

 EXAMPLE:

	To obtain the default 512 x 512 image:

		Output = REDUCE_STD_SIZE(Img,Hdr)

	To obtain a 1024 x 1024 image:

		Output = REDUCE_STD_SIZE(Img,Hdr,/full)

	To obtain an image sized by the summing:

		Output = REDUCE_STD_SIZE(Img,Hdr,/no_rebin)

 MODIFICATION HISTORY:		Written, RA Howard, NRL
    VERSION 1   rah    29 Aug 1996
    VERSION 1.1 sep    29 Sep 1996	added /FULL keyword, and ability to
					handle header structures
    VERSION 1.2 rah    22 Oct 1996	Added /no_rebin keyword
    VERSION 1.3 rah    17 Jul 1997	Corrected handling of image sizes >1024
    VERSION 1.4 nbr	11 Dec 1998	Corrected handling of summed images with sizes > 512
    VERSION 1.5 nbr    11 Feb 1999	Modify R[1,2][row,col] in header (returned)
   		 nbr	12 Feb 1999	Divide by lebxsum*lebysum if binned image
		 nbr	17 Feb 1999	See notes below
		 nbr	18 Feb 1999	Do not divide by lebxsum*lebysum if %P or PB image
		 nbr	23 Mar 1999	Modify NAXIS[1,2] in header

 
 @(#)reduce_std_size.pro	1.5 02/17/99 :NRL Solar Physics

(See /net/cronus/opt/local/idl_nrl_lib/lasco/data_anal/reduce_std_size.pro)