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.
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
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)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)