Headers for LASCO IDL Library: CME

This page was created by IDL lasco_mk_html_help.pro on Fri Jan 12 09:28:43 2007.


List of Routines


Routine Descriptions

AAAREADME

[List of Routines] (See ./AAAREADME.pro)

There are several "main" programs that may be useful to calculate the
mass or electron density (columnar) in CMEs.  The mass of a CME is
computed from the excess brightness after having subtracted off the
pre-event brightness.  The technique is to recognize that a single
electron at a certain point in the atmosphere will scatter a known
amount of the solar disk intensity.  Then by knowing the observed
intensity, and by assuming that all of the mass is in a single
volume element, we can compute the number of electrons. Then
assuming charge neutrality, the mass can be computed.

The various procedures that can be used to compute electron density
or mass are:

C3_CME:
	A function to calibrate C3 images and calculate the mass of a CME
	given the base and cme image.

C3_CME_FRONT:
	A function to calibrate C3 images and to calculate the mass of the
	CME front.

C3_MASSIMG:
	A function to calibrate C3 images and calculates the mass of a CME.
	The output is a file that is a mass (or electron density image).

CME_MASSIMG2TOTAL:
	This function allows you to specify the area of features for which
	to calculate the mass of a CME from mass images.

rah 3/26/99


C3_CME

[List of Routines] (See ./c3_cme.pro)

 NAME:
	C3_CME

 PURPOSE:
	This function calibrates C2 & C3 images and calculates the mass of a CME

 CATEGORY:
	CME

 CALLING SEQUENCE:
	Result = C3_CME,Bn,Fn

 INPUTS:
	Bn:	String containing the filename of the base image
	Fn:	String containing the filename of the CME image

 KEYWORD PARAMETERS:
	MINSCL:	Set this keyword with the value to use for the minimum value
		in scaling the image. The default value is to use -1.e-11 msb

	MAXSCL:	Set this keyword with the value to use for the maximum value
		in scaling the image. The default value is to use +1.e-11 msb

	SAVE:	Set this keyword with the filename to save the mass information to

 OUTPUTS:
	This function returns the mass calculated for the ROI selected

 RESTRICTIONS:
	Only works for C3

 EXTERNAL CALLS:
	DEFROI, C2_CALIBRATE, C3_CALIBRATE, LASCO_READFITS, CALC_CME_MASS

 PROCEDURE:
	The files for the base and CME images are read in and calibrated.
	The images are then adjusted to have the same area and summing.
	The images are differenced, displayed and then DEFROI is called
	to get the desired region of interest.  CALC_CME_MASS is called to 
	compute the CME mass.

 EXAMPLE:
	To find the mass of a CME, where the base image is '320004.fts' and
	the CME image is in '320005.fts', and saving the mass information in 'mass.lst':

		Mass = C3_CME ('320004.fts','320005.fts',save='mass.lst')

 MODIFICATION HISTORY:
 	Written by:	RA Howard, NRL, 5/19/97
	MOdified:	RAH 3/14/98, changed rebin of b to calb

	%W% %H% LASCO IDL LIBRARY


C3_CME_FRONT

[List of Routines] (See ./c3_cme_front.pro)

 NAME:
	C3_CME_FRONT

 PURPOSE:
	This function calibrates C3 images and calculates the mass of a CME

 CATEGORY:
	CME

 CALLING SEQUENCE:
	Result = C3_CME_FRONT,Bn,Fn

 INPUTS:
	Bn:	String containing the filename of the base image
	Fn:	String containing the filename of the CME image

 KEYWORD PARAMETERS:
	MINSCL:	Set this keyword with the value to use for the minimum value
		in scaling the image. The default value is to use -1.e-11 msb

	MAXSCL:	Set this keyword with the value to use for the maximum value
		in scaling the image. The default value is to use +1.e-11 msb

	SAVE:	Set this keyword with the filename to save the mass information to
	NEW:	Set this keyword if the base image is new
	SECTOR:	Set this keyword if the ROI is a sector, centered on the sun
	RADII:	Set this keyword with a 2-element array of the inner and
		outer radii (in solar radii) for the sector ROI
	ANGLES:	Set this keyword with a 2-element array of the left and right
		hand boundaries (viewed from sun-center) for the sector ROI

 OUTPUTS:
	This function returns the mass calculated for the ROI selected

 RESTRICTIONS:
	Only works for C3

 EXTERNAL CALLS:
	DEFROI, C3_CALIBRATE, LASCO_READFITS, CALC_CME_MASS, ROI_SECTOR
	AWIN, AVERAGE

 PROCEDURE:
	The files for the base and CME images are read in and calibrated.
	The images are then adjusted to have the same area and summing.
	The images are differenced, displayed and then DEFROI is called
	to get the desired region of interest.  CALC_CME_MASS is called to 
	compute the CME mass.

 EXAMPLE:
	To find the mass of a CME, where the base image is '320004.fts' and
	the CME image is in '320005.fts', and saving the mass information in 'mass.lst':

		Mass = C3_CME_FRONT ('320004.fts','320005.fts',save='mass.lst')

 MODIFICATION HISTORY:
 	Written by:	RA Howard, NRL, 5/19/97

	@(#)c3_cme_front.pro	1.2 10/03/99 LASCO IDL LIBRARY


C3_MASSIMG

[List of Routines] (See ./c3_massimg.pro)

 NAME:
	C3_MASSIMG

 PURPOSE:
	This function calibrates C3 images and calculates the mass of a CME

 CATEGORY:
	CME

 CALLING SEQUENCE:
	Result = C3_MASSIMG(Bn,Fn)

 INPUTS:
	Bn:	String containing the filename of the base image
	Fn:	String containing the filename of the CME image

 KEYWORD PARAMETERS:
	SAVE:	If set, appends the total mass into a file.  If the 
		keyword is a string, then the filename is the string
		otherwise the user is prompted for the file name.
	ONLY_NE:If set, then compute electron density rather than mass
	NEW:	If set, then process the base image, even if it has been done

 OUTPUTS:
	This function returns an image of the calculated mass

 RESTRICTIONS:
	Only works for C3

 EXTERNAL CALLS:
	C3_CALIBRATE, LASCO_READFITS, CALC_CME_MASS

 PROCEDURE:
	The files for the base and CME images are read in and calibrated.
	The images are then adjusted to have the same area and summing.
	The images are differenced. CALC_CME_MASS is called to 
	compute the CME mass.

 EXAMPLE:
	To find the mass of a CME, where the base image is '320004.fts' and
	the CME image is in '320005.fts', and saving the total mass information
	in 'mass.lst':

		Massimg = C3_MASSIMG ('320004.fts','320005.fts',save='mass.lst')

 MODIFICATION HISTORY:
 	Written by:	RA Howard, NRL, 6/9/97
			RAH 5/23/98, Make work and make similar to c3_cme_front

	@(#)c3_massimg.pro	1.4 10/03/99 LASCO IDL LIBRARY


CALC_CME_MASS

[List of Routines] (See ./calc_cme_mass.pro)

 NAME:
	CALC_CME_MASS

 PURPOSE:
	Computes the CME mass in an image given a box defining the area

 CATEGORY:
	CME 

 CALLING SEQUENCE:
	Result = CALC_CME_MASS (Img, Hdr, Box)

 INPUTS:
	Img:	The 2-D difference image containing the CME.  The units are
		in mean solar brightness units
	Hdr:	The lasco header structure of the image
	Box:	An array containing the coordinates of the region of interest

 KEYWORD PARAMETERS:
	FNAME:	If present, this string defines the name of a file
		to store the mass value in.  The information will be appended
		to an existing file or will create a new file.  The default
		is not to save the information.
	CONT:	If set this parameter indicates that a continuing CME sequence
		is being computed and various parameters will be not be 
		computed. The default is to compute the parameters.
	POS:	If present, this allows the angle from the plane of the sky to
		be specified.  The default is to set the angle to 20 degrees.
	ROI:	If present, then box contains the ROI indices rather than coordinates
	ALL:	If present, then the entire image is processed
	ONLY_NE:If present, electron density is returned, rather than mass
	MAXVAL:	If present, the maximum value in the region is computed
	MEDVAL:	If present, the median value in the region is computed
	PB:	If present, the input image is a pB image

 OUTPUTS:
	This function returns the mass contained within the ROI box in
	grams.

 COMMON BLOCKS:
	CME_MASS,Dist,Angle,B,Conv
		Dist = Distance of pixel in solar radii from sun center
		Angle = Angle of pixel in degrees from solar north
		B = brightness array of one electron
		Conv = Conversion factor from MSB to grams

		This common block is used to store a previous computation
		of the distance matrix to save time.

 SIDE EFFECTS:
	None

 RESTRICTIONS:
	The coordinates of the sun center must be in the header.

 PROCEDURE:
	An array in which the elements are the distance of that pixel from
	sun center is computed.  Then ELTHEORY is called to compute the
	brightness and polarization properties of a single electron.

 MODIFICATION HISTORY:
 	Written by:	R.A. Howard, NRL, 18 September 1996
	RAH 22 Mar 1997, Added Keyword POS and corrected mass/e
	RAH 16 May 1997, Changed header from FITS to header structure
	RAH 19 Sep 1997, Added Keyword ONLY_NE, added function of date
	RAH 18 Apr 1999, Put Ne to mass conversion into separate routine
	RAH 28 Sep 1999, Put POS (Plane of sky) angle to 0 instead of 20
	RAH 03 Oct 1999, Added capability for pB image


 @(#)calc_cme_mass.pro	1.9 10/03/99 :NRL Solar Physics


CME_MASS

[List of Routines] (See ./cme_mass.pro)

 NAME:
	CME_MASS

 PURPOSE:
	This function calculates the mass of a CME from calibrated images

 CATEGORY:
	CME

 CALLING SEQUENCE:
	Result = CME_MASS(Bn,Fn)

 INPUTS:
	Bn:	String containing the filename of the base image
	Fn:	String containing the filename of the CME image

 KEYWORD PARAMETERS:
	MINSCL:	Set this keyword with the value to use for the minimum value
		in scaling the image. The default value is to use -1.e-11 msb

	MAXSCL:	Set this keyword with the value to use for the maximum value
		in scaling the image. The default value is to use +1.e-11 msb

	SAVE:	Set this keyword with the filename to save the mass information to

 OUTPUTS:
	This function returns the mass calculated for the ROI selected

 RESTRICTIONS:
	Only works for C3

 EXTERNAL CALLS:
	DEFROI, C3_CALIBRATE, LASCO_READFITS, CALC_CME_MASS

 PROCEDURE:
	The files for the base and CME images are read in and calibrated.
	The images are then adjusted to have the same area and summing.
	The images are differenced, displayed and then DEFROI is called
	to get the desired region of interest.  CALC_CME_MASS is called to 
	compute the CME mass.

 EXAMPLE:
	To find the mass of a CME, where the base image is '320004.fts' and
	the CME image is in '320005.fts', and saving the mass information in 'mass.lst':

		Mass = C3_CME ('320004.fts','320005.fts',save='mass.lst')

 MODIFICATION HISTORY:
 	Written by:	RA Howard, NRL, 5/19/97
	MOdified:	RAH 3/14/98, changed rebin of b to calb

	%W% %H% LASCO IDL LIBRARY


CME_MASSIMG2TOTAL

[List of Routines] (See ./cme_massimg2total.pro)

 NAME:
	CME_MASSIMG2TOTAL

 PURPOSE:
	This function calculates the mass of a CME from mass images.

 CATEGORY:
	CME

 CALLING SEQUENCE:
	Result = CME_MASSIMG2TOTAL(Fn)

 INPUTS:
	Fn:	String containing the filename of the CME mass image

 KEYWORD PARAMETERS:
	MINSCL:	Set this keyword with the value to use for the minimum value
		in scaling the image. The default value is to use -1.e-11 msb

	MAXSCL:	Set this keyword with the value to use for the maximum value
		in scaling the image. The default value is to use +1.e-11 msb

	SAVE:	Set this keyword with the filename to save the mass information to
	SECTOR:	Set this keyword if the ROI is a sector, centered on the sun
		The default is to draw the boundary of the CME using the cursor
	RADII:	Set this keyword with a 2-element array of the inner and
		outer radii (in solar radii) for the sector ROI
	ANGLES:	Set this keyword with a 2-element array of the left and right
		hand boundaries (viewed from sun-center) for the sector ROI

 OUTPUTS:
	This function returns the mass calculated for the ROI selected

 RESTRICTIONS:
	Only tested on C3, but should work for any telescope

 EXTERNAL CALLS:
	DEFROI, LASCO_READFITS, ROI_SECTOR, AWIN, AVERAGE, XLOADCT, RDPIX

 PROCEDURE:
	The files for the CME mass image is read in.  The image is displayed and XLOADCT
	is called to permit the contrast to be adjusted.  Then RDPIX is called to permit
	individual pixel values to be displayed.
	If neither SECTOR, RADII, nor ANGLES are set, then the ROI is selected using the
	cursor to draw the boundary by using DEFROI.
	If only SECTOR is set then the ROI is an annular sector whose vertex is the sun 
	center and the radii and angles of the sector are determined interactively.  If
	RADII is set then the radial values are set to the input and similarly if ANGLES
	is set.
	
 EXAMPLE:
	To find the mass of a CME, where the base image is '320004.fts' and
	the CME image is in '320005.fts', and saving the mass information in 'mass.lst':

		Mass = CME_MASSIMG2TOTAL ('320004.fts','320005.fts',save='mass.lst')

	To use an annular sector, with boundaries defined interactively:

		Mass = CME_MASSIMG2TOTAL ('320004.fts','320005.fts',save='mass.lst',/SECTOR)

	To use an annular sector, with angular boundaries pre-set :

		Mass = CME_MASSIMG2TOTAL ('320004.fts','320005.fts',save='mass.lst',/SECTOR,ANGLES=[250,280])

	or, since the SECTOR keyword is not necessary:

		Mass = CME_MASSIMG2TOTAL ('320004.fts','320005.fts',save='mass.lst',ANGLES=[250,280])

 MODIFICATION HISTORY:
 	Written by:	RA Howard, NRL, 5/19/97
	Modified:	RAH, NRL, 3/14/98, comments added

	@(#)cme_massimg2total.pro	1.2 10/03/99 LASCO IDL LIBRARY


CW_ZOOM1 (MODIFIED VERSION OF CW_ZOOM).

[List of Routines] (See ./cw_zoom1.pro)

 NAME:
	CW_ZOOM1 (modified version of CW_ZOOM).

 PURPOSE:
	This compound widget displays two images: an original image
	in one window and a portion of the original image in another.
	The user may select the center of the zoom region, the zoom scale,
	the interpolation style, and the method of indicating the zoom center.

 CATEGORY:
	Compound widgets.

 CALLING SEQUENCE:
	Widget = CW_ZOOM1(Parent)

 INPUTS:
       Parent:	 The ID of the parent widget.

 KEYWORD PARAMETERS:
	FRAME:	 If set, a frame will be drawn around the widget. The
		 default is FRAME=0 (no frame).
	MAX:	 The maximum zoom scale, which must be greater than
		 or equal to 1. The default = 20.
	MIN:	 The minimum zoom scale, which must be greater than
		 or equal to 1. The default = 1.
	RETAIN:	 Controls the setting for backing store for both windows.
		 If backing store is provided, a window which was obscured
		 will be redrawn when it becomes exposed. Set RETAIN=0 for
		 no backing store. Set RETAIN=1 to "request backing store
		 from server" (this is the default). Set RETAIN=2 for IDL
		 to provide backing store.
	SAMPLE:	 Set to zero for bilinear interpolation, or to a non-zero
		 value for nearest neighbor interpolation. Bilinear
		 interpolation gives higher quality results, but requires
		 more time. The default is SAMPLE=0 (bilinear interpolation).
	SCALE:	 The initial integer scale factor to use for the zoomed image.
		 The default is SCALE=4. The scale must be greater than or
		 equal to 1.
	TRACK:	 Set to zero if the zoom window should be updated only when
		 the mouse button is pressed. Set to a non-zero value if the
		 zoom window should be updated continuously as the cursor
		 is moved across the original image. Note: On slow systems,
		 /TRACK performance can be inadequate. The default is TRACK=0.
	UVALUE:	 The user value for the widget.
	XSIZE:	 The width of the window (in pixels) for the original image.
		 The default is 500.
	YSIZE:	 The height of the window (in pixels) for the original image.
		 The default is 500.
	X_SCROLL_SIZE: The width of the visible part of the original image.
		       This may be smaller than the actual width controlled
		       by the XSIZE keyword. The default is 0, for no
		       scroll bar.
	Y_SCROLL_SIZE: The height of the visible part of the original image.
		       This may be smaller than the actual height controlled
		       by the YSIZE keyword. The default is 0, for no
		       scroll bar.
	X_ZSIZE: The width of the window for the zoomed image.
		 The default is 250.
	Y_ZSIZE: The height of the window for the zoomed image.
		 The default is 250.

 OUTPUTS:
       The ID of the created widget is returned.

 SIDE EFFECTS:
	When the "Report Zoom to Parent" button is pressed, this widget
	will generate an event structure containing several data fields.
		x_zsize, y_zsize:	size of the zoomed image
		x0, y0:			lower left corner in original image
		x1, y1:			upper right corner in original image
	This event is a report to the parent that allows retrieval of the
	zoomed image using WIDGET_CONTROL. 

       Ed Esfandiari August 1998:
       Removed "Report Zoom to Parent" button by commenting it out.

 PROCEDURE:
	WIDGET_CONTROL, id, SET_VALUE=value can be used to change the
		original, unzoomed image displayed by the widget.
		The value may not be set until the widget has been
		realized.

	WIDGET_CONTROL, id, GET_VALUE=var can be used to obtain the current
		zoomed image displayed by the widget.

 MODIFICATION HISTORY:
	June 30, 1992, ACY
       7 April 1993, AB, Removed state caching.
	13 June, 1994, ACY, Save window and set to zoom prior to erase
			    Add byte conversion in set_value
	23 November, 1994, ACY, add code to handle cases in which the
			set_value image is larger or smaller than the
			original image.  Also remove scaling on display
			operation (only scale the image when it is set.)

       06 August 1998, Ed Esfandiari, removed "Report Zoom to Parent" button
                       and added "Show Zoomed Area" button which draws a box
                       on the region of the original image corresponding to
                       the zoomed image. This box will be dragged if the
                       "Track Cursor" is set. Also the coordinates of the
                       lower-left and upper-right corners of the box are
                       displayed. If "Show Zoomed Area" is not set, only
                       the cursor location is displayed. Finally, I changed
                       the name of this program to cw_zoom1.pro.


GET_CME_SUMMARY

[List of Routines] (See ./get_cme_summary.pro)

 NAME:
	GET_CME_SUMMARY

 PURPOSE:
	This function defines the cme_summary data structure

 CATEGORY:
	CME

 CALLING SEQUENCE:
	GET_CME_SUMMARY

 OUTPUTS:
	This function returns an empty CME structure.

 COMMON BLOCKS:
	com_xplot_ht

 SIDE EFFECTS:
	Initiates the XMANAGER if it is not already running.

 RESTRICTIONS:

 MODIFICATION HISTORY:
 	Written by:	RA Howard, NRL 12 May 1997

 @(#)get_cme_summary.pro	1.1 05/14/97 :NRL Solar Physics


MLO_MASSIMG

[List of Routines] (See ./mlo_massimg.pro)

 NAME:
	MLO_MASSIMG

 PURPOSE:
	This function subracts the input calibrated images into a mass image

 CATEGORY:
	CME

 CALLING SEQUENCE:
	Result = MLO_MASSIMG(Bn,Fn)

 INPUTS:
	Bn:	String containing the filename of the base image
	Fn:	String containing the filename of the CME image

 KEYWORD PARAMETERS:
	ONLY_NE:If set, then compute electron density rather than mass
	NEW:	If set, then process the base image, even if it has been done

 OUTPUTS:
	This function returns an image of the calculated mass

 RESTRICTIONS:
	Only works for calibrated images

 EXTERNAL CALLS:
	LASCO_READFITS, CALC_CME_MASS

 PROCEDURE:
	The files for the base and CME images are read in and calibrated.
	The images are then adjusted to have the same area and summing.
	The images are differenced. CALC_CME_MASS is called to 
	compute the CME mass.

 EXAMPLE:
	To find the mass of a CME, where the base image is '320004.fts' and
	the CME image is in '320005.fts', and saving the total mass information
	in 'mass.lst':

		Massimg = MLO_MASSIMG ('320004.fts','320005.fts')

 MODIFICATION HISTORY:
 	Written by:	RA Howard, NRL, 8/28/98 from C3_MASSIMG
			RAH 5/23/98, Make work and make similar to c3_cme_front

	%W% %H% LASCO IDL LIBRARY


NE2MASS

[List of Routines] (See ./ne2mass.pro)

 NAME:
	NE2MASS

 PURPOSE:
	This function converts electron density into mass

 CATEGORY:
	CME 

 CALLING SEQUENCE:
	Result = NE2MASS (Num_el)

 INPUTS:
	Num_el:	The number of electrons

 OUTPUTS:
	This function returns the mass corresponding to the electron density.

 PROCEDURE:
	
 MODIFICATION HISTORY:
 	Written by:	R.A. Howard, NRL, 18 September 1996

 @(#)ne2mass.pro	1.1 04/18/99 :LASCO IDL LIBRARY



ROI_SECTOR

[List of Routines] (See ./roi_sector.pro)

 NAME:
	ROI_SECTOR

 PURPOSE:
	This function returns the 1D list of indices contained within
	the specified sector

 CATEGORY:
	CME

 CALLING SEQUENCE:
	Result = ROI_SECTOR (Hdr,R1,R2,T1,T2)

 INPUTS:
	Hdr:	Image header (LASCO header structure)
	R1:	Inner radius of the sector (in solar radii), from sun center
	R2:	Outer radius of the sector (in solar radii), from sun center
	T1:	Left hand boundary of the sector (in degrees)
	T2:	Right hand boundary of the sector (in degrees)

 KEYWORD PARAMETERS:
	PIXEL:	If set, the inner and outer radii are specified in pixels
	DRAW:	If set, the perimeter of the sector is drawn on the image

 OUTPUTS:
	This function returns the indices of the pixels contained within
	the sector as an array of long integers.

 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 RESTRICTIONS:

 PROCEDURE:
	A sector is defined as the region bounded by two radial lines 
	(from sun center) at two position angles and the annulus (centered 
	on the sun) at two heights.

	The pixel coordinates of the inner and outer boundaries of the 
	annulus are computed at one degree increments from one position
	angle to the next.  Correction is made if the sector spans the
	North pole (where the position angle is 0/360).

	POLYFILLV is used to fill in the indices from the definition of
	the boundary.

	The image header is used in determining the sun center and the 
	number of pixels per radius.

 CALLED ROUTINES:
	GET_SUN_CENTER, GET_SOLAR_RADIUS, POLYFILLV

 EXAMPLE:
	To obtain the indices of a sector from 5 to 10 solar radii and
	position angles 270 to 280.  Note that the left hand boundary
	as viewed from the sun is 280 and the right hand boundary is 270.
	The outline of the sector is drawn on the display

	Result = ROI_SECTOR(hdr,5,10,280,270,/draw)

 MODIFICATION HISTORY:
 	Written by:	RA Howard, NRL, 2 December 1997

	@(#)roi_sector.pro	1.1 03/14/98 LASCO IDL LIBRARY


XCME_MES

[List of Routines] (See ./xcme_mes.pro)

 NAME:
	XCME_MES

 PURPOSE:
	This procedure is used to display CME measurements 

 CATEGORY:
	CME

 CALLING SEQUENCE:
	XCME_MES

 INPUTS:

 OPTIONAL INPUT PARAMETERS:
	Filename:	If filename is present then it is used immediately

 OUTPUTS:

 OPTIONAL OUTPUT PARAMETERS:

 COMMON BLOCKS:
	com_xcme_mes

 SIDE EFFECTS:
	Initiates the XMANAGER if it is not already running.

 RESTRICTIONS:

 PROCEDURE:

 MODIFICATION HISTORY:
 	Written by:	RA Howard, NRL, 7 May 1997

 @(#)xcme_mes.pro	1.2 03/03/98 :NRL Solar Physics


This page was created by IDL lasco_mk_html_help.pro on Fri Jan 12 09:28:43 2007.