[Previous]
[Next]
NAME:
F_ATIME
PURPOSE:
Changes time info from numbers into formatted strings
restricted to no more than 256 separate times.
For ATIME, put date information, Year, Month, Day, Hour, Minute, Sec
into ATIME format YY/MM/DD, HHMM:SS.XXX
CALLING SEQUENCE:
RESULT = F_ATIME(yr, month, dom, h, m, s [,/pub,/yohkoh])
= F_ATIME(tarr=tarr [,/pub,/yohkoh])
INPUTS:
YR - Year
MONTH - 1 to 12
DOM - Day of Month
H - hour
M - minute
S - second
OPTIONAL INPUTS:
TARR - 7xn array of time as integers,
The "standard" Yohkoh 7 element external representation
of time (HH,MM,SS,MSEC,DD,MM,YY)
/PUB - Publication format = "YY/MM/DD, HH:MM:SS.XXX"
/Yohkoh
- Yohkoh string format, e.g. '07-Mar-93 21:05:30.461'
CALLS: ***
gt_day [1], gt_day [2], gt_time [1], gt_time [2]
MODIFICATION HISTORY:
Written by Richard Schwartz for IDL Version 2, July 1992
Optional Yohkoh format, and tarr, April 1993
[Previous]
[Next]
Name: fastdoc
Purpose: user front end to faster idl documentation extraction/display
Input Parameters:
module - string name (or substring) of module to locate
Optional Keyword Parameters:
summ - if set, just display procedure/function definition
multi - if set, multiple versions are displayed
Calling Sequence:
fastdoc, module [,/summ, /multi]
CALLS: ***
MORE [1], MORE [2], doc_head [1], doc_head [2], doc_head [3], oneline [1]
oneline [2], path_sw [1], path_sw [2]
CALLED BY:
SXT_PREP0, SXT_TEEM [1], SXT_TEEM [2], SXT_TEEM1 [1], SXT_TEEM1 [2], SXT_TEEM1 [3]
SXT_TEEM2 [1], SXT_TEEM2 [2], SXT_TEEM2 [3], ref, sxt_flux [1], sxt_flux [2]
sxt_flux [3], sxt_mwave
History: slf, 9-Aug-1992
slf, 8-feb-1993 - use rd_tfile (via doc_head)
slf, 15-mar-1993 - minor cleanup , quieter
slf, 10-Jan-1994 - call oneliner if no module
slf, 25-Jan-1994 - add outarr, loop
[Previous]
[Next]
NAME:
FCOR_KL
PURPOSE:
This function returns the F-coronal brightness model of Koutchmy-Lamy
CATEGORY:
LASCO DATA_ANAL
CALLING SEQUENCE:
Result = FCOR_KL(Rho,Etas)
INPUTS:
Rho: The distance in solar radii
Etas:
OUTPUTS:
This function returns the F-coronal brightness for each point in mean
solar brightness units.
CALLED BY:
PB_INVERTER
RESTRICTIONS:
None
PROCEDURE:
MODIFICATION HISTORY:
Written by: Andrew Hayes, NRL, 12/98
Modified by: Andrew Hayes, NRL, 16 AUG 2000 returns 0 for rho eq 0 instead of crashing
%W% %H% LASCO IDL LIBRARY
[Previous]
[Next]
NAME:
FCORPOL_KL
PURPOSE:
This function returns the Koutchmy-Lamy model of the F-coronal polarization
CATEGORY:
LASCO DATA_ANAL
CALLING SEQUENCE:
Result = FCORPOL_KL(Rho)
INPUTS:
Rho: Distance from sun center in solar radii
OUTPUTS:
This function returns the degree of polarization (0,1) in the F-corona.
CALLED BY:
PB_INVERTER
RESTRICTIONS:
Valid for distances to 115 solar radii.
PROCEDURE:
MODIFICATION HISTORY:
Written by: Andrew Hayes, NRL, 12/98
@(#)fcorpol_kl.pro 1.1 10/08/00 LASCO IDL LIBRARY
[Previous]
[Next]
Project : SOHO - CDS
Name :
FDECOMP
Purpose :
Decompose file name into components.
Explanation :
Routine to decompose file name into disk (VMS) + directory +
name + qualifier + version (VMS).
On a Vax the filenames "MOTD" and "MOTD." are distinguished by the fact
that qual = '' for the former and qual = ' ' for the latter.
Use :
fdecomp, filename, disk, dir, name, qual, version
Inputs :
filename - string file name, scalar
Opt. Inputs : None.
Outputs :
All the output parameters are scalar strings
disk - disk name, always '' on a Unix machine
dir - directory name
name - file name
qual - qualifier, set equal to the characters beyond the last "."
version - version number, always '' on a Unix machine
Opt. Outputs: None.
Keywords : None.
Calls : ***
GETTOK [1], GETTOK [2], GETTOK [3], GETTOK [4]
CALLED BY:
CONCAT4DOS [1], CONCAT4DOS [2], CREATE_STRUCT [1], CREATE_STRUCT [2], DBHELP [1]
DBHELP [2], DBHELP [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], FCS, FINDPRO, FITSDIR
FLAG_LONG_NAMES [1], FLAG_LONG_NAMES [2], FXTPIO_WRITE, GETPRO, IRAFDIR, IRAFRD
SPEC_DIR [1], SPEC_DIR [2], SPEC_DIR [3], SXHWRITE, TAB_READ, TVLASER, WFPC2_READ
Common : None.
Restrictions: None.
Side effects: None.
Category : Utilities, Operating_System
Prev. Hist. :
version 1 D. Lindler Oct 1986
converted to SUN IDL. M. Greason, STX, 30 July 1990.
W. Landsman STX, August, 1991
Written : D. Lindler, GSFC/HRS, October 1986
Modified : Version 1, William Thompson, GSFC, 29 March 1994
Incorporated into CDS library
Version : Version 1, 29 March 1994
[Previous]
[Next]
NAME:
fem_grid
PURPOSE:
To overplot a grid of data held in the fem_data structure
(days/nights/SAA) on a previously drawn utplot graph
CALLING SEQUENCE:
fem_grid [,/fillsaa, /fillnight, /ksc, /defcolor]
CALLING EXAMPLES:
fem_grid ; just vert lines for day/night
fem_grid, /saa ; include saa grid points
fem_grid, /ksc, /fillsaa, /defcolor ; fill saa, add KSC and color
fem_grid, yrange=[.8*max(ydata),.9*max(ydata)]
OPTIONAL KEYWORD PARAMTERS:
yrange - 2 el. vector of yaxis grid range (def=full width=!y.crange)
saa - if set, saa (radition belt) grid points are included
ksc - if set, ksc contact time grid points are included
fillnight - if set, polyfill is used to fill night times
fillsaa - if set, polyfill is used to fill saa times
noday - if set, turns of day/night grid points
defcolor - make it a color plot using some default colors
CALLS: ***
GETUT [1], GETUT [2], anytim2ints [1], anytim2ints [2], evt_grid, get_utevent [1]
get_utevent [2], int2secarr [1], int2secarr [2], linecolors [1], linecolors [2]
rd_fem
CALLED BY:
ECLIPSE_PLOTTER, GOES_TEK [1], NOV93_ECLIPSE, NOV_ECLIPSE, OBS_PLOT, QUICKATT [1]
QUICKATT [2], QUICK_DPE, SXT_COVERAGE, TEST_ATT, fl_goesplot [1], fl_goesplot [2]
fl_goesplot [3], goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4]
goes_plot [5], goes_widget, last_lc, show_contacts
HISTORY:
Written SLFreeland, 21-Sep-1992
22-Nov-1993 (SLF) added ncolor and scolor
1-dec-1993 (JRL) Fixed the default ncolor and scolor option
Changed it so it doesn't bomb if requested interval
is less than 1 hour.
1-nov-1994 (SLF) allow ytype=1 (log)
10-nov-1994 (SLF) add additional check to 1-nov mod
2-mar-1995 (SLF) enabled KSC keyword function, add defcolor keyword
RESTRICTIONS - can get awfully cluttered for long time intervals
looks best with intervals less than 24 hours
[Previous]
[Next]
Project : SOHO - CDS
Name : FF_DEMO
Purpose : Demonstrates new on board flat-field for OV region.
Explanation :
Use : IDL> ff_demo
Inputs : None
Opt. Inputs : None
Outputs : None
Opt. Outputs: None
Keywords : None
Calls : ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], EXPTV, LABEL_IMAGE, SETIMAGE
SIGRANGE [1], SIGRANGE [2], XMOVIE [1], XMOVIE [2], YES_NO, concat_dir [4]
Common : None
Restrictions: None
Side effects: None
Category : Engineering
Prev. Hist. : None
Written : C D Pike, RAL, 31-May-96
Modified :
Version : Version 1, 31-May-96
[Previous]
[Next]
PROJECT:
SOHO - SUMER
NAME:
FF_GC
PURPOSE: make flat field correction and geometric distortion correction
for a list if files and store the corrected data
CATEGORY:
EXPLANATION:
SYNTAX:
ff_gc,filespec,flatfile
EXAMPLES:
INPUTS:
filespec - files for flatfielding
flatfile - file containing flatfield
OPTIONAL INPUTS:
None.
OUTPUTS:
None.
OPTIONAL OUTPUTS:
None.
KEYWORDS:
None.
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
CONCAT_DIR [3], DETECTOR, PIXPOS, SLITNUM, SUM_Flatfield, break_file [4]
concat_dir [4], destr_bilin [1], destr_bilin [2]
COMMON:
None.
RESTRICTIONS:
Expects data files that are decompressed and reversed!!!
ff-file as second parameter without extension
Needs Environment Variable FLATFIELDRST pointing to the
directory containing Flatfields (e.g. calibration:[flight.ff])
SIDE EFFECTS:
None.
HISTORY:
Version 1, September 16, 1998, Udo Schuehle, MPAE Lindau. Written
Version 2, September 28, 1999, removed "noreverse" keyword
CONTACT:
Udo Schuehle, MPAE Lindau (schuehle@linmpi.mpg.de)
[Previous]
[Next]
PROJECT:
SOHO - SUMER
NAME:
FF_ODDEVEN
PURPOSE: make ODDEVEN correction
for a list if files and store the corrected data
CATEGORY:
EXPLANATION:
SYNTAX:
ff_oddeven,'filespec','det'
EXAMPLES:
INPUTS:
filespec - files for flatfielding
det - detector 'A' or 'B'
outpath - directory where output will be stored
OPTIONAL INPUTS:
None.
OUTPUTS:
processed files
OPTIONAL OUTPUTS:
None.
KEYWORDS:
None.
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
CONCAT_DIR [3], DETECTOR, PIXPOS, SLITNUM, SUM_Flatfield, break_file [4]
concat_dir [4]
COMMON:
None.
RESTRICTIONS:
Expects data files that are decompressed and reversed.
Detector designation (A or B) as second parameter with ''
Needs Environment Variable FLATFIELDRST pointing to the
directory containing the Oddeven_array_x files
SIDE EFFECTS:
None.
HISTORY:
Version 1, February, 2003, Udo Schuehle, MPAE Lindau. Written
CONTACT:
Udo Schuehle, MPAE Lindau (schuehle@linmpi.mpg.de)
[Previous]
[Next]
NAME:
fid2ex
PURPOSE:
Given a fileID, generate the 7-element time array
CALLING SEQUENCE:
tarr = fid2ex(fid)
INPUT:
fid
CALLED BY:
BCS_24HR_PLOT [1], BCS_24HR_PLOT [3], BCS_CREATE_CAT, JITTER_HTML, OBS_PLOT
SELECT_24HR, WOBS_PLOT, bcs_path, check_oldprocess [1], check_oldprocess [2]
check_oldprocess [3], check_oldprocess [4], delete_week [1], delete_week [2]
disp_sci5k, edac_summary, fidrange [1], fidrange [2], find_dbo_dir, gbo_pfi
gen_file_id [1], gen_file_id [2], get1gbo, get_afile_size [1]
get_afile_size [2], get_gbo_pfi, get_hk_info [1], get_hk_info [2], get_mk3 [1]
get_mk3 [2], get_seq_tab, getwid, goes3sec_copy, gtab_summary, mk_gif_mag_index
mk_gsn_obs_s1, mk_gx, mk_hst_summary, mk_pnt, mk_sdmi, mk_week_file [1]
mk_week_file [2], mo_check, nearest_fid [1], nearest_fid [2], new_disp_sci5k [1]
new_disp_sci5k [2], new_edac_summary, nts_copy [1], nts_copy [2], pfi_dominant
rd_hk [1], rd_hk [2], rd_selsisi, read_msok_jpg, read_spartan, ref_day_plot
sel_fileinfo, sel_filetimes [1], sel_filetimes [2], tim2dbase, wfile, xspr [1]
xspr [2], yoyo_man2
HISTORY:
Written 11-Dec-91 by M.Morrison
24-Aug-92 (MDM) - Modified to accept an array of FIDs
5-Jan-93 (MDM) - Modified to handle case where there are blank
spaces in funny places
[Previous]
[Next]
Name: fidrange
Purpose: return fileid range covered by yohkoh ref files on a directory
Input Parameter:
directory - string containing path (default is current directory)
Optional Keyword Parameters:
filt - optional file filter (default is ada*)
range - if set, return value is first and last elements
days - if set, return value is uniq (yymmdd) portion of fids
keeppre - if set, return includes file prefix (ex: ada)
time - if set, return is formmatted time string
Output Paramters:
function returns fids matching filt on directory optionally
modified via. keyword parameters
Calling Sequence:
fids=fidrange([directory] [,filt=filt], [,/range] [,/days])
Category:
swmaint, system, dbase
CALLS: ***
ADDTIME [1], ADDTIME [2], BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3]
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], UNIQ [1], UNIQ [2], UNIQ [3]
break_file [4], concat_dir [4], curdir [1], curdir [2], fid2ex [1], fid2ex [2]
fmt_tim [1], fmt_tim [2]
CALLED BY:
chk_flares [1], chk_flares [2]
History: slf 30-July-1992
[Previous]
[Next]
NAME:
fig_summary
PURPOSE:
To display image, contour, plots or values information on a figure.
INPUT:
OPTIONAL INPUT:
CALLS: ***
CONGRID [1], CONGRID [2], CONGRID [3], FIG_SUM_IMG, FIG_SUM_PLOT, font_size [1]
font_size [2], mk_refbar [1], mk_refbar [2], pprint [1], pprint [2], tv2 [1]
tv2 [2], xyouts2 [1], xyouts2 [2]
CALLED BY:
cal_fig_mich, cal_fig_pol
OPTIONAL KEYWORD INPUT:
xshift - Shift plots by normalized amount
xshift = [0, .05] ;move right plots over 5%
HISTORY:
Written 27-Jun-94 by M.Morrison
V1.1 6-Sep-94 (MDM) - Added XSHIFT option
V1.2 12-Sep-94 (MDM) - Allowed SCL_MIN and SCL_MAX to be arrays
[Previous]
[Next]
Project : SOHO-CDS
Name : FILE_ACC
Purpose : Determine existence, type and access of file on UNIX system.
Explanation :
This routine is intended to supplement the IDL findfile function.
For a given unix path name, e.g '/disk2/bowen/adas/file', this
routine returns certain information.
1. Whether the path exists.
2. Whether the user has read permission.
3. Whether the user has write permission.
4. Whether the user has execute permission.
5. What the file type is i.e file, directory etc.
The routine works by spawning various UNIX commands and
interpreting the information returned. A directory listing
command is used to get basic file information; on ULTRIX 'ls -ld',
which establishes whether the file exists and also returns the
file type, access and ownership information. The 'd' parameter
ensures that directory information is listed rather than the
contents of a directory.
Before the access information can be interpreted the current user
is found by spawning the 'whoami' UNIX command. If the user is not
the owner of the file the UNIX 'groups' command is used to determine
whether or not the owner and the user are in the same group.
Using all of this information the correct read, write and execute
permissions are derived from the owner, group or world access
codes given in the directory listing information.
This processing is performed in a group of four routines which
are all incorporated in the file_acc.pro file.
Note: the syntax of the UNIX commands and the output which is
returned may vary from one operating system to another. The
operating system is checked and specific code executed for that
system. Currently the routine has specific code for;
**** File listing command: ****
ULTRIX: Command 'ls -ld /.../file.dat'
Output '-rw-r--r-- 1 bowen 5688 May 27 17:15 file.dat'
OSF: (Same command as ULTRIX but different output, difference
doesn't matter though, only first three fields used.)
Output '-rw-r--r-- 1 bowen user 5688 May 27 17:15 file.dat'
SUNOS: (Same command and output as ULTRIX)
All others: (same as ULTRIX code)
**** Groups identification: ****
ULTRIX: Command 'groups root'
Output 'system daemon tty'
OSF: (Same command and output as ULTRIX)
SUNOS: (Same command but, importantly, different output)
Command 'groups root'
Output 'root: system daemon tty'
All others: (Same as ULTRIX code)
**** User identification: ****
ULTRIX, OSF and SUNOS: Command 'whoami'
Output 'name'
Use :
Example of file_acc usage;
file = '/disk2/fred/data'
file_acc, file, exist, read, write, execute, filetype
if exist eq 1 then begin
print,'Permissions for file ',file,' are;'
if read eq 1 print,'read'
if write eq 1 print,'write'
if execute eq 1 print,'execute'
print,'The file type is ',filetype
end else begin
print,file,' does not exist'
end
Inputs :
FILE - The UNIX system name of the file. For example
'file.dat' refers to the current directory and
'/disk2/fred/data' is a full path name.
Opt. inputs :
None
Outputs :
EXIST - Integer, 1 if the file exists, 0 if it does not.
READ - Integer, 1 if the user has read permission 0 if not.
WRITE - Integer, 1 if the user has write permission 0 if not.
EXECUTE - Integer, 1 if the user has execute permission 0 if not.
FILETYPE- String, the file description character from the
directory listing output. e.g for ULTRIX '-' indicates
a file and 'd' indicates a directory file.
Opt. outputs:
None
Keywords :
None
Calls: ***
FILE_ACC_DET, FILE_ACC_GRP, FILE_ACC_SPLIT
Restrictions: None
Sise effects:
A number of UNIX commands are spawned.
Category:
UNIX system IDL utility.
Prev. Hist. : None
Written:
Andrew Bowen, Tessella Support Services plc, 29-Apr-1993
Modified: Version 2, Header format updated, C D Pike, 7-Oct-93
Version: Version 2 7-Oct-1993
[Previous]
[Next]
Name: file_append
Purpose: append text to text file - optionally, only append uniq text
Input Parameters:
file - file name - if no such file exists, open new file
text - text to append - string or string array
Keyword Parameters:
uniq - if set, only append uniq lines of text
nlines - number of new appended lines (same as n_elements(text) if
uniq is not set
loud - if sent, print informational messages
newfile - if set, open use a new file (on unix, deletes existing)
Calling Sequence:
file_append, file, text [,/uniq, nlines=nlines, /newfile, /loud]
CALLS: ***
rd_tfile [1], rd_tfile [2]
CALLED BY:
ADD_METHOD, DISPLOI_MON5K, JSMOVIE, JSMOVIE2, MDI_SUMMARY, UNIX_SPAWN, WIN_SPAWN
check_compile [1], check_compile [2], check_oldprocess [1]
check_oldprocess [2], check_oldprocess [3], check_oldprocess [4]
check_process [1], check_process [2], daily_forecast [2], dbase2disk
disp_sci160k [1], disp_sci160k [2], dpc_summary, eit_mirror, eit_proton_summary
fl_mktext, flares2disk, ftp_copy [1], ftp_copy [2], ftp_copy_new, ftp_defprompt
genx2html [1], genx2html [2], go_batch [1], go_batch [2], go_mk_cd
go_sxt_sss2secondary, go_yo_prod_batch, goes2str, goes_gaps, html_basics, html_doc
html_form_addtime [1], html_form_addtime [2], html_form_addtime [3]
html_linklist, html_remove_template, image2movie, is_bestnode [1]
is_bestnode [2], laststat [1], laststat [2], mail [1], mail [2], make_mirror
map_env2dir, mk_bad_pix_map_load, mk_cd [1], mk_cd [2], mk_hst_summary
mk_lasteit_movie, mk_pix [1], mk_pix [2], mk_pubydb, mk_sfc [1], mk_sfc [2]
mk_sfd [1], mk_sfd [2], mk_sfd [3], mk_sfd [4], mk_ssc_batch [1], mk_ssc_batch [2]
mk_ydb_list, mk_ydbtab, mk_ydbtape [1], mk_ydbtape [2], mo_check, mo_job0, mo_job1
mo_patch, mobad_summ, modvolume_inf [1], modvolume_inf [2], monitor_center [1]
mostrip, multi_hda2hxi, new_dpath [1], new_dpath [2], pr_tr_header, pref_super
rd_ydbtap, ref_term [2], search_obs, sfc_check, soon_catstat, soon_com2html
soon_search [1], soon_search [3], soon_search_www, special_movie, ssw_conflicts
ssw_findstuff2html, ssw_install [1], ssw_install [2], ssw_move
ssw_start_rpcserver, ssw_strfind, ssw_swmap_bestof, ssw_swmap_info
ssw_swmap_uniqinfo, ssw_track_demo, ssw_unspike_cube, ssw_upgrade [1]
ssw_upgrade [2], sswdb_info, sswdb_install, sw2tree [1], sw2tree [2], sxt2mpeg
sxt_html, sxt_ssn2fits [1], term_times, tim2dbase, tim2tfss, timeline, topsdb [1]
topsdb [2], trace_cat2cosmic, trace_cosmic2hist_accum, trace_do_data_requests
trace_get1www_image, trace_last_movie [1], trace_last_movie [2]
trace_last_movie [3], trace_movie_index [1], trace_movie_index [2]
trace_recent_movie_summary, trace_request_summary, trace_special_movie [1]
trace_special_movie [2], trace_special_movie [3], trace_special_movie2
trace_submit_request, trace_success_file, trace_unspike_time, ucon_check
web_seq, write_access [1], write_access [2], wwwidl_server_check
wwwidl_watchdog [1], wwwidl_watchdog [2], xdisp_fits, xdisp_trace [1]
xdisp_trace2, xdisp_trace3, xhkplot, xset_chain [1], xset_chain [2], xso_search
xsw2tree, xsw2tree_event, xswlist [2], xwrite_hist, ycopy, ydb_install [1]
ydb_install [2], ydump
History:
slf, 10-mar-1993
slf, 4-May-1993 ; added newfile option
slf, 3-mar-1995 ; add flush (for fast machines)
slf, 8-mar-1995 ; quiet failure, add ERROR
[Previous]
[Next]
Name: file_compress
Purpose: provide IDL interface to standard unix compress utility
Input Paramters:
inname - file name or vector of file names to compress
Output Parameters:
outname - compressed file names (same dimension as inname)
(usually, = inname.Z ; null if problem w/input or compress)
Optional Keyword Parameters
noreplace - (input) - switch, if set, don't replace inname with outname
newname - (input) NOT IMPLEMENTED specify outname
Calling Sequence:
file_compress, inname [, outname ,/noreplace]
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_EXIST [2], concat_dir [4]
file_exist [1], file_exist [3], tbeep [1], tbeep [2], tbeep [3]
CALLED BY:
data_compress [1], data_compress [2], data_compress [3], do_ads, mk_sdm
rd_week_file [1], rd_week_file [3], rd_week_file [4]
History: 30-Jun-93 (SLF)
11-Jul-93 (SLF) Added dirs keyword and function
15-Mar-93 (SLF) enclose in quotes (embedded meta-characters)
[Previous]
[Next]
NAME:
FILE_DATE_MOD
PURPOSE:
This function returns the modification date of a file as (local) TAI
CATEGORY:
LASCO UTILITY
CALLING SEQUENCE:
Result = FILE_DATE_MOD(File)
INPUTS:
File: The name of the file to be processed
KEYWORD PARAMETERS:
DATE_ONLY If set, return date only as a string
UTC If set, returns GMT/UTC time (Not implemented for Windows)
OUTPUTS:
This function returns the date the file was modified as TAI
CALLED BY:
C2_CALIBRATE, C3_CALIBRATE, READ_EXP_FACTOR, RTMVI [1], UPDATE_MPG
PROCEDURE:
The procedure spawns a command to the OS to get the modification date
CALLS: ***
ANYTIM2UTC [1], ANYTIM2UTC [2], GET_UTC, STR_SEP, UTC2STR, UTC2TAI
EXAMPLE:
date = FILE_DATE_MOD(sample_file.dat,/date_only)
returns the date as a string such as 1996/10/15
MODIFICATION HISTORY:
10 Feb 1999 - Nathan Rich, NRL
fixed year rollover problem e.g Dec 21 was producing a
file mod of Dec 21, 1999 since the ls command produced
just Dec 21 and not Dec 21 1998
From the ls man page
If the time of last modification is greater than six
months ago, it is shown in the format `month date year'
for the POSIXlocale. When the LC_TIME locale category
is not set to the POSIX locale, a different format of
the time field may be used. Files modified within
six months show 'month date time'.
Still not sure if this is 6 months to the day or six
months by months. We will try six months by months - DW
7 Oct 1999 - Fixed error in determining and using mon_index - NBR
Jan 2000 - Correct definition of mm and dd; fix year determination (again) - NBR
14 Aug 2000, NBR - Added /SH to spawn call
2 Apr 2001, NBR - Return date-only in ECS format
30 Nov 2001, NBR - Add mods for Windows compatibility for GSV
21 Jun 2002, NBR - Use /bin/ls instead of /usr/ucb/ls and change method of parsing string
9 Jun 2005, NBR - Add UTC option
5 Oct 2006, F. Auchère - replace close, file1 by free_lun, file1 (frees the allocated unit)
7 Oct 2006, F. Auchere - more robust way to extract date from spawn output under windows
@(#)file_date_mod.pro 1.9 10/26/05 LASCO IDL LIBRARY
[Previous]
[Next]
Name: file_delete
Purpose: system/shell independent file delete
Input Parameters:
files - scaler string or vector string array of filenames to delete
Output Paramters:
status - sucess 1 -> deleted or not there to begin with
0 -> couldnt delete (it's still there)
(scaler or vector depending on files)
Keyword Parameters:
quiet - if set, dont print message on failures
Calling Sequence:
file_delete, files [,status , /quiet]
History:
slf, 8-feb-1993
CALLS: ***
FILE_EXIST [2], file_exist [1], file_exist [3]
Restrictions: must have write priviledge to requested files
[Previous]
[Next]
Project : SOHO - CDS
Name : FILE_EXIST()
Purpose : Test whether a file exists.
Explanation : Returns true(1) if any files match pattern=file
or false(0) if no files found.
Use : IDL> file_ok = file_exist(filename [,/direct])
Inputs : file - file, pathname or file filter to check
Opt. Inputs : None
Outputs : Returns 1/0 as each file does/does not exist.
Opt. Outputs: None
Keywords : direct - set if want full check (slower) - use if might be an
empty directory you are looking for
Calls : ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], Bell, FILE_STAT [1], FILE_STAT [2]
STR_LASTPOS [1], break_file [4], file_stat [3], str_lastpos [2]
CALLED BY:
ANDRIL_SXT, BCS_COMP, BUILD_SSX, CATEGORY, CAT_DIRECTORY, CAT_RAW, CDS_AR_OBS
CDS_VEL_SLICE [2], CDS_WAVE_CAT, CDS_WAVE_FILES, CFITSLIST, CHIANTI_DEM
CH_LINE_LIST, CH_SYNTHETIC, CW_LOADCT, EIS_LOAD_IMAGE [1], EIS_LOAD_IMAGE [2]
EIT_MKMOVIE, EMISS_CALC, FB_RAD_LOSS, FIRST_LIGHT [1], FIRST_LIGHT [2]
FLUSH_CATALOG, Files_Handling [1], Files_Handling [2], GETBKGIMG, GET_CACHE
GET_ORBIT_CDF2, GHOST_AMOUNT, GOES_TF, GOES_TF_COEFF, GT_EXPTIME [2], GT_MIRRPOS
GT_NUMEXP, GT_NUMWIN, GT_SLITNUM, GT_SLITPOS, GT_START, GT_WINSIZE, GT_WLABEL
GT_WLIMITS, GT_WNUM, HEADCAT, HESSI, HESSI_DATA_PATHS [1], HESSI_SHUTTERS
HESSI_SPEX [1], HESSI_SPEX [2], HSI_LOCATE_FLARE [2], HSI_LOCATE_FLARE [4]
HSI_SPECTRUM_FITSPASTE, HXTPIXON, HXT_QLOOK, IDL5TO4, IMAGE_TOOL, IMAGE_TOOL_EVENT
ISOTHERMAL, ITOOL_EIT_DEGRID, ITOOL_LOAD_IMAGE, ITOOL_OVERLAYER, ITOOL_RD_GIF
LOCK_DATABASE, MAKE_CHIANTI_SPEC, MAKE_DAILY_IMAGE, MKMOVIE
MKMOVIE0 obsolete version of mkmoviepro, MK_RASTER, NET_DIR_DIFF
OVSA_EXPLORER formerly OVSA_PRESUB, Open Packet File, Open Score File
PICKFITS, PICK_CAN_PRELIM, PLOT_CHIANTI_NE, PLOT_CHIANTI_TE, PLOT_DELTAT
PLOT_SPEC [2], PRG_DETAIL, PRG_PLAN, PURPOSE, RATIO_PLOTTER [1], RD_IMAGE_GIF
READCDSFITS, READ_ANALIST, READ_PS2, REDUCE_LEVEL_1, RFITS2 [1], RFITS2 [2], RTMOVIE
RTMVI [1], SFITSLIST, SHOW_FITS_HDR, SHOW_POPS, SPEX_READ_FIT_RESULTS
SSW_LOCAL_PATH, STUDY_BRIEF, ST_SUMER, SUMER_DISTORT_COR, SUMER_FILE
SUMER_SEARCH_PD_EVENT, SUMER_SERIAL, TP_GET_DUMDATA, TR_FLAT_SUB, TV_SYNOP
USE_CHIANTI, WIN_DUMP, WRT_GEN [1], WRT_GEN [2], WRUNMOVIEM, WR_MOVIE, XCOR_CDS
ZETA_0, add_pro [1], add_pro [2], ads_into_att, break_doc [1], break_doc [2]
break_doc [3], ccd_hdr_info, ccd_sunc [1], ccd_sunc [2], cdrom_files [2], ch_ss
check_compile [1], check_compile [2], check_log [1], check_log [2]
check_process [1], check_process [2], check_ql_after_lz, chk_pointing
color_copy, configure_http, cont2time [1], cont2time [2], ctraj2orbit
daily_forecast [2], data_sum2fits, dbase2disk, delete_week [1], delete_week [2]
disk2_mo [1], disk2_mo [2], disp_synop, disp_therm_rs232, do_ads, do_demo [1]
do_demo [2], do_i0_dps_reformat, do_reg_backup, do_tr_inventory, doc_summ [1]
doc_summ [2], dps_proc_lev0_hk, dps_proc_mem_dump, dsn_check [1], dsn_check [2]
dsp_menu, eit_eff_area, eit_file2path, eit_files, eit_fulldiskdb
eit_proton_summary, eitoversxt, extract_val, file__define, file_compress [1]
file_compress [2], file_delete [1], file_delete [2], file_delete [3], file_diff
file_list2, file_path [1], file_path [2], file_uncompress [1]
file_uncompress [2], fits2time [1], fits2time [2], fits2time [3]
fl_goesplot [1], fl_goesplot [2], fl_goesplot [3], fl_summary [1]
fl_summary [2], fl_summary [3], fl_suntoday [1], fl_suntoday [2]
fl_suntoday [3], fl_sxtobsnar [1], fl_sxtobsnar [2], fort2hxi [1], fort2hxi [2]
freebound_ion, ft_mng_hm, ftp_copy [1], ftp_copy [2], ftp_copy2sites, ftp_copy_new
genx2html [1], genx2html [2], get1doc [1], get1doc [2], get_ads [1], get_daily [1]
get_daily [2], get_gevloc_data, get_hk_info [1], get_hk_info [2]
get_ksc_holiday, get_mk3 [1], get_mk3 [2], get_selsis, get_sirius_yr
get_solar_indices, get_tty_type [1], get_tty_type [2], get_uvxsections
go_batch [1], go_batch [2], go_ssw_batch, go_yo_prod_batch, goes_log
goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5]
gt_exptime [1], hessi_version, hsi_flare_position_image [1]
hsi_flare_position_image [2], hsi_full_sun_image [1], hsi_full_sun_image [2]
hsi_locate_flare [1], hsi_locate_flare [3], html_basics, html_doc
html_form_addtime [1], html_form_addtime [2], html_form_addtime [3]
html_get_files, html_linklist, html_remove_template, hxt_impulsivness
hxt_multimg, hxt_sources, idl_server_command, idl_server_control, image2movie
ip_que_dmpver, is_alive [1], is_alive [2], keyword_db, ksc_commands, lapalma_cat
lapalma_files, lasteit, lastsfd [1], lastsfd [2], laststat [1], laststat [2]
mail [1], mail [2], make_goes_chianti_response [1]
make_goes_chianti_response [2], make_goes_chianti_response [3]
make_goes_chianti_response [4], make_ssw_mirror, map_env2dir, mdi_cat, mdi_files
mdi_write_genxcat, mdimrot, mdipdist, mdiprot, mk_att [1], mk_att [2]
mk_bad_pix_map_load, mk_dpc_image, mk_gsn_obs, mk_gsn_obs_s1, mk_gx
mk_hst_summary, mk_imgsum_html, mk_mo_disk, mk_mo_disk2, mk_mo_log, mk_obs
mk_orbit [1], mk_orbit [2], mk_pix [1], mk_pix [2], mk_pnt, mk_query [1]
mk_query [2], mk_query_genx, mk_sdcs, mk_sdm, mk_sfc [1], mk_sfc [2], mk_sft [1]
mk_sft [2], mk_spd, mk_ssc [1], mk_ssc [2], mk_ssc_batch [1], mk_ssc_batch [2]
mk_sumer_dbase_ff, mk_sxh, mk_syn_sfc [1], mk_syn_sfc [2], mk_trace_i0
mk_week_file [1], mk_week_file [2], mo_patch, mo_tap_dump, mon_health [1]
mon_health [2], mreadfits_header, msok_copy_jpg, msok_poi_copy [1]
msok_poi_copy [2], mwritefits, nobeyama_update, obs_summary, op_get_special
op_rd_special, password_info, phoenix_spg_get, ratio_plotter [2]
raw_list2pixmap, rd_atodat [1], rd_atodat [2], rd_bsc, rd_ccdh_fil, rd_dpc_table
rd_egse_hk_txt, rd_gbl_raw [1], rd_gbl_raw [2], rd_goes_fits, rd_goesp_ascii
rd_goesx_ascii, rd_gsn, rd_hk [1], rd_hk [2], rd_ionbal [1], rd_ionbal [2]
rd_old_obs, rd_pkt_head [1], rd_pkt_head [2], rd_rasm, rd_roadmap [1], rd_sdl
rd_selsis, rd_selsisi_dir, rd_sld, rd_sls, rd_sot, rd_srspas, rd_ssl, rd_sumer_genx
rd_sxa, rd_sxc, rd_sxl, rd_therm_rs232, rd_tr_seq_head, rd_week_file [2], rd_ydbtap
read_genxcat, read_lapalma, read_mdi, read_sooncheck, read_spartan, ref_term [2]
reslot, restgenx, restore_idl_routines, save_idl_routines, savegenx, search [1]
search [2], search_obs, secchi_time2files, selsis_copy [1], selsis_copy [2]
selsisi2fits, setup_spex [1], setup_spex [2], sfc_check, show_pix [1]
show_pix [2], soon_catstat, soon_com2html, special_movie, ssw_bin
ssw_check_contrib, ssw_colors, ssw_conflicts, ssw_contrib_info
ssw_contrib_monitor, ssw_fs_cat2db, ssw_get_sources, ssw_getapplet
ssw_install [2], ssw_install_explinkages, ssw_instr_info, ssw_javamovie
ssw_jsulr2data, ssw_sec_aktxt2struct, ssw_set_chianti, ssw_setsswdb_gen
ssw_start_rpcserver, ssw_swmap_uniqinfo, ssw_time2paths, ssw_upgrade [1]
ssw_upgrade [2], ssw_upgrade_backup, ssw_url2data, ssw_whereis_perl
sswdb_upgrade, strpair2struct, struct_where, sum_FField, sun_today [1]
sun_today [2], sun_today [3], sw2tree [1], sw2tree [2], sxl_analysis, sxt2eit
sxt2file, sxt2mpeg, sxt_etemp, sxt_files, sxt_html, sxt_mornint, sxt_patch_att
sxt_prep [1], sxt_prep [2], sxt_prep [3], sxt_ssc2sss, sxt_ssn2fits [1]
sxt_summary, sxt_uvf_info [1], sxt_uvf_info [3], sxt_where, synop_movie
table2struct, term_times, tfr_summary, tfr_summary2, tim2dbase, timeline
timeline2html, topsdb [1], topsdb [2], tr_build_img [1], tr_head_info
tr_inventory_telem, tr_lut_conv, tr_reformat, tr_summary_head, tr_tab_head
trace_cat, trace_cat2data, trace_decode_idl PLEASE USE trace_jpeg_decomp
trace_dph2struct [1], trace_euv_resp [1], trace_file2path, trace_files
trace_get1www_image, trace_get_vignette, trace_jpeg_decomp
trace_last_movie_queue, trace_make_tma, trace_make_tmr [1], trace_make_tmr [2]
trace_movie_index [1], trace_movie_index [2], trace_movies_prioritize [1]
trace_movies_prioritize [2], trace_newmoviedata, trace_rd_jpeg
trace_recent_movie_summary, trace_request_summary, trace_special_movie [1]
trace_special_movie [2], trace_special_movie [3], trace_special_movie2
trace_success_file, trace_uv_resp, trace_where, ucon_path, url_decode, web_seq
weekid [2], write_access [1], write_access [2], write_trace
wrt_fits_bin_exten [2], wrt_sci160k_img, wrtwkdat, wwwidl_server_check
wwwidl_watchdog [1], wwwidl_watchdog [2], xcheckip, xdisp_fits, xdisp_sci5k
xdisp_tfr, xdisp_trace [1], xdisp_trace2, xdisp_trace3, xhkplot, xset_chain [1]
xset_chain [2], xspr [1], xspr [2], xsw2tree, xsw2tree_event, xswlist [2]
ydb_exist [1], ydb_exist [2], ydb_exist [3], ydb_exist [4], ydb_install [1]
ydb_install [2], ydb_use, yo_mkos1_dbase, yo_xda2legacy, yohkoh_legacy_files [1]
yohkoh_legacy_files [2], yopos [1], yopos [2], ys_contrib [1], ys_contrib [2]
Restrictions: None
Side effects: None
Category : Utilities, Files, OS
Prev. Hist. : Yohkoh procedure by Sam Freeland, LPARL, 30-Nov-1991
4-Sep-92 (MDM) - Modified to handle an array of input files
23-sep-93 (slf) - make sure null file returns false
(findfile count=1! when null requested)
17-Mar-94 (SLF) - use file_stat(/exist) for non wild card cases
April Fools'94 (DMZ) -- added check for :: in file name
(file_stat doesn't work across DECNET)
31-May-94 (DMZ) -- added check for VMS directory name input
(file_stat doesn't seem to work on VMS
dir names like '[ys.atest.soft]')
16-Aug-94 (DMZ) -- added another VMS patch to handle
case when user enters a VMS subdirectory name
without a file name.
Written : CDS version by C D Pike, RAL, 2-Jul-1993
Modified : Version 2, William Thompson, GSFC, 21 June 1995
Remerged CDS and Yohkoh versions.
Version : Version 2, 21 June 1995
[Previous]
[Next]
Name: file_exist
Purpose: returns true(1) if any files match pattern=file
false(0) if no files found
Input Parameters:
file - file, pathname or file filter to check
Optional Keyword Parameters
direct - set if want full check (slower) - use if might be an
empty directory you are looking for
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], Bell, FILE_STAT [1], FILE_STAT [2]
STR_LASTPOS [1], break_file [4], file_stat [3], str_lastpos [2]
CALLED BY:
ANDRIL_SXT, BCS_COMP, BUILD_SSX, CATEGORY, CAT_DIRECTORY, CAT_RAW, CDS_AR_OBS
CDS_VEL_SLICE [2], CDS_WAVE_CAT, CDS_WAVE_FILES, CFITSLIST, CHIANTI_DEM
CH_LINE_LIST, CH_SYNTHETIC, CW_LOADCT, EIS_LOAD_IMAGE [1], EIS_LOAD_IMAGE [2]
EIT_MKMOVIE, EMISS_CALC, FB_RAD_LOSS, FIRST_LIGHT [1], FIRST_LIGHT [2]
FLUSH_CATALOG, Files_Handling [1], Files_Handling [2], GETBKGIMG, GET_CACHE
GET_ORBIT_CDF2, GHOST_AMOUNT, GOES_TF, GOES_TF_COEFF, GT_EXPTIME [2], GT_MIRRPOS
GT_NUMEXP, GT_NUMWIN, GT_SLITNUM, GT_SLITPOS, GT_START, GT_WINSIZE, GT_WLABEL
GT_WLIMITS, GT_WNUM, HEADCAT, HESSI, HESSI_DATA_PATHS [1], HESSI_SHUTTERS
HESSI_SPEX [1], HESSI_SPEX [2], HSI_LOCATE_FLARE [2], HSI_LOCATE_FLARE [4]
HSI_SPECTRUM_FITSPASTE, HXTPIXON, HXT_QLOOK, IDL5TO4, IMAGE_TOOL, IMAGE_TOOL_EVENT
ISOTHERMAL, ITOOL_EIT_DEGRID, ITOOL_LOAD_IMAGE, ITOOL_OVERLAYER, ITOOL_RD_GIF
LOCK_DATABASE, MAKE_CHIANTI_SPEC, MAKE_DAILY_IMAGE, MKMOVIE
MKMOVIE0 obsolete version of mkmoviepro, MK_RASTER, NET_DIR_DIFF
OVSA_EXPLORER formerly OVSA_PRESUB, Open Packet File, Open Score File
PICKFITS, PICK_CAN_PRELIM, PLOT_CHIANTI_NE, PLOT_CHIANTI_TE, PLOT_DELTAT
PLOT_SPEC [2], PRG_DETAIL, PRG_PLAN, PURPOSE, RATIO_PLOTTER [1], RD_IMAGE_GIF
READCDSFITS, READ_ANALIST, READ_PS2, REDUCE_LEVEL_1, RFITS2 [1], RFITS2 [2], RTMOVIE
RTMVI [1], SFITSLIST, SHOW_FITS_HDR, SHOW_POPS, SPEX_READ_FIT_RESULTS
SSW_LOCAL_PATH, STUDY_BRIEF, ST_SUMER, SUMER_DISTORT_COR, SUMER_FILE
SUMER_SEARCH_PD_EVENT, SUMER_SERIAL, TP_GET_DUMDATA, TR_FLAT_SUB, TV_SYNOP
USE_CHIANTI, WIN_DUMP, WRT_GEN [1], WRT_GEN [2], WRUNMOVIEM, WR_MOVIE, XCOR_CDS
ZETA_0, add_pro [1], add_pro [2], ads_into_att, break_doc [1], break_doc [2]
break_doc [3], ccd_hdr_info, ccd_sunc [1], ccd_sunc [2], cdrom_files [2], ch_ss
check_compile [1], check_compile [2], check_log [1], check_log [2]
check_process [1], check_process [2], check_ql_after_lz, chk_pointing
color_copy, configure_http, cont2time [1], cont2time [2], ctraj2orbit
daily_forecast [2], data_sum2fits, dbase2disk, delete_week [1], delete_week [2]
disk2_mo [1], disk2_mo [2], disp_synop, disp_therm_rs232, do_ads, do_demo [1]
do_demo [2], do_i0_dps_reformat, do_reg_backup, do_tr_inventory, doc_summ [1]
doc_summ [2], dps_proc_lev0_hk, dps_proc_mem_dump, dsn_check [1], dsn_check [2]
dsp_menu, eit_eff_area, eit_file2path, eit_files, eit_fulldiskdb
eit_proton_summary, eitoversxt, extract_val, file__define, file_compress [1]
file_compress [2], file_delete [1], file_delete [2], file_delete [3], file_diff
file_list2, file_path [1], file_path [2], file_uncompress [1]
file_uncompress [2], fits2time [1], fits2time [2], fits2time [3]
fl_goesplot [1], fl_goesplot [2], fl_goesplot [3], fl_summary [1]
fl_summary [2], fl_summary [3], fl_suntoday [1], fl_suntoday [2]
fl_suntoday [3], fl_sxtobsnar [1], fl_sxtobsnar [2], fort2hxi [1], fort2hxi [2]
freebound_ion, ft_mng_hm, ftp_copy [1], ftp_copy [2], ftp_copy2sites, ftp_copy_new
genx2html [1], genx2html [2], get1doc [1], get1doc [2], get_ads [1], get_daily [1]
get_daily [2], get_gevloc_data, get_hk_info [1], get_hk_info [2]
get_ksc_holiday, get_mk3 [1], get_mk3 [2], get_selsis, get_sirius_yr
get_solar_indices, get_tty_type [1], get_tty_type [2], get_uvxsections
go_batch [1], go_batch [2], go_ssw_batch, go_yo_prod_batch, goes_log
goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5]
gt_exptime [1], hessi_version, hsi_flare_position_image [1]
hsi_flare_position_image [2], hsi_full_sun_image [1], hsi_full_sun_image [2]
hsi_locate_flare [1], hsi_locate_flare [3], html_basics, html_doc
html_form_addtime [1], html_form_addtime [2], html_form_addtime [3]
html_get_files, html_linklist, html_remove_template, hxt_impulsivness
hxt_multimg, hxt_sources, idl_server_command, idl_server_control, image2movie
ip_que_dmpver, is_alive [1], is_alive [2], keyword_db, ksc_commands, lapalma_cat
lapalma_files, lasteit, lastsfd [1], lastsfd [2], laststat [1], laststat [2]
mail [1], mail [2], make_goes_chianti_response [1]
make_goes_chianti_response [2], make_goes_chianti_response [3]
make_goes_chianti_response [4], make_ssw_mirror, map_env2dir, mdi_cat, mdi_files
mdi_write_genxcat, mdimrot, mdipdist, mdiprot, mk_att [1], mk_att [2]
mk_bad_pix_map_load, mk_dpc_image, mk_gsn_obs, mk_gsn_obs_s1, mk_gx
mk_hst_summary, mk_imgsum_html, mk_mo_disk, mk_mo_disk2, mk_mo_log, mk_obs
mk_orbit [1], mk_orbit [2], mk_pix [1], mk_pix [2], mk_pnt, mk_query [1]
mk_query [2], mk_query_genx, mk_sdcs, mk_sdm, mk_sfc [1], mk_sfc [2], mk_sft [1]
mk_sft [2], mk_spd, mk_ssc [1], mk_ssc [2], mk_ssc_batch [1], mk_ssc_batch [2]
mk_sumer_dbase_ff, mk_sxh, mk_syn_sfc [1], mk_syn_sfc [2], mk_trace_i0
mk_week_file [1], mk_week_file [2], mo_patch, mo_tap_dump, mon_health [1]
mon_health [2], mreadfits_header, msok_copy_jpg, msok_poi_copy [1]
msok_poi_copy [2], mwritefits, nobeyama_update, obs_summary, op_get_special
op_rd_special, password_info, phoenix_spg_get, ratio_plotter [2]
raw_list2pixmap, rd_atodat [1], rd_atodat [2], rd_bsc, rd_ccdh_fil, rd_dpc_table
rd_egse_hk_txt, rd_gbl_raw [1], rd_gbl_raw [2], rd_goes_fits, rd_goesp_ascii
rd_goesx_ascii, rd_gsn, rd_hk [1], rd_hk [2], rd_ionbal [1], rd_ionbal [2]
rd_old_obs, rd_pkt_head [1], rd_pkt_head [2], rd_rasm, rd_roadmap [1], rd_sdl
rd_selsis, rd_selsisi_dir, rd_sld, rd_sls, rd_sot, rd_srspas, rd_ssl, rd_sumer_genx
rd_sxa, rd_sxc, rd_sxl, rd_therm_rs232, rd_tr_seq_head, rd_week_file [2], rd_ydbtap
read_genxcat, read_lapalma, read_mdi, read_sooncheck, read_spartan, ref_term [2]
reslot, restgenx, restore_idl_routines, save_idl_routines, savegenx, search [1]
search [2], search_obs, secchi_time2files, selsis_copy [1], selsis_copy [2]
selsisi2fits, setup_spex [1], setup_spex [2], sfc_check, show_pix [1]
show_pix [2], soon_catstat, soon_com2html, special_movie, ssw_bin
ssw_check_contrib, ssw_colors, ssw_conflicts, ssw_contrib_info
ssw_contrib_monitor, ssw_fs_cat2db, ssw_get_sources, ssw_getapplet
ssw_install [2], ssw_install_explinkages, ssw_instr_info, ssw_javamovie
ssw_jsulr2data, ssw_sec_aktxt2struct, ssw_set_chianti, ssw_setsswdb_gen
ssw_start_rpcserver, ssw_swmap_uniqinfo, ssw_time2paths, ssw_upgrade [1]
ssw_upgrade [2], ssw_upgrade_backup, ssw_url2data, ssw_whereis_perl
sswdb_upgrade, strpair2struct, struct_where, sum_FField, sun_today [1]
sun_today [2], sun_today [3], sw2tree [1], sw2tree [2], sxl_analysis, sxt2eit
sxt2file, sxt2mpeg, sxt_etemp, sxt_files, sxt_html, sxt_mornint, sxt_patch_att
sxt_prep [1], sxt_prep [2], sxt_prep [3], sxt_ssc2sss, sxt_ssn2fits [1]
sxt_summary, sxt_uvf_info [1], sxt_uvf_info [3], sxt_where, synop_movie
table2struct, term_times, tfr_summary, tfr_summary2, tim2dbase, timeline
timeline2html, topsdb [1], topsdb [2], tr_build_img [1], tr_head_info
tr_inventory_telem, tr_lut_conv, tr_reformat, tr_summary_head, tr_tab_head
trace_cat, trace_cat2data, trace_decode_idl PLEASE USE trace_jpeg_decomp
trace_dph2struct [1], trace_euv_resp [1], trace_file2path, trace_files
trace_get1www_image, trace_get_vignette, trace_jpeg_decomp
trace_last_movie_queue, trace_make_tma, trace_make_tmr [1], trace_make_tmr [2]
trace_movie_index [1], trace_movie_index [2], trace_movies_prioritize [1]
trace_movies_prioritize [2], trace_newmoviedata, trace_rd_jpeg
trace_recent_movie_summary, trace_request_summary, trace_special_movie [1]
trace_special_movie [2], trace_special_movie [3], trace_special_movie2
trace_success_file, trace_uv_resp, trace_where, ucon_path, url_decode, web_seq
weekid [2], write_access [1], write_access [2], write_trace
wrt_fits_bin_exten [2], wrt_sci160k_img, wrtwkdat, wwwidl_server_check
wwwidl_watchdog [1], wwwidl_watchdog [2], xcheckip, xdisp_fits, xdisp_sci5k
xdisp_tfr, xdisp_trace [1], xdisp_trace2, xdisp_trace3, xhkplot, xset_chain [1]
xset_chain [2], xspr [1], xspr [2], xsw2tree, xsw2tree_event, xswlist [2]
ydb_exist [1], ydb_exist [2], ydb_exist [3], ydb_exist [4], ydb_install [1]
ydb_install [2], ydb_use, yo_mkos1_dbase, yo_xda2legacy, yohkoh_legacy_files [1]
yohkoh_legacy_files [2], yopos [1], yopos [2], ys_contrib [1], ys_contrib [2]
History: written by slf, 11/30/91
4-Sep-92 (MDM) - Modified to handle an array of input files
23-sep-93 (slf) - make sure null file returns false
(findfile count=1! when null requested)
17-Mar-94 (SLF) - use file_stat(/exist) for non wild card cases
April Fools'94 (DMZ) -- added check for :: in file name
(file_stat doesn't work across DECNET)
31-May-94 (DMZ) -- added check for VMS directory name input
(file_stat doesn't seem to work on VMS
dir names like '[ys.atest.soft]')
16-Aug-94 (DMZ) -- added another VMS patch to handle
case when user enters a VMS subdirectory name
without a file name.
[Previous]
[Next]
NAME:
file_info
PURPSOSE:
To return information about the file that is not included
in the FSTAT return
CALLING SEQUENCE:
nfil = file_info(infil, finfo)
INPUT:
infil - The input file to find the information for. It
can be a wild card since 'findfile' will be used
OUTPUT:
returns - Number of files found
finfo - A structure with the information in the file.
.SIZE
.REC_LEN
.FILENAME
.DIRECTORY
.DATE
.TIME
.PROTECTION
.OWNER
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], MAKE_STR [1], MAKE_STR [2]
STR2ARR [1], STR2ARR [2], break_file [4]
HISTORY:
Written 14-Nov-91
1-Mar-92 (MDM) - Updated the header information
18-Apr-92 (MDM) - Adjusted to accept an array of file name
[Previous]
[Next]
NAME:
file_info2
PURPSOSE:
To return information about the file from "ls -l" output
CALLING SEQUENCE:
nfil = file_info2(infil, finfo)
nfil = file_info2(dummy, finfo, ls=ls)
INPUT:
infil - The input file to find the information for. It
can contain a wild card. It needs to be a scalar if
wild cards are being used.
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], STR2ARR [1], STR2ARR [2]
anytim2ex [1], anytim2ex [2], anytim2ints [1], anytim2ints [2], break_file [4]
fmt_tim [1], fmt_tim [2], int2secarr [1], int2secarr [2]
CALLED BY:
FIND_CAT, FIND_PROC, NET_DIR_DIFF, disp_sci160k [1], disp_sci160k [2], mk_mo_log
mk_sfc [1], mk_sfc [2], mk_ydb_list, new_dpath [1], new_dpath [2], rd_dpc_table
rd_goes3sec [1], rd_goes3sec [2], rd_hist_dbase [1], rd_hist_dbase [2]
ssw_check_contrib
OPTIONAL KEYWORD INPUT:
ls - The "ls -l" results can be passed directly to
this routine.
OUTPUT:
returns - Number of files found
finfo - A structure with the information in the file.
.SIZE
.FILENAME
.DIRECTORY
.DATE
.DAY
.TIME
.PROTECTION
.OWNER
HISTORY:
Written by M.Morrison 7-Aug-92 taking file_info.pro as a start
7-Oct-92 (MDM) - Added QDEBUG
- Fixed problem with recognizing dates from last year
20-Oct-92 (MDM) - Minor mod
22-Oct-92 (MDM) - Modification to the way that year is recognized
12-May-93 (MDM) - Modification to work on the SGI machine
19-May-93 (MDM) - Added " around ls spawn to work on ADS file
28-Jul-93 (DMZ) - Alpha OSF fix (ls command)
27-Jun-94 (MDM) - Changed how routine figured out if "ls" was performed
on SGI or OSF machine. (not based on !version.os)
1-Aug-95 (MDM) - Patched a bug where infil could come in AND ls
is passed in.
3-Jan-96 (MDM) - Added patch to handle the case where the file size is
over 10 megabytes (the filename was being corrupted)
5-Feb-97 (MDM) - Corrected to work with years over 2000
[Previous]
[Next]
NAME:
file_list
PURPOSE:
Given a set of directories (and optionally a partial
filename with a wildcard), generage a list of file
names/directories
CALLING SEQUENCE:
infil = file_list(data_paths())
infil = file_list(data_paths(), 'spr*')
infil = file_list(data_paths(), 'spr*', /cd)
infil = file_list(data_paths(), /interactive)
INPUTS:
dirs - The directories to search
If not present, it uses the default directory
str - The wildcard partial filename to search for. Be careful
when using wildcards when searching a directory which has
subdirectories, because it will not work properly. For
CALLED BY:
BCS_24HR_PLOT [1], BCS_24HR_PLOT [3], BCS_CAT, BCS_COMPARE, BCS_CREATE_CAT
BCS_FREE_DATA, FINDFILE_LIST, HKG_DBASE, HXT_AUTOIMG, JITTER_HTML, LASTSFD_DIFF
LOCAL_DIFFS, MK_LIBRARY_HELP, NORH_PR_EVX [1], NORH_PR_EVX [2], NORH_PR_INFO [1]
NORH_PR_INFO [2], NORH_PR_REP [1], NORH_PR_REP [2], NORH_RD_TCX [1]
NORH_RD_TCX [2], NORH_RD_TSX [1], NORH_RD_TSX [2], NORH_SYNTH_BYF [1]
NORH_SYNTH_BYF [2], NORP_RD_AVG [1], NORP_RD_AVG [2], NORP_RD_DAILY [1]
NORP_RD_DAILY [2], NORP_RD_DAT, QUICKDARK [2], QUICK_DPE, READ_MERGED_DSN
RTMVIPLAY [2], RdTap [1], RdTap [2], RdTap [3], SEL_AR, TERM_FIDS, TERM_QUICK
TERM_REVIEW, TOK_RD_DAILY, TR_DARK_SUB, TYKW_RD_DAILY, TYKW_RD_DAT, ace_files
ads2att, allpks_html, att_exst, bcs_unpack, calc_mtm_therm, cdrom_files [2]
cfl_summary [1], cfl_summary [2], check_oldprocess [1], check_oldprocess [2]
check_oldprocess [3], check_oldprocess [4], check_ql_after_lz, chk_flares [1]
chk_flares [2], cp_fns [1], cp_fns [2], daily_forecast [2], dbase2disk
delete_week [1], delete_week [2], disp_sci5k, do_demo [1], do_demo [2]
do_disp_month, doc1liners, doc_summ [1], doc_summ [2], dps_proc_lev0_hk
edac_summary, eit_files, emi_plot [1], emi_summary, file_menu [1], file_menu [2]
file_purge_sizes, flares2disk, fort2hxi [1], fort2hxi [2], full_graph_gif, get1gbo
get_daily [1], get_daily [2], get_dc_warm, get_dirtree, get_gevloc_data
get_hist_dbase_fil, get_hk_info [1], get_hk_info [2], get_last_tfr, get_mk3 [1]
get_mk3 [2], get_seq_tab, get_sfm, get_tf_rec fname filnum recnum [1]
go_hxt_hk_temps, go_lasdisk golaserdisk, go_lasdisk2 golaserdisk, go_nvs4
go_nvs5, go_rdtap [1], go_rdtap [2], go_sxt_sss2secondary, goes3sec_copy
gtab_summary, hist_count, hist_summary, hsi_pixon_smooth_patterns
jitter_gif_xyimg, lastgbo, lastgki, mdi_write_genxcat, merge_genxcat, mk_fem [1]
mk_fem [2], mk_gev [1], mk_gev [2], mk_gif_mag_index, mk_gx, mk_hst_summary
mk_imgsum_html, mk_mapfile [1], mk_mapfile [2], mk_mdi_iap, mk_mo_log
mk_orbit [1], mk_orbit [2], mk_pix [1], mk_pix [2], mk_sd2, mk_sdc [2], mk_sdc [3]
mk_sdc [4], mk_sdcs, mk_sdl, mk_sdm, mk_sdmi, mk_sfc [1], mk_sfc [2], mk_sft [1]
mk_sft [2], mk_sl [1], mk_sl [2], mk_sot, mk_ssl, mk_tfi, mk_week_file [1]
mk_week_file [2], mo_filelist, mo_job0, mo_job1, mobad_summ, mon_health [1]
mon_health [2], month_sfd_fits [1], month_sfd_fits [2], mostrip
msok_poi_copy [1], msok_poi_copy [2], new_disp_sci5k [1], new_disp_sci5k [2]
new_edac_summary, new_mon_health [1], new_mon_health [2], new_version [1]
new_version [2], newfiles [1], newfiles [2], newfiles [3], newsfd, nts_copy [1]
nts_copy [2], pnt_exst, pr_sfc, pref_deldir, pro_list [1], pro_list [2], rd_dt_genx
rd_old_obs, rd_raw_station_plan, rd_so_at_ftr, rd_week_file [1]
rd_week_file [2], rd_week_file [3], rd_week_file [4], rd_xda_same, read_genxcat
read_mdi, read_msok_jpg, read_spartan, run_dsnfil, sea, sel_dc_image [1]
sel_dc_image [2], sel_dc_image [3], sel_filetimes [1], sel_filetimes [2]
sel_leak_image [1], sel_leak_image [3], sel_leak_image [4], set_sci160k_dir
sfc_check, sfc_prep [1], sfc_prep [2], sft2sfc, show_pix [1], show_pix [2]
show_pixf, soon_com2html, ssw_check_contrib, ssw_findstuff2html, ssw_fs_cat2db
ssw_getapplet, ssw_install [2], ssw_start_rpcserver, ssw_swmap_bestof
ssw_time2paths, sswdb_files, stt_plot, sxt_eff_area, sxt_files, sxt_his2dbase
sxt_ssn2fits [1], tap_wrt_chk, timeline, timeline2html, topsdb [1], topsdb [2]
tr_lut_conv, tr_mk_seq_alph, tr_rd_index, tr_rd_inventory, tr_scan_images
tr_summary_head, trace_do_data_requests, trace_euv_resp [1], trace_files
trace_get_vignette, trace_last_movie_queue, trace_movie_index [1]
trace_movie_index [2], trace_recent_movie_summary, trace_uv_resp, uniq_fid [1]
uniq_fid [2], verify_gui, web_seq, weekid [2], wrt_fits_bin_exten [2], xanal_emi
xcheckip, xdisp_fits, xdisp_sci5k, xdisp_tfr, xdisp_trace [1], xdisp_trace [2]
xdisp_trace2, xdisp_trace3, xrd_trace, xset_chain [1], xset_chain [2], xspr [1]
xspr [2], ydb_exist [2], yo_file_check [1], yo_file_check [2], yo_mkos1_dbase
yohkoh_files, yoyo_man2, ys_file_check [1], ys_file_check [2]
example: file_list('~', '*') will not give the proper
answer, but it will if the /CD option is used. This
is an artifact of how the IDL routine FINDFILE works.
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
CONCAT_DIR [3], break_file [4], concat_dir [4], str_replace [1], str_replace [2]
wc_where [1], wc_where [2]
OPTIONAL KEYWORD INPUT:
interactive - If set, ask the user to type in the partial
filename to search for
cd - If set, then set default to the directory first
and then do the listing. This technique is
needed because of "argument overflow" errors duing
"ls" type commands when there are too many files in
a directory. This happens on the SGI much sooner
than Suns or DECs.
bydate - If set, then list the files by date, with the oldest
file in the beginning of the array, and the newest file
as the last element in the array. ONLY WORKS ON UNIX.
OUTPUTS:
RETURNS: The file list (including the path).
OPTIONAL KEYWORD OUTPUT:
files - Just the file names of the filenames
fdirs - Just the directory portion of the filenames
HISTORY:
Written 11-Dec-91 by M.Morrison
8-Mar-93 (MDM) - Modified to optioncally set default to the directory
and then to do the listing
- Modified to accept an array of input file names
16-Mar-93 (MDM) - Modified to set default back to the starting directory
and not leave you in the last directory when using
the /CD option.
12-Aug-93 (MDM) - Changed how the /CD option works (doesn't actually
do a cd now)
- Added translation of ~ if passed in
27-Oct-93 (AKT) - If wildcard search spec doesn't include .something
then append .*. In VMS, findfile needs the .*.
7-Dec-93 (MDM) - Removed the 27-Oct-93 patch unless the system is
VMS. It causes problems in Unix (show hidden
. (dot) files)
22-Dec-93 (MDM) - Made /CD the default when running on SGI
3-Apr-95 (MDM) - Added /BYDATE
28-Feb-96 (MDM) - Added defining output variable FILES
- Also changed the keyword from FILE to FILES
4-Feb-97 (MDM) - Made the FOR loop a long interger
[Previous]
[Next]
NAME:
file_menu
PURPOSE:
Given a set of directories (and optionally a partial
filename with a wildcard), display a menu to allow the
user to select the file he wants.
INPUTS:
dirs - The directories to search
If not present, it uses the default directory
str - The wildcard partial filename to search for
interactive - If set, ask the user to type in the partial
filename to search for
OUTPUTS:
RETURNS: The file name (including the path). If quit/exit
is selected, then a null string is returned.
LIMITATIONS:
For a filename that is 32 characters long (for example:
/0d0/ops/reformat/ada910903.0046), the routine will only
handle 365 of those files. BEWARE. If the number is too
large, it will bomb.
CALLS: ***
file_list [1], file_list [2], wmenu_sel [1], wmenu_sel [2]
CALLED BY:
BCS2SXSPC, rd_sda_flare, sun_grid
HISTORY:
Written 21-Oct-91 by M.Morrison
18-Mar-92 (MDM) - Changed to use "file_list" and "wmenu_sel"
[Previous]
[Next]
Name: file_path
Purpose: find file in tree (recursive version of RSI filepath.pro)
Input Parameters:
file - file name to find
topdir - top directory for tree search (default is $IDL_DIR)
Calling Sequence:
filename=file_path(file [,treetop])
Calling Examples:
colorfile=file_path('colors1.tbl') ; find file under $IDL_DIR
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_EXIST [2], concat_dir [4]
file_exist [1], file_exist [3], get_logenv [1], get_logenv [2], get_subdirs [1]
get_subdirs [2]
History:
23-jun-1995 (SLF)
[Previous]
[Next]
NAME:
file_purge
PURPOSE:
Purge files that have similar file names. Purge is based on
file name (alphabetical listing) or by reverse creation date.
CALLING SEQUENCE:
file_purge, infil [,/interactive,/bydate,keep=keep]
file_purge, infil [,/interactive,/byname,keep=keep]
INPUTS:
infil = A file name or a vector of file names (wild cards O.K.)
OPTIONAL KEYWORD INPUTS:
interactive = If set, prompt the user before deleting.
keep = The number to keep. Values less than 1 will cause no
action to be taken. Default = 1.
bydate = Delete the oldest files.
byname = Delete the alphabetically. (file ab is deleted before ac).
Specify /bydate or /byname but not both (/byname = default).
OUTPUTS:
None.
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], STR2ARR [1], STR2ARR [2]
concat_dir [4], prstr [1], prstr [2], str_replace [1], str_replace [2], yesnox [1]
yesnox [2]
CALLED BY:
check_oldprocess [1], check_oldprocess [3], daily_forecast [2]
RESTRICTIONS:
For unix only.
MDDIFICATION HISTORY:
Written, 19-sep-92, J. R. Lemen, LPARL.
7-Dec-92 (MDM) - Made the delete command use "-f" option
27-Apr-93 (MDM) - Modification to work even when the input list is
a long list of filenames
7-Aug-93 (SLF) - use file_delete.pro (bypass shell speed/alias probs)
add dir keyword
[Previous]
[Next]
Name: file_size
Purpose: return file sizes - optionally as string with units
CALLS: ***
FILE_STAT [1], FILE_STAT [2], file_stat [3]
CALLED BY:
HTTP__DEFINE, SOCK_SAME, comp_sfr_arch, eit_genx_cat, file_purge_sizes
genx2html [1], genx2html [2], get_dirtree, go_mk_cd, image2movie, is_ps, prep_gendat
sswdb_install, tap_wrt_chk, thumbnail_table_html, tr_inventory_telem
trace_do_data_requests, trace_get1www_image, trace_request_summary
Restrictions:
auto and string not yet vecorized
History:
8-Feb-1995 (SLF)
[Previous]
[Next]
Project : SOHO - CDS
Name : FILE_STAT()
Purpose : Vector version of FSTAT
Category : Utility, Operating_system
Explanation : Vector version of FSTAT
Syntax : Result = FILE_STAT( FILES )
CALLED BY:
EIT_PREP, FILE_EXIST [2], GET_CACHE, LASCO_READFITS [1], UNIX_CMD [1]
UNIX_CMD [2], XDIFF, archive_ck [1], archive_ck [2], data_compress [1]
data_compress [2], data_compress [3], delete_week [1], delete_week [2]
file_exist [1], file_exist [3], file_size [1], file_size [2], fl_mktext
hessi_version, mk_orbit [1], mk_orbit [2], mo_check, mo_patch, monitor_scratch [1]
monitor_scratch [2], rd_hk [1], rd_hk [2], yo_file_check [1], yo_file_check [2]
ys_file_check [1], ys_file_check [2]
Examples :
Inputs : FILES = List of files to check.
Opt. Inputs : None.
Outputs : None.
Opt. Outputs: None.
Keywords : EXIST = If set, then the returned values are whether the
files exist or not. This is the default behavior.
SIZE = If set, then the returned values are the sizes of the
files.
Calls : ***
data_chk [1], data_chk [2]
Common : None.
Restrictions: None.
Side effects: None.
Prev. Hist. : 11-Mar-1994 (SLF) Wanted faster file_exist function
History : Version 1, 11-Mar-1994, S. Freeland
Contact : SFREELAND
[Previous]
[Next]
Name: file_stat
Purpose: vector version of fstat
Input Paramters:
files - list of files to check
CALLS: ***
data_chk [1], data_chk [2]
CALLED BY:
EIT_PREP, FILE_EXIST [2], GET_CACHE, LASCO_READFITS [1], UNIX_CMD [1]
UNIX_CMD [2], XDIFF, archive_ck [1], archive_ck [2], data_compress [1]
data_compress [2], data_compress [3], delete_week [1], delete_week [2]
file_exist [1], file_exist [3], file_size [1], file_size [2], fl_mktext
hessi_version, mk_orbit [1], mk_orbit [2], mo_check, mo_patch, monitor_scratch [1]
monitor_scratch [2], rd_hk [1], rd_hk [2], yo_file_check [1], yo_file_check [2]
ys_file_check [1], ys_file_check [2]
History:
11-Mar-1994 (SLF) Wanted faster file_exist function
[Previous]
[Next]
Name: file_uncompress
Purpose: provide IDL interface to standard unix uncompress utility
Input Paramters:
inname - file name or vector of file names to uncompress
Output Parameters:
outname - uncompressed file names (same dimension as inname)
(usually, inname without .Z extension, null if problem)
Optional Keyword Parameters
noreplace - (input) - switch, if set, don't replace inname with outname
newname - (input) NOT IMPLEMENTED specify outname
outdir - (input) specify output directory (only if /noreplace)
Calling Sequence:
file_compress, inname [, outname ,/noreplace , outdir=outdir ]
CALLED BY:
RFITS2 [1], RFITS2 [2], data_compress [1], data_compress [2], data_compress [3]
mk_sdm, rd_week_file [1], rd_week_file [3], rd_week_file [4], selsisi_copy
History: 1-Jul-93 (SLF)
7-Oct-93 (SLF) Added OUTDIR keyword parameter
14-Mar-94 (SLF) enclose file names in quotes (embedded meta-char)
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
CONCAT_DIR [3], FILE_EXIST [2], break_file [4], concat_dir [4], file_exist [1]
file_exist [3], str_replace [1], str_replace [2], tbeep [1], tbeep [2], tbeep [3]
Restrictions: UNIX only
[Previous]
[Next]
NAME:
filename2time
PURPOSE:
To convert a SOHO/SUMER filename into a time.
CATEGORY:
Data handling.
CALLING SEQUENCE:
time = filename2time(filename)
INPUTS:
Any SUMER filename.
OPTIONAL INPUTS:
None.
KEYWORD PARAMETERS:
None.
OUTPUTS:
A seven element array containing the time. The elements of the array
are the hour, minute, second, millisecond, day, month, year that an
observation began. Note that milliseconds is always zero since it is
not specified in the filename.
OPTIONAL OUTPUTS:
None.
CALLS: ***
STR_SEP
CALLED BY:
mk_sumer_dbase_ff, sumer_ffdb
COMMON BLOCKS:
None.
SIDE EFFECTS:
None.
RESTRICTIONS:
The input filename must contain the extension. This routine really
should be subsumed into gt_time.
PROCEDURE:
The routine parses the 13 characters before the file extension
(".fits") to determine the time.
EXAMPLE:
IDL> filename = '$SUMER_DATA/sum_960513_085055.fits'
IDL> time = filename2time(filename)
IDL> print,time
8 50 55 0 13 5 96
MODIFICATION HISTORY:
HPW 24-JUL-1996:
HPW 04-OCT-1996: Added the genx file extension.
[Previous]
[Next]
NAME:
files_search
PURPOSE:
Search all files in a set of Unix sub-directories for an input string
CALLING SEQUENCE:
files_search
files_search, indir, instr, outfil, fil_spec=fil_spec
files_search, '/ys', 'makvec'
files_search, '/ys', 'hel2pix', 'dum.dum', fil_spec='*.pro'
INPUT:
indir - The top directory to search. All directories under it will
be searched
instr - The string to search all files in the subdirectories for
OPTIONAL INPUT:
outfil - The name of the file to write the results to. Default is
"FILES_SEARCH.TXT"
OPTIONAL KEYWORD INPUT:
fil_spec- The file specification to search for ('*' for example)
Default is "*.pro"
HISTORY:
Written Nov-91 by M.Morrison
20-Oct-92 (MDM) - Added document header
- Added FIL_SPEC
27-Oct-92 (MDM) - Renamed from SEA.PRO to FILES_SEARCH.PRO
[Previous]
[Next]
Name: filetimes
Purpose: return start and stop times in Yohkoh reformatted files
Input Parameters:
files - array of reformatted file names
Ouput Paramters:
startt - start time of file in external format (7,n)
stopt - stop time of files in external format (7,n)
Optional Keyword Parameters:
string - if set, return time is converted to string strarr(n)
Method : calls rd_fheader and converts start and stop times
CALLS: ***
Int2Ex [1], Int2Ex [2], Rd_fHeader [1], Rd_fHeader [2], Rd_fHeader [3], gt_day [1]
gt_day [2], gt_time [1], gt_time [2]
CALLED BY:
chk_flares [1], chk_flares [2]
History: slf, 3-August-1992
[Previous]
[Next]
Name: film_thumbnail
Purpose: embed thumbnail image in "film" (make www logos/thumbnails)
Input Parameters:
thumbnail - image to enclose in film
Output:
function returns thumbnail embedded in "film" bitmap
mag - if set, film "thickness" (default is auto scale)
pad - if set, increase the size of the surrounding pad (default auto scale)
sample - if set, rebin called with /sample (sharp edge film "holes")
Calling Sequence:
thumbnail_logo=film_thumbnail(thumbnail [,mag=mag, pad=pad, /sample])
CALLED BY:
mkthumb
History:
26-oct-1995 (S.L.Freeland) - SXT/YPOP/EIT (etc) WWW movie icons
[Previous]
[Next]
Project : SOHO - CDS
Name : filter
Purpose : fft filtering of data
Explanation : filtering to reduse the noise in the data
Use : IDL> filter, y-array (raw), y-array (filtered)
Inputs : raw y-array
Opt. Inputs : None
Outputs : raw and filtered y-array
Opt. Outputs: None
Keywords : None
Calls : ***
box_filter
CALLED BY:
de_spiker [1], de_spiker [2], hrts_w [1], hrts_w [2]
Common : None
Restrictions: None
Side effects: None
Category : ?
Prev. Hist. : ?
Written : Olav Kjeldseth-Moe, ITA, UiO
Modified : Version 1 Nils Brynildsen, ITA, UiO, 1-July-1993
Version : Version 1 1-July-1993
[Previous]
[Next]
NAME: filter
PURPOSE: Return the input image filtered with either median
filter (default) or average filter.
METHOD: Default uses a three point median filter. The returned
variable is either the filter image or a vector of filtered
values corresponding to the input "indices" of the input
image. An average filter is also available.
CALLING SEQUENCE:
filtered_img = filter(img, [width=width, indices=indices,
average=average] )
PARAMETERS: img input image
KEYWORDS:
width filter size (default is 3).
average use an average filter instead
of median.
indices a list of "img" elements for
which computed filtered values are
returned.
CALLS: ***
box_filter
CALLED BY:
de_spiker [1], de_spiker [2], hrts_w [1], hrts_w [2]
HISTORY:
19-Apr-94, written by gal and drafted from spikes by
A.McAllister, following a B.Labonte algorythm, 10-jun-93.
[Previous]
[Next]
NAME:
FILTER_PRODUCT
PURPOSE:
This procedure computes the product of two filter curves
CATEGORY:
NRL DATA_ANALYSIS
CALLING SEQUENCE:
FILTER_PRODUCT,WL_a,TR_a,WL_b,TR_b,WL,Q
INPUTS:
WL_a: 1D array of the wavelengths for curve A
TR_a: 1D array of the transmitances for curve A
WL_b: 1D array of the wavelengths for curve B
TR_b: 1D array of the transmitances for curve B
OUTPUTS:
WL: 1D array of the wavelenths for the product
Q: 1D array of the transmittance product
CALLS: ***
INTERPOL
RESTRICTIONS:
PROCEDURE:
The wavelength interval that is common to both curves is
determined by finding the greater of the two minimum
wavelengths and the less of the two maximum wavelengths.
Then a common set of wavelengths (# pts = 100) is generated,
and the two filter curves interpolated at these wavelengths.
The product of the two curves is then computed.
You can describe the foobar superfloatation method being used here.
You might not need this section for your routine.
EXAMPLE:
One curve is described by two arrays for the wavelength and
transmittances in wave1, trans1. The other curve is described
in wave2 and trans2. Put the ouput into wl and result:
FILTER_PRODUCT,wave1,trans1,wave2,trans2,wl,result
result is the product of trans1 and trans2. The corresponding
wavelengths are in wl.
MODIFICATION HISTORY:
Written by: RAHoward, NRL 10/6/00
@(#)filter_product.pro 1.1 10/08/00 :LASCO IDL LIBRARY
[Previous]
[Next]
NAME: filtgauss.pro
PURPOSE: gaussian filtering applications
CATEGORY: Processing high level
CALLING SEQUENCE: filtgauss,ima_in,width,ima_out
INPUTS: ima_in name of frame
width width '1/e' of gaussian
OPTIONAL INPUT PARAMETERS: None
KEYWORD PARAMETERS: None
OUTPUTS: ima_out resulting frame
OPTIONAL OUTPUT PARAMETERS: None
CALLS: ***
DIST
COMMON BLOCKS: None
SIDE EFFECTS: None
RESTRICTIONS: Applications limited to 512*512 frames
PROCEDURE:
MODIFICATION HISTORY: defined by M.B 01/07/94
SCCS variables for IDL use
@(#)filtgauss.pro 1.0 01/07/94 :LAS
[Previous]
[Next]
NAME: FILTMEDIAN.PRO
PURPOSE: apply a median filter and rebin in the same time.
CATEGORY: General tools high level routine
CALLING SEQUENCE: filtmedian,ima_in,kx,ky,ima_out
INPUTS: ima_in image array
kx step_size in x
ky step_size in y
OPTIONAL INPUT PARAMETERS: None
KEYWORD PARAMETERS: None
OUTPUTS:ima_out resulting frame
OPTIONAL OUTPUT PARAMETERS: None
CALLS: ***
STDEV, pattern1 [1], pattern1 [2], pro_cal, stat_ima
CALLED BY:
pattern1 [1], pattern1 [2]
COMMON BLOCKS: None
SIDE EFFECTS: None
RESTRICTIONS: None
PROCEDURE:
MODIFICATION HISTORY: defined by M.B 20/01/94
SCCS variables for IDL use
@(#)filtmedian.pro 1.0 20/01/94 :LAS
[Previous]
[Next]
Project : SOHO - CDS
Name : FIND_ALL_DIR()
Purpose : Finds all directories under a specified directory.
Explanation : This routines finds all the directories in a directory tree
when the root of the tree is specified. This provides the same
functionality as having a directory with a plus in front of it
in the environment variable IDL_PATH.
Use : Result = FIND_ALL_DIR( PATH )
PATHS = FIND_ALL_DIR('+mypath', /PATH_FORMAT)
PATHS = FIND_ALL_DIR('+mypath1:+mypath2')
Inputs : PATH = The path specification for the top directory in the
tree. Optionally this may begin with the '+'
character but the action is the same unless the
PLUS_REQUIRED keyword is set.
One can also path a series of directories separated
by the correct character ("," for VMS, ":" for Unix)
Opt. Inputs : None.
Outputs : The result of the function is a list of directories starting
from the top directory passed and working downward from there.
Normally, this will be a string array with one directory per
array element, but if the PATH_FORMAT keyword is set, then a
single string will be returned, in the correct format to be
incorporated into !PATH.
Opt. Outputs: None.
Keywords : PATH_FORMAT = If set, then a single string is returned, in
the format of !PATH.
PLUS_REQUIRED = If set, then a leading plus sign is required
in order to expand out a directory tree.
This is especially useful if the input is a
series of directories, where some components
should be expanded, but others shouldn't.
Calls : ***
BREAK_PATH [1], BREAK_PATH [2], BREAK_PATH [3], FIND_WITH_DEF [1]
FIND_WITH_DEF [2], FIND_WITH_DEF [3]
CALLED BY:
CHECK_INTEG, CMP_LIBS, CMP_TREES, FIND_FILES, FIX_ZDBASE, HESSI_DATA_PATHS [1]
HESSI_DATA_PATHS [2], IDL5TO4, MK_RASTER, MK_SUMER_DBASE, QZDBASE, SET_CDS_SDB
SHOW_DATAWIN, SHOW_LINELIST, SHOW_RASTER, SHOW_STUDY, hessi_grid_trans
Common : None.
Restrictions: PATH must point to a directory that actually exists.
On VMS computers this routine calls a command file,
FIND_ALL_DIR.COM, to find the directories. This command file
must be in one of the directories in IDL's standard search
path, !PATH.
Side effects: None.
Category : Utilities, Operating_system.
Prev. Hist. : None.
Written : William Thompson, GSFC, 3 May 1993.
Modified : Version 1, William Thompson, GSFC, 3 May 1993.
Version 2, William Thompson, GSFC, 6 July 1993.
Added sort to spawned command under Unix.
Version 3, William Thompson, GSFC, 16 May 1995
Modified to support multiple directories.
Added keyword PLUS_REQUIRED
Version : Version 3, 16 May 1995
[Previous]
[Next]
Project : SOHO-CDS
Name : FIND_CAMPAIGN
Purpose : Shell around LIST_CAMPAIGN to fix the annoying
problem caused by LIST_CAMPAIGN often not returning
valid campaign entries that have start/stop times on
day boundaries.
Category : planning
Syntax : FIND_CAMPAIGN,CMP,
Inputs : TSTART/TSTOP = start/stop times to search, any format
Opt. Inputs : None
Outputs : CAMPAIGNS = campaign structure array
NFOUND = number of campaigns found
CALLS: ***
ANYTIM2TAI, ANYTIM2UTC [1], ANYTIM2UTC [2], DELVARX [1], DELVARX [2], DELVARX [3]
DELVARX [4], LIST_CAMPAIGN, UNIQ [1], UNIQ [2], UNIQ [3], delvarx [5]
CALLED BY:
CHECK_KAP, MK_PLAN_CAMP, XCAMP
History : Written 20 May 1997, D. Zarro, ARC/GSFC
Modified 14 April 2004, Zarro (L-3Com/GSFC) - filter out
blank observers
Contact : dzarro@solar.stanford.edu
[Previous]
[Next]
Project : SOHO - CDS
Name : FIND_CDS_STUDIES
Purpose : Find CDS studies or programs matching search criteria
Category : CDS, Database, Class2
Explanation : This widget program allows the user to search for studies which
match certain search criteria. Alternatively, one can search
for
Syntax : FIND_CDS_STUDIES, OUTPUT [, GROUP=GROUP ] [, /PROGRAM ]
Examples : FIND_CDS_STUDIES, OUTPUT
FIND_CDS_STUDIES, OUTPUT, GROUP=EVENT.TOP, /PROGRAM
Inputs : None.
Opt. Inputs : None.
Outputs : OUTPUT = An output structure array. The format of OUTPUT
depends on the value of the /PROGRAM keyword.
Without the /PROGRAM keyword set, the tags are
OBS_PROG = The name of the observing program
STUDY_ID = The study ID number
STUDYVAR = The study variation number
With the /PROGRAM keyword set, all the above tags are
returned, plus the additional tags
DATE_OBS = The observation date (TAI seconds)
PROG_NUM = The observation counter number
Opt. Outputs: None.
Keywords : GROUP = The group ID of the calling widget. If passed, and
greater than zero, then FIND_CDS_STUDIES is run as a
modal widget.
PROGRAM = If set, then the program takes an additional step and
looks for actual runs of each study found.
Calls : ***
CW_BGROUP, CW_FIELD, DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBEXT [1], DBEXT [2]
DBEXT [3], DBEXT [4], DBFIND [1], DBFIND [2], DBFIND [3], DBOPEN [1], DBOPEN [2]
DBOPEN [3], DELVARX [1], DELVARX [2], DELVARX [3], DELVARX [4]
FIND_CDS_STUDIES_EVENT, NTRIM, STR_SEP, UNIQ [1], UNIQ [2], UNIQ [3], VALID_NUM [1]
VALID_NUM [2], VALID_NUM [3], WAVE2PIX, WIDG_HELP, XACK, XANSWER, XMANAGER
XREGISTERED, delvarx [5]
Common : Uses the internal common block FIND_CDS_STUDIES
Restrictions: None.
Side effects: None.
Prev. Hist. : None.
History : Version 1, 27-Dec-1999, William Thompson, GSFC
Contact : WTHOMPSON
[Previous]
[Next]
Project : SOHO - CDS
Name : FIND_CDS_STUDY
Purpose : find a CDS study in database
Explanation : searches on TITLE, OBS_PROG, and SV_DESC fields
Use : FIND_CDS_STUDY,STUDIES
Inputs : None.
Opt. Inputs : None.
Outputs : STUDIES = study definitions found
Opt. Outputs: None.
Keywords : TITLE = string title to search on
OBS_PROG = obs_prog to search on
SV_DESC = study variation description to search on
ERR = any error messages
NFOUND= number of entries found
STUDY_ID = study_id to search
FUND_ONLY = only look at Fundamental part
USE_TITLE = treat STUDY_ID as TITLE_ID
RELIST = relist fundamental studies
Calls : ***
CONCAT_STRUCT, DATATYPE [1], DATATYPE [2], DATATYPE [3], DELVARX [1], DELVARX [2]
DELVARX [3], DELVARX [4], EXIST, GET_STUDY_PAR, LIST_F_STUDY, LIST_V_STUDY, NUM2STR
TRIM, delvarx [5]
CALLED BY:
XSTUDY
Common : FIND_CDS_STUDY
Restrictions: None.
Side effects: None.
Category : Planning, Database.
Prev. Hist. : None.
Written : Dominic Zarro (ARC)
Version : Version 1.0, 8 May 1995
[Previous]
[Next]
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)
HDR: Use header to determine starting center
OUTPUT PARAMETERS:
Xcen: The value of the center in X
Ycen: The value of the center in Y
OPTIONAL OUTPUT PARAMETERS: None
CALLS: ***
FIND_COL_BOUNDARIES, FIND_ROW_BOUNDARIES, OCCLTR_CNTR, STDEV, TVCIRCLE
COMMON BLOCKS:
Used for debug
SIDE EFFECTS:
Draws chords and computed center on current window
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
nbr, 1/30/01 - Fix PYLON keyword; change Debug output; plots on open window
%W% %H% LASCO IDL LIBRARY
[Previous]
[Next]
NAME:
FIND_CLOSEST
PURPOSE:
This function finds the subscript of an array that is closest to
a given number.
CATEGORY:
LASCO UTIL
CALLING SEQUENCE:
Result = FIND_CLOSEST (Num, Arr)
INPUTS:
Num: Number for which the array will be searched
Arr: An array of points in (preferably) ascending order
KEYWORD PARAMETERS:
LESS: Returns the closest subscript for arr that is less than or
equal to num Otherwise the subscript of the point closest
to num is returned. Notice that the value of arr might be
greater than num.
OUTPUTS:
This function returns the subscript of an array closest to the given
number.
CALLS: ***
DATATYPE [1], DATATYPE [2], DATATYPE [3]
CALLED BY:
FIND_CLOSEST_ARR, GETBKGIMG, GET_MISSING_PCKTS, MAKE_DAILY_IMAGE, OCCLTR_CNTR
carrmapdisp
RESTRICTIONS:
The input array should be in ascending order. But not necessary.
MODIFICATION HISTORY:
Written by: Scott Passwaters, NRL, Feb, 1997
24 Sep 1998, N Rich changed /LESS keyword to include equal-to
31 Jan 2000, N Rich Allow for MOSTLY (except for isolated stray elements) sorted arr, but must still be ascending order
12 Apr 2005, N.Rich Return -1 in one case.
%W% %H% LASCO IDL LIBRARY
[Previous]
[Next]
NAME:
FIND_CLOSEST_ARR
PURPOSE:
This routine matches up elements of two arrays, returning the subscripts
of the array that are closest to the elements from the other array.
CATEGORY:
LASCO UTIL
CALLING SEQUENCE:
FIND_CLOSEST_ARR, arr1, arr2, ind1, ind2 [, /LESS]
INPUTS:
arr1: The first array of numbers
arr2: The second array of numbers (doesn't have to have same elements as first)
OUTPUTS:
ind1: index into arr1 that corresponds to arr2
ind2: index into arr1 that corresponds to arr2
KEYWORD PARAMETERS:
LESS: Returns the closest subscript for arr2 that is less than arr1
Otherwise the subscript of arr2 that is closest to arr1 is
returned. Notice that the value of arr2 might be greater than
arr1 if /LESS is not used.
MATCH: Returns 1-to-1 matches for arrays
CALLS: ***
FIND_CLOSEST, UNIQ [1], UNIQ [2], UNIQ [3]
CALLED BY:
COMBINE_MVI
RESTRICTIONS:
The input arrays should be in ascending order.
MODIFICATION HISTORY:
Written by: Scott Paswaters, NRL, Dec, 1997
3/7/01, nbr Fix LESS keyword
3/16/01,nbr Add MATCH keyword; use UNIQ
11/05/01 @(#)find_closest_arr.pro 1.2 LASCO IDL LIBRARY
[Previous]
[Next]
Project : SOHO - CDS
Name : FIND_COSMIC_RAYS
Purpose : Find cosmic rays and determine their strengths
Category : Class2, Instrument, Engineering, Statistics
Explanation : This procedure finds all the cosmic rays above a certain
threshold value which are in a CDS NIS raster. Each cosmic ray
is counted, and the total number of counts it added to the
image over all the pixels it affected is calculated.
Syntax : FIND_COSMIC_RAYS, INPUT, STRENGTH
Examples : FIND_COSMIC_RAYS, 's7105r00', STRENGTH
QLDS = READCDSFITS('s7105r00')
FIND_COSMIC_RAYS, QLDS, STRENGTH
Inputs : INPUT = Either the name of CDS FITS file, or a quicklook
data structure from READCDSFITS.
Opt. Inputs : None.
Outputs : STRENGTH = A list of strengths for all cosmic rays found. If
none are found, then this will contain the single
value of 0. Statistics can then be performed on
these strength values.
Opt. Outputs: None.
Keywords : THRESHOLD = An optional threshold value to use in searching for
cosmic rays. The default value is 10.
ERRMSG = If defined and passed, then any error messages will be
returned to the user in this parameter rather than
depending on the MESSAGE routine in IDL. If no errors
are encountered, then a null string is returned. In
order to use this feature, ERRMSG must be defined
first, e.g.
ERRMSG = ''
FIND_COSMIC_RAYS, ERRMSG=ERRMSG, ...
IF ERRMSG NE '' THEN ...
Calls : ***
CDS_CLEAN, DATATYPE [1], DATATYPE [2], DATATYPE [3], FCR_AN_IMAGE
FCR_REM_NEIGHBORS, GT_WINDATA, READCDSFITS, REARRANGE
Common : None.
Restrictions: Cannot be used with data taken with either the SUMLINE or
SUMWIN compression. Also, cannot be used with GIS data.
Side effects: None.
Prev. Hist. : None.
History : Version 1, 06-Mar-1997, William Thompson, GSFC
Contact : WTHOMPSON
[Previous]
[Next]
Project :
SOHO - SUMER
Name :
FIND_DATFILE
Purpose :
Find a file which is in the same directory as a particular program
Explanation :
This program is designed to find data files even when a set of
programs has been moved to another directory or machine. It is
assumed that the data file is in the same directory as a particular
IDL program, and so the complete data filename with the directory
is returned.
Use :
dat_file = find_datfile(filename,proname)
Inputs :
filename - Name of file to be found, with extention, but without
directories
proname - name of program in the same directory with filename
Opt. Inputs :
None.
Outputs :
out_file - filename including directory of file in which
proname is found
Opt. Outputs:
None.
Keywords :
DirOnly - return only the directory, not a complete file name.
Calls : ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
CONCAT_DIR [3], FIND_WITH_DEF [1], FIND_WITH_DEF [2], FIND_WITH_DEF [3]
break_file [4], concat_dir [4]
CALLED BY:
SUM_TRIWARP
Common :
None.
Restrictions:
None.
Side effects:
None.
Category :
Utilities, Operating_system.
Written :
L. Wang and T. Kucera, July 1996
Modified
Now uses FIND_WITH_DEF rather than LOC_FILE TAK Aug 1996
[Previous]
[Next]
Project : SOHO - CDS
Name : FIND_DURATION
Purpose : Find the actual durations of rasters from the FITS headers
Category : Class3, Operations
Explanation : The CDS FITS file headers are searched for the stop and start
times, and the duration is calculated in seconds.
Syntax :
Examples : FIND_DURATION, 's2735r*.fits', /PRINT
Inputs : FILENAME = Name of the FITS file to process. Wildcards are
allowed.
Opt. Inputs : None.
Outputs : Information about the raster duration is printed to the screen.
Opt. Outputs: None.
Keywords : OUTPUT = Name of a file to write the output to, instead of
the screen.
PRINT = If set, then the information is sent to the printer.
If OUTPUT is not specified, then a temporary file is
used.
QUEUE = The name of the print queue to use, when /PRINT is
selected. If not passed, then a menu is presented
to the user.
Calls : ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], DELETE_FILE [1], DELETE_FILE [2]
FILEPATH, FIND_FILES, FXHREAD [1], FXHREAD [2], FXPAR [1], FXPAR [2], GET_UTC
SEND_PRINT, SIGMA, UNIQ [1], UNIQ [2], UNIQ [3], XPRINT [1], XPRINT [2], XPRINT [3]
XPRINT [4], XPRINT [5], break_file [4]
Common : None.
Restrictions: Unix only.
Side effects: None.
Prev. Hist. : None.
History : Version 1, 17-May-1996, William Thompson, GSFC
Version 2, 24-Jan-1996, William Thompson, GSFC
Corrected bug when only one raster type was processed.
Corrected terminology (raster vs. study)
Contact : WTHOMPSON
[Previous]
[Next]
Project : SOHO - CDS
Name : FIND_FILE_DUR()
Purpose : Find the duration of a single CDS FITS file.
Category : Class3, Operations
Explanation : Reads in the DEL_TIME values from a FITS file, and determines
extrapolates the last two valid points to the end of the file.
Called from LIST_DURATION
Syntax : Result = FIND_FILE_DUR( FILENAME )
CALLED BY:
LIST_DURATION
Examples :
Inputs : FILENAME = Name of FITS file.
Opt. Inputs : None.
Outputs : The result of the function is the calculated duration.
Opt. Outputs: None.
Keywords : None.
Calls : ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
CONCAT_DIR [3], DATATYPE [1], DATATYPE [2], DATATYPE [3], FIND_WITH_DEF [1]
FIND_WITH_DEF [2], FIND_WITH_DEF [3], FXBCLOSE [1], FXBCLOSE [2], FXBOPEN [1]
FXBOPEN [2], FXBOPEN [3], FXBREAD [1], FXBREAD [2], FXBREAD [3], FXPAR [1]
FXPAR [2], REVERSE, break_file [4], concat_dir [4]
Common : None.
Restrictions: None.
Side effects: None.
Prev. Hist. : None.
History : Version 1, 17-Oct-1997, William Thompson, GSFC
Version 2, 05-Aug-2002, William Thompson, GSFC
Modified to work with compressed files
Contact : WTHOMPSON
[Previous]
[Next]
NAME:
find_fits_keyword
PURPOSE:
Find the FITS header line containing the given keyword.
CALLING SEQUENCE:
position = find_fits_keyword(fits_header, keyword)
INPUTS:
fits_header = fits_header
keyword = Header line to sort on
OUTPUT:
Subscript of any lines in the fits header that match
(If more than one take the first one)
Returns -1 if no match
CALLED BY:
eit_degrid_fft
MODIfICATION HISTORY:
10-Apr-1996 - (BNH) - Idea stolen from D.M. Fecit, code chopped
out of EIT_DEGRID
[Previous]
[Next]
NAME: find_ima.pro
PURPOSE: From the image header finds the asociate dark in dark catalog
CATEGORY: Preprocessing low level
CALLING SEQUENCE: find_ima, hdr, ima_db, ima_name
INPUTS: hdr image header
ima_db image catalog
OPTIONAL INPUT PARAMETERS: None
KEYWORD PARAMETERS: None
OUTPUTS:ima_name name of associated image in catalog
OPTIONAL OUTPUT PARAMETERS: None
COMMON BLOCKS: None
SIDE EFFECTS: None
RESTRICTIONS:
PROCEDURE:
MODIFICATION HISTORY: defined by ALL 6/24/93
corrected by M.B 11/03/93 for darks without shutter
SCCS variables for IDL use
@(#)find_ima.pro 1.0 25/6/93 :LAS
[Previous]
[Next]
PROJECT:
SOHO - CDS/SUMER
NAME:
FIND_KAP_FILE
PURPOSE:
Find latest KAP (or CAP or IAP) file for the given date
CATEGORY:
Science Planning
EXPLANATION:
SYNTAX:
Result = find_kap_file(date)
INPUTS:
DATE - Date for which the KAP file is read; can be in any CDS
time format
OPTIONAL INPUTS:
None.
OUTPUTS:
result - String file name; a null string will be returned if
error occurs for any reason
OPTIONAL OUTPUTS:
None.
KEYWORDS:
ERROR - Named variable containing any error message. If no
error occurs, ERROR will be a null string
IAP - Set this keyword to read the latest IAP file
CAP - Set this keyword to read the latest CAP file
VERSION - A named variable containing the file version
CALLS: ***
ANYTIM2UTC [1], ANYTIM2UTC [2], DATE_CODE, LOC_FILE [1], LOC_FILE [2]
LOC_FILE [3], TRIM, WHICH_INST
CALLED BY:
KAP_CONTENTS, XIAP
COMMON:
None.
RESTRICTIONS:
None.
SIDE EFFECTS:
None.
HISTORY:
Version 1 July 28, 1997, Zarro (SAC/GSFC)
CONTACT:
DZARRO@SOLAR.STANFORD.EDU
[Previous]
[Next]
NAME:
FIND_KEY
PURPOSE:
Find a keyword in a fits header.
CATEGORY:
LP. FITS. Low level.
CALLING SEQUENCE:
returns=FIND_KEY(HEADER,VALUE)
INPUTS:
HEADER, fits header.
VALUE, string with keyword to find assumed to be valid!
KEYWORD PARAMETERS:
OUTPUTS:
returns, either -1, keyword not found before END, or end of data, or
row number of header with the first occurance of the keyword.
CALLED BY:
FITSRD, GETFITSVAL
COMMON BLOCKS:
SIDE EFFECTS:
RESTRICTIONS:
PROCEDURE:
Seach from start of header for matching keyword, or END.
MODIFICATION HISTORY:
Jul. 1992 I. Zayer LPARL, fixed to work
Jul. 1991 P. Milford Stanford University.
[Previous]
[Next]
PROJET:
SOHO - LASCO
NAME:
FIND_MISS_BLOCKS
PURPOSE:
Finds all the missing blocks on an image. Generate the map of the non usefull blocks and the missing blocks.
Call this routine before using a chain of correction, otherwise the location of all missing blocks would be lost after the 1st correction
CATEGORY:
missing blocks
CALLING SEQUENCE:
find_miss_blocks,ima,hdr,missblock,imafuzz,hdrfuzz,/fuzzyima
ADMITTED INPUT TYPE OF IMAGES:
all
INPUTS:
ima : the image to make the map
hdr : fits header of the image
OUTPUTS:
missblock : output structure for fits table
FILENAME : filename of the image
NBMISS : number of missing blocks
NBNUSEF : number of non usefull blocks
MBMAP : map of the missing blocks
1: block OK
0: non transmitted usefull block
-1: non usefull block
MBMAPALL : map of all the non transmited blocks (lost plus non useful)
1: block OK
0: non transmitted useful or non usefull block
note that if a block is set to -1 in MBMAP and also set to 1 in MBMAPALL it means that, even so, this block was transmitted
OPTIONAL OUTPUTS:
imafuzz : image with the corrected blocks
hdrfuzz : header of the corrected image: the HISTORY specify that the image was corrected by fuzzy_image procedure
KEYWORD INPUT:
fuzzyima : compute the missing block interpolation by fuzzy_image procedure
hdrstru : header structure given by getl05hdrstru
full : resample output maps to 32*32
strmap : string map for the DB
CALLED ROUTINES:
SXPAR.GETTOK.GET_TMASK.FUZZY_IMAGE.GET_MISS_BLOCKS.GET_TMASK_F.WHERE2D.HCIE_ZONE.READ_ZONE.GRAD_ZONE.REVERSE.SPLINE.TRI_SURF.WRITE_ZONE.FUZZY_BLOCK.READ_BLOCK.DCT.NUM_TO_FUZZY.INTER_FUZZY.FUZZY_TO_NUM.WRITE_BLOCK.SXADDPAR.
CALLS: ***
FUZZY_IMAGE, MB2STRMAP, get_tmask, getl05hdrparam
CALLED BY:
REDUCE_LEVEL_1
MODIFICATION HISTORY:
V1.0 Writen by A.Thernisien on 23/12/99 from get_miss_blocks.pro by J.MORE, September 1996
V2.0 by A.T. 18/01/2000
V2.1 by AT 18/09/2001 add of STRMAP and FULL keywords
CVSLOG:
$Log: find_miss_blocks.pro,v $
Revision 1.2 2002/07/11 07:24:17 arnaud
Insertion of the Log in each header
[Previous]
[Next]
FIND_MODE
Make an estimate of the mode of a dataset.
Usage:
mode=find_mode(data[, plotit=plotit])
Return value:
mode float An estimate of the mode of the dataset.
Argument:
data (float) input The data whose mode is needed.
Keyword:
plotit ?? input If set then make a plot of the data &
the fit.
Method:
2-step process:
1) - Find the maximum of a coarse histogram of the data (100
bins) other than the "zero" point (this is to deal with
missing blocks)
2) - make a finer histogram around the value from step 1 and
fit a gaussian to it. The peak of the gaussian is then
the mode returned.
CALLS: ***
LAS_FIT_GAUSS
Restrictions:
Conceptually this was developed to fix up the exposures on
LASCO ratio images where the mode should ideally be 1 and
where the histogram of the image is sharply peaked. It does
however appear to work OK for "raw" images.
History:
Original: 7/1/96; SJT
[Previous]
[Next]
Project : SOHO - CDS
Name : FIND_SERTSW()
Purpose : Find data window (clip region, scales etc.) for given event
Explanation : For use in QL display routines to keep track of
data window sizes/data coordinates etc.
Use : SRTSW = FIND_SERTSW(DRAW_EVENT,FOUND)
Inputs : DRAW_EVENT: The event from a draw window.
Opt. Inputs : None.
Outputs : FOUND
Opt. Outputs: None.
Keywords : None.
Calls : ***
CDSNOTIFY
Common : TV_SCALE
Restrictions: ..
Side effects: ..
Category : CDS, QL, DISPLAY, UTILITY
Prev. Hist. : None.
Written : SVHH, January 1994
Modified :
Version : 1.0
[Previous]
[Next]
Project : SOHO - CDS
Name :
FIND_WITH_DEF()
Purpose :
Searches for files with a default path and extension.
Explanation :
Finds files using default paths and extensions, similar to using the
DEFAULT keyword with the OPEN statement in VMS. Using this routine
together with environment variables allows an OS-independent approach
to finding files.
Use :
Result = FIND_WITH_DEF( FILENAME, PATHS [, EXTENSIONS ] )
FILENAME = ''
READ, 'File to open: ', FILENAME
FILE = FIND_WITH_DEF( FILENAME, 'SERTS_DATA', '.fix' )
IF FILE NE '' THEN ...
Inputs :
FILENAME = Name of file to be searched for. It may either be a
complete filename, or the path or extension could be left
off, in which case the routine will attempt to find the
file using the default paths and extensions.
PATHS = One or more default paths to use in the search in case
FILENAME does not contain a path itself. The individual
paths are separated by commas, although in UNIX, colons
can also be used. In other words, PATHS has the same
format as !PATH, except that commas can be used as a
separator regardless of operating system. The current
directory is always searched first, unless the keyword
NOCURRENT is set.
A leading $ can be used in any path to signal that what
follows is an environmental variable, but the $ is not
necessary. (In VMS the $ can either be part of the path,
or can signal logical names for compatibility with Unix.)
Environmental variables can themselves contain multiple
paths.
Opt. Inputs :
EXTENSIONS = One or more extensions to append to end of filename if the
filename does not contain one (e.g. ".dat"). The period
is optional. Multiple extensions can be separated by
commas or colons.
Outputs :
The result of the function is the name of the file if successful, or
the null string if unsuccessful.
Opt. Outputs:
None.
Keywords :
NOCURRENT = If set, then the current directory is not searched.
Calls : ***
BREAK_PATH [1], BREAK_PATH [2], BREAK_PATH [3], STR_SEP
CALLED BY:
APPLY_CDS_ADEF, BARYVEL, CAT_DURATION, CDSHEADFITS, CDSLOGO, CDS_COMPRESS
CDS_ENG_N1_AN, CDS_ENG_N4_AN, CDS_FILES, CDS_SLIT6_BURNIN, CHECK_ANOMALY
CHECK_INTEG, CMP_ALL_PRO, CMP_LIBS, DBCOMPRESS, DBCREATE [1], DBCREATE [2]
DBCREATE [3], DBHELP [1], DBHELP [2], DBHELP [3], DBOPEN [1], DBOPEN [2], DBOPEN [3]
DBPRINT [1], DBPRINT [2], DBPRINT [3], DB_TITLES [1], DB_TITLES [2], DB_TITLES [3]
DISPLAY_CDS_BURNIN, EIS_CHECK_DATABASE [1], EIS_CHECK_DATABASE [2]
EIS_GET_HDR [1], EIS_GET_HDR [2], FIND_ALL_DIR [1], FIND_ALL_DIR [2]
FIND_ALL_DIR [3], FIND_DATFILE, FIND_FILE_DUR, FIND_ZDBASE, FIX_CATALOG
FLUSH_CATALOG, GET_DETAIL, GET_EXPER, GET_NIMCP, GET_OBS_DATE, GET_PLAN
GET_SC_POINT, GET_UTC, GET_WIDTH_CORR, GET_ZDBASE, GT_CDS_QL, GT_SOLAR_XY
IMPORT_PLAN, IMPORT_STUDY, ITOOL_GET_TIME, JPLEPHTEST, JSMOVIE, JSMOVIE2
LIST_DETAIL, LIST_EXPER, LIST_PLAN, LOCAL_DIFF, LOCK_DATABASE, MK_CDS_DBASE
MK_CDS_FITS, MK_CDS_GIF, MK_HELP_STC, MK_RASTER, MK_STUDY, MK_SYNOPTIC, MOD_EXPER
NIS_AVG_SPECT_DEMO, NIS_CALIB, OPEN_KAP, OPEN_MSP_FILE, PICKFITS, PLANET_COORDS
PRG_DETAIL, PRG_PLAN, PRIV_ZDBASE, READCDSFITS, READSUM2CDS, READ_NIMCP_CAL
SUBMIT_CAP, SUBMIT_IAP, SUM_GET_LINELIST, TILT_NIS1_DEMO, TILT_NIS2_DEMO
TP_RASDUR, TP_READ_HELP, UPDATE_KAP, VDS_BURNIN_NEW, VDS_BURNIN_ORIG, VDS_CALIB
VDS_READ_FLAT, VDS_ROTATE, WFPC2_READ, WIDG_HELP, XCAT, XCDS_COSMIC, XDIFF, XSPECT
db_read_linelist_all [1], db_read_linelist_all [2]
db_read_linelist_entry [1], db_read_linelist_entry [2]
db_read_raster_all [1], db_read_raster_all [2], db_read_raster_entry [1]
db_read_raster_entry [2], db_read_study_all [1], db_read_study_all [2]
db_save_linelist_entry_create [1], db_save_linelist_entry_create [2]
db_save_linelist_entry_update [1], db_save_linelist_entry_update [2]
db_save_raster_entry_create [1], db_save_raster_entry_create [2]
db_save_raster_entry_update [1], db_save_raster_entry_update [2]
db_save_study_entry_create [1], db_save_study_entry_create [2]
db_save_study_entry_create [3], db_save_study_entry_create [4]
db_save_study_entry_update [1], db_save_study_entry_update [2]
eis_delete_timeline_entry [1], eis_delete_timeline_entry [2]
eis_get_timeline_entries [1], eis_get_timeline_entries [2]
eis_import_study_gui, eis_linelist_gui [1], eis_linelist_gui [2]
eis_open_db [1], eis_open_db [2], eis_raster_gui [1], eis_raster_gui [2]
eis_save_imported_linelist, eis_save_imported_raster, eis_study_gui [1]
eis_study_gui [2], eis_update_timeline_entry [1]
eis_update_timeline_entry [2], eis_update_timeline_science_entry [1]
eis_update_timeline_science_entry [2]
eis_write_science_component_database_table [1]
eis_write_science_component_database_table [2]
Common :
None.
Restrictions:
None.
Side effects:
None.
Category :
Utilities, Operating_system
Prev. Hist. :
None, but influenced by TEST_OPENR by William Thompson, and CONCAT_DIR
by M. Morrison.
Written :
William Thompson, GSFC, 5 April 1993.
Modified :
Version 1, William Thompson, GSFC, 3 May 1993.
Removed trailing / and : characters.
Fixed bugs
Allow for commas within values of logical names.
Added keyword NOCURRENT.
Changed to call BREAK_PATH
Version 2, William Thompson, GSFC, 3 November 1994
Made EXTENSIONS optional.
Version :
Version 2, 3 November 1994
[Previous]
[Next]
NAME:
finddir
PURPOSE:
Return the directory path to where "dir_name" is by looking
in the directories listed in "dirs". If "dirs" is not defined,
then look at the /yd0, /yd1, ..., /yd12 directories.
The value returned is the full path (including the "dir_name"
portion) and has the trailing "/"
CALLING SEQUENCE:
out = finddir('92_05a')
out = finddir('ref_super', dir='~')
INPUT:
dir_name- The directory name to find
dirs - The list of directories to check
makecre - If set, then if the directory does not exist,
request that the user make it and hit <CR> and
then check again.
METHOD:
It searches the directories in the order that they are
passed in the array. The first match on the directory
name and the routine returns that path.
CALLS: ***
STR_LASTPOS [1], str_lastpos [2]
CALLED BY:
GetDatDir, mk_fidlist, mk_gx, mk_mo2 [1], mk_mo2 [2], mk_pnt, mk_sd2, mk_sdc [2]
mk_sdc [3], mk_sdc [4], mk_sdl, mk_sdmi, mk_sft [1], mk_sft [2], mk_sl [1], mk_sl [2]
mk_sot, mk_ssl, mk_week_file [1], mk_week_file [2], mktap, renbad, wk_online
HISTORY:
14-Nov-91 (MDM) - Changed to use the new "yd" links
17-Mar-92 (MDM) - Added document header
20-Mar-92 (MDM) - Changed so that if the dir_name that is
passed in has a "/" as the first character,
assume that it is a full path, and do not
check the "dirs".
1-Jun-92 (MDM) - Modified default "dirs" definition - expanded from
12 /yd dirs to 16.
6-Aug-92 (slf) - expanded from 16 to 18 dirs through /yd17)
16-Jun-93 (MDM) - expanded from 18 to 21 dires through /yd20
27-Sep-94 (MDM) - Expanded from 21 to 30 dirs through /yd29 (/yd21
is the last one being used right now)
[Previous]
[Next]
NAME:
FIRST_LIGHT
PURPOSE:
routine to give a quick look at SXT conditions.
(thought to be useful for an indolent chief observer)
CATEGORY:
Yohkoh stuff
CALLING SEQUENCE:
first_light [,/generate]
INPUTS:
OPTIONAL (KEYWORD) INPUT PARAMETERS:
generate - if set, force routines to update - default is to read from
showpix files if available (almost always, the same data)
OUTPUTS:
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_EXIST [2], FMT_TIMER [1]
FMT_TIMER [2], LOADCT, Rd_Roadmap [2], WDEF [1], WDEF [2], anytim2ints [1]
anytim2ints [2], concat_dir [4], days_2_xmas, file_exist [1], file_exist [3]
fl_goesplot [1], fl_goesplot [2], fl_goesplot [3], fl_suntoday [1]
fl_suntoday [2], fl_suntoday [3], fl_sxtobsnar [1], fl_sxtobsnar [2]
get_logenv [1], get_logenv [2], gt_filtb, gt_percentd, gt_res, gtab_entry, jst
lastsfd [1], lastsfd [2], newfiles [1], newfiles [2], newfiles [3]
next_window [1], next_window [2], pr_evn [1], pr_evn [2], pr_visible, prstr [1]
prstr [2], rd_roadmap [1], restgen [1], restgen [2], restsys [1], restsys [2]
sfd_decomp, strjustify, term_times, tim2pass, timegrid, ut_time [1], ut_time [2]
CALLED BY:
first_bcs
COMMON BLOCKS:
SIDE EFFECTS:
RESTRICTIONS:
MODIFICATION HISTORY:
HSH, written July 1993
HSH mods 24-Aug-93
HSH mods 31-Aug-93, pr_evn and Christmas calculation
HSH mods 7-Dec-93, evt_grid
SLF 8-Dec-93, evt_grid refinements
SLF 14-Dec-93, chk_pointing call
slf 10-jan-94, HH requested minor mods
slf 4-Mar-94, some protection (no goes, no spd)
gal 7-Mar-94, quick fix for typo-err
hsh 13-Apr-94, Add KittPeak He10830 display
da,hsh 16-Apr-94, Scales gb Image + Ulysses overlay
da 30-Apr-94, Produces collage of SXT + 4 GBO images
BNH 1-Jul-94, Time stamp on collage and liberalized
offpoint test
BNH 6-Jul-94, Changed display stuff for collage to
(hopefully) better deal with varying
background in gki, gkm images
SLF 14-Jul-94, Made it a procedure - default is to read from
data files generated during go_toban
Got rid of some slow stuff which was not used
Dont clobber windows (use wdef) / broke out code
SLF 15-Jul-94, Allow it to run at any showpix site
SLF 30-Aug-94, Add users UTTIME to collage image
SLF 5-Oct-94, Add SUMMARY switch (read showpix version)
SLF 7-oct-94, window number in summary window border
SLF 9-oct-94, split into 2 windows for small screens
SLF 20-nov-94, dont return immediately with /summary logic
SLF 11-May-95, remove the 'Keith' message, various improves
[Previous]
[Next]
Project : SOHO - CDS
Name : FIT_CDS_MAP
Purpose : Produce maps of QL Gaussian fit results
Category : Analysis
Explanation :
Syntax : IDL> fit_cds_map,ql,fmap
Examples :
Inputs : QL = QL structure to fit
Opt. Inputs : None
Outputs : FMAP = image map with fitted widths, centroids, intensities
Opt. Outputs: None
Keywords : WINDOW = window to fit (input)
CALIB = set to calibrate spectra before fitting
CALLS: ***
ADD_TAG [1], ADD_TAG [2], FIT_CDS_QL, MERGE_STRUCT, MK_CDS_MAP, TRIM, VDS_CALIB
Common : None.
Restrictions: Limited to Gaussian
Side effects: None.
History : Version 1, 17-Jan-1998, D M Zarro. Written
Contact : DZARRO@SOLAR.STANFORD.EDU
[Previous]
[Next]
Project : SOHO - CDS
Name : FIT_CDS_QL
Purpose : Gaussian fit of CDS QL spectra
Category : Analysis
Explanation :
Syntax : IDL> fit_cds_ql,ql
CALLED BY:
FIT_CDS_MAP
Examples :
Inputs : QL = QL structure to fit
Opt. Inputs : None
Outputs : See Keywords
Opt. Outputs: None
Keywords : WINDOW = window to fit (input)
WCEN = first guess of centroid (input)
WBACK = first guess of background (input)
WDOPP = first guess of Doppler width (input)
FIXP = parameter indicies to fix (input)
WRANGE = wavelength range for fit (input)
SUB = subarray to limit to fit (input)
CENT = 2d array of fitted centroids (output)
WIDTH = 2d array of fitted Doppler widths (output)
INTEN = 2d array of fitted intensities (output)
CALLS: ***
CDS_TILT_COR, DPRINT, EXIST, GAUSS_FIT, GT_CDS_WINDOW, GT_SPECTRUM, GT_WINDATA, QLMGR
Common : None.
Restrictions: Limited to Gaussian
Side effects: None.
History : Version 1, 17-Jan-1998, D M Zarro. Written
Contact : DZARRO@SOLAR.STANFORD.EDU
[Previous]
[Next]
NAME:
fit_circle
PURPOSE:
Fit a circle to vector of points.
CALLING SEQUENCE:
Result_vector = fit_circle(x,y,a,radius_fix=radius_fix,tolerance=tolerance)
INPUTS:
x = Vector of x values
y = Vector of y values
RETURNED:
Result_vector = [x1,y1,r1] result of coordinates (x1,y1) and radius (r1).
OPTIONAL INPUTS:
a = Vector of [x0,y0,r0] = First guesses for the circle (x0,y0,radius)
If a is not supplied, x0 and y0 are the averages and and r0 is
taken to be the average distance of each (x,y) point to (x0,y0).
OPTIONAL INPUT KEYWORDS:
radius_fix = If set, will not vary the radius in the fit.
tolerance = If present and > 0, fit_circle will recursively call itself
until abs(r1-r0)/r0 < tolerance.
For example, setting tolerance = 0.01 will cause the
calculation to continue until the solution for the radius
does not vary between iterations by more than 1%.
If radius_fix is set, tolerance will have no effect.
limit_iter = Set the upper limit to the number of times to iterate.
(e.g., limit_iter=10 will limit the number of iterations
to 10 or less.)
OPTIONAL OUTPUT KEYWORDS:
num_iter = Number of iterations
CALLS: ***
POLY_FIT
CALLED BY:
CLICKLIMB, FIND_LIMB, FIND_LIMB2, FIND_LIMB_GEN, SHOW_REGNS, fit_limb, get_xyrad
MODIFICATION HISTORY:
17 Oct 1991, J. R. Lemen, Written (based on routine in HSH's find_limb)
26 Feb 1992, J. R. Lemen, Added tolerance keyword
24-jan-94, JRL, Added limit_iter keyword
19-oct-94, T. Metcalf and K. Shibasaki, Improved initial guess. Works
with partial circles now.
[Previous]
[Next]
Name: fits2time
Purpose: convert fits header times to Yohkoh convention
Input Parameters:
header - fits header or fits file name array
Keyword Parameters:
soho - switch, if set, fits header is SOHO time convention
kp - switch, if set, fits uses KittPeak time convention
CALLS: ***
FILE_EXIST [2], FXPAR [1], FXPAR [2], MESAGE, RFITS2 [1], RFITS2 [2], anytim2ex [1]
anytim2ex [2], ex2fid [1], ex2fid [2], file_exist [1], file_exist [3], fmt_tim [1]
fmt_tim [2], is_member [1], is_member [2]
CALLED BY:
ALIGN1BIGGRAM
History:
25-oct-1994 (SLF) Proto written
8-Feb-1995 (SLF) update KP option#2
25-sep-1995 (SLF) MSO-like option
[Previous]
[Next]
NAME:
fits_disp_month
PURPOSE:
To display a single image per day for a single month
CALLING SEQUENCE:
fits_disp_month, files, -50, 50
fits_disp_month, file_list('/data14/mdi_summary/daily/maglc', 'smdi_maglc_fd_199611*')
METHOD:
The date of the first image defines which month is to be displayed
"DATEOBS" fits keyword must be in the header.
If smin/smax are not passed, then the first image defines the
image scaling min and max
CALLS: ***
CONGRID [1], CONGRID [2], CONGRID [3], RFITS [1], RFITS [2], RFITS [3], SXPAR [1]
SXPAR [2], SXPAR [3], anytim2ex [1], anytim2ex [2], anytim2ints [1]
anytim2ints [2], ex2dow [1], ex2dow [2], fmt_tim [1], fmt_tim [2], gt_day [1]
gt_day [2], tv2 [1], tv2 [2], zbuff2file [1], zbuff2file [2]
CALLED BY:
do_disp_month
HISTORY:
Written 27-Nov-96 by M.Morrison (taking SXT disp_month.pro)
[Previous]
[Next]
NAME:
FITS_HDR_LIST
PURPOSE:
This routine prints a list of all of the timing parameters returned in
the header.
CATEGORY:
DATA_ANAL
CALLING SEQUENCE:
FITS_HDR_LIST,Fnames
INPUTS:
Fnames: String array containing the file names to be printed.
OUTPUTS:
This procedure generates a listing of the FITS headers.
CALLS: ***
FXPAR [1], FXPAR [2], GETENV_SLASH, READFITS [1], READFITS [2], READFITS [3]
READ_LEB_IMAGE
RESTRICTIONS:
Looks in the directory pointed to by the environment variable:
$IMAGES
PROCEDURE:
MODIFICATION HISTORY:
Written by: R.A. Howard, 17 Feb 1996
@(#)fits_hdr_list.pro 1.1 10/04/96 LASCO IDL LIBRARY
[Previous]
[Next]
Project : SOHO - LASCO
Name : FITSHDR2STRUCT
Purpose : Read a LASCO FITS file to obtain an image and header array.
Explanation : This routine calls the IDL Astronomy Library routine READFITS
to read the LASCO FITS file. It then fills in a LASCO header
structure with the header information.
Use : IDL> lasco_hdr = FITSHDR2STRUCT(fits_hdr)
Inputs : fits_hdr FITS header, STRARR
Outputs : lasco_hdr LASCO header structure.
Calls : ***
DATATYPE [1], DATATYPE [2], DATATYPE [3], FXPAR [1], FXPAR [2], GETTOK [1]
GETTOK [2], GETTOK [3], GETTOK [4]
Category : Data_Handling, I_O
Prev. Hist. : None.
Written : Borut Podlipnik, MPAe, Mar. 1996.
Modified : 03/07/96 lasco_fitshdr2struct written by S. Passwaters
10/21/98 nbr fix mysterious problem with blank keywords
Version : Version 0.2, 21 Oct 1998
[Previous]
[Next]
Name:fitstap2tap
Purpose: fits tape to tape copy routine
Input Parameters:
d1no - drive name for source (input) - string or #
d2no - drive name for destination (output) - string or #
(note - type of d1no must=type of d2no)
Calling Examples:
fitstap2tap, '/dev/nrmt0h','/dev/nrmt1h' ;drive0->drive1
fitstap2tap,0,1 ;same (on ultrix)
fitstap2tap,0,1,/nofault ;same as above except user gets no prompts
;to recheck source and destination drives
Optional Keyword Parameters:
nofault - if set, will not prompt the user with drive config for copy
log - if set, log file written to current directory
block - blocking factor (default=2880)
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], STR2ARR [1], STR2ARR [2]
concat_dir [4], def_tapd [1], def_tapd [2], def_tapd [3], get_logenv [1]
get_logenv [2], mtcmd [1], mtcmd [2], rd_tfile [1], rd_tfile [2], tbeep [1]
tbeep [2], tbeep [3]
CALLED BY:
ACOPY [1]
Restrictions: unix only (uses mt and dd)
HISTORY:
3-Aug-1994 (SLF) - written (from arctap2tap)
5-Aug-1994 (SLF) - rewind instead of unload (acopy.pro compatible)
[Previous]
[Next]
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
CALLS: ***
FIX_CONTRO, GET_UTC
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
[Previous]
[Next]
Project : SOHO - CDS
Name : FIX_CATALOG
Purpose : Fix an entry in the CDS catalog.
Category : Class5, Operations, Catalog
Explanation : Place a missing entry in the catalog. Optionally, can change
the sequence number from that in the header to avoid conflicts
with entries already in the database.
The corresponding FITS file is found, and the FITS header is
read in. Optionally, the SEQ_NUM is changed. Then INS_CATALOG
is called to place the entry in the catalog.
Only for use by experts.
Syntax : FIX_CATALOG, PROG_NUM, SEQ_IND [, SEQ_NUM ]
Examples :
Inputs : PROG_NUM, SEQ_IND = The unique identifier for the data set.
The FITS filename is formed from these parameters.
Opt. Inputs : SEQ_NUM = A new sequence number to apply to the data, to
replace the sequence number in the FITS header.
Outputs : None.
Opt. Outputs: None.
Keywords : None.
Calls : ***
FIND_WITH_DEF [1], FIND_WITH_DEF [2], FIND_WITH_DEF [3], FXADDPAR [1]
FXADDPAR [2], FXHREAD [1], FXHREAD [2], INS_CATALOG, TRIM
Common : None.
Restrictions: Cannot change the SEQ_NUM of an entry that is already in the
database. That can only be done by hand.
Side effects: None.
Prev. Hist. : None.
History : Version 1, 01-Apr-1996, William Thompson, GSFC
Version 2, 09-Apr-1996, William Thompson, GSFC
Free LUN after using.
Version 3, 12-Apr-1996, William Thompson, GSFC
Check !PRIV
Contact : WTHOMPSON
[Previous]
[Next]
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
CALLS: ***
OFFSET_BIAS
CALLED BY:
FIX2IMGS
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
[Previous]
[Next]
NAME:
FIX_DUP_PCKT
PURPOSE:
This function routine puts the housekeeping packets in time order
and removes duplicate packets.
CATEGORY:
LASCO PACKETS
CALLING SEQUENCE:
Result = FIX_DUP_PCKT (Hk)
INPUTS:
HK: A 2D byte array containing the housekeeping packets
OUTPUTS:
Result: The cleaned up housekeeping packets.
CALLS: ***
getcputime
RESTRICTIONS:
There should be only one packet type in the array. That is, the
LASCO housekeeping packets should be broken down into the three
separate packet types.
PROCEDURE:
The time structure is computed and for each day, the packets are
first ordered by time within the day. Then, any packets that have
the same time as the previous packet is deleted. As each day is
processed the packets are concatenated to the end of the previous
days.
MODIFICATION HISTORY:
Written by: R.A. Howard, NRL, 22 Mar 1996
@(#)fix_dup_pckt.pro 1.2 01/23/98 :LASCO IDL LIBRARY
[Previous]
[Next]
NAME:
FIX_HT_SCALE
PURPOSE:
This procedure is used to fix the scaling of the HT files
CATEGORY:
MOVIE
CALLING SEQUENCE:
FIX_HT_SCALE,Fname
INPUTS:
Fname: String containing the filename to be fixed
OUTPUTS:
This routine renames the filename to Fname.old and copies the
information to a new file, correcting the scaling factors.
COMMON BLOCKS:
None
RESTRICTIONS:
The file should not have any blank lines.
PROCEDURE:
MODIFICATION HISTORY:
Written by: RAH, 9 May 97
@(#)fix_ht_scale.pro 1.1 05/14/97 :NRL Solar Physics
[Previous]
[Next]
Project : SOHO-CDS
Name : FIX_IAP
Purpose : Update KAP file with new IAP info
Category : planning
Explanation :
Syntax : fix_kap,iap
Examples :
Inputs : IAP = IAP filenames
Opt. Inputs : None
Outputs : None
Opt. Outputs: None
Keywords : OUTDIR = output directory [def = current]
CALLS: ***
BOOST_ARRAY [1], BOOST_ARRAY [2], BOOST_ARRAY [3], BREAK_FILE [1]
BREAK_FILE [2], BREAK_FILE [3], CHK_DIR [1], CHK_DIR [2], CONCAT_DIR [1]
CONCAT_DIR [2], CONCAT_DIR [3], DATATYPE [1], DATATYPE [2], DATATYPE [3], FIX_KAP
GET_KEYWORD, GET_LATEST_KAP, GET_UTC, LOC_FILE [1], LOC_FILE [2], LOC_FILE [3]
RD_ASCII [1], RD_ASCII [2], STR_SPACE, TEST_OPEN, TRIM, UNIQ [1], UNIQ [2], UNIQ [3]
break_file [4], concat_dir [4], str_replace [1], str_replace [2]
Common : None
Restrictions: None
Side effects: None
History : Written 9 June 1997, D. Zarro, ARC/GSFC
Contact : dzarro@solar.stanford.edu
[Previous]
[Next]
Project : SOHO - CDS
Name : FIX_LINELIST
Purpose : Recalculates all the cen_pix values in the linelist db.
Explanation : The linelist database used by the planning software contains
a wavelength and a central pixel for each spectral line. If
the wavelength calibration changes significantly, this routine
should be used to update the cen_pix tag.
Use : IDL> fix_linelist
Inputs : None - operates on db pointed to by ZDBASE
Opt. Inputs : None
Outputs : None
Opt. Outputs: None
Keywords : None
Calls : ***
Bell, GET_LINELIST, LIST_LINELIST, MOD_LINELIST, QZDBASE, WAVE2PIX, YES_NO
Common : None
Restrictions: None
Side effects: None
Category : Databases, planning
Prev. Hist. : None
Written : C D Pike, RAL, 27-Nov-95
Modified :
Version : Version 1, 27-Nov-95
[Previous]
[Next]
Project : SOHO - CDS
Name : FIX_MAIN_TIMES
Purpose : Fixes start and stop times in the MAIN catalog
Category : Class5, Operations, Catalog
Explanation : Sometimes the start and stop times in the MAIN catalog get out
of sync with the entries in the EXPERIMENT catalog. These
anomalous entries are signalled by having OBT_TIME=0. This
routine will set the time parameters in such cases to resync
the databases.
Only for use by experts.
Syntax : FIX_MAIN_TIMES
Examples :
Inputs : None.
Opt. Inputs : None.
Outputs : None.
Opt. Outputs: None.
Keywords : None.
Calls : ***
DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]
DBOPEN [1], DBOPEN [2], DBOPEN [3], GET_MAIN, LIST_EXPER, MOD_MAIN, PRIV_ZDBASE
Common : None.
Restrictions: !PRIV must be GE 2 to write into the database.
Side effects: None.
Prev. Hist. : None.
History : Version 1, 10-Apr-1996, William Thompson, GSFC
Contact : WTHOMPSON
[Previous]
[Next]
NAME:
FIX_OBESUMERROR
PURPOSE:
Fix an OBE error encountered when doing LEB summing
CATEGORY:
REDUCE
CALLING SEQUENCE:
FIX_OBESUMERRROR
OPTIONAL INPUTS:
Date: If present processes the date specified. Otherwise processes dates
6 March 1997 -20 March 1997
KEYWORD PARAMETERS:
QL: If present goes to the quick-look Directory, the default is QL
LZ: If present goes to the Level-0 Directory
FIXIT: If specified then writes the FITS file out, with LEBXSUM and LEBYSUM corrected.
PROCEDURE:
An error was discovered in OBE beginning 6 March 1997 through xx March.
It started after sending a command to sum difference in EIT images.
The result was that the LEB summing parameter in the header was not
being set to the proper value. It always read 1, even though the
summing was performed.
This routine goes out to the date directory specified and reads in all of the FITS
files one by one and then calls CHECK_OBESUMERROR to see if the error has
occurred.
CALLS: ***
CHECK_OBESUMERROR, READFITS [1], READFITS [2], READFITS [3], WRITEFITS [1]
WRITEFITS [2]
EXAMPLE:
To see if the files on 970307 have the problem, use the following command:
FIX_OBESUMERROR,'970307',/QL
To correct the file
FIX_OBESUMERROR,'970307',/QL,/FIXIT
To correct all the files between 6 Mar and 20 Mar
FIX_OBESUMERROR,/QL,/FIXIT
MODIFICATION HISTORY:
RA Howard, NRL, 23 March 97
@(#)fix_obesumerror.pro 1.1 05/14/97 LASCO IDL LIBRARY
[Previous]
[Next]
Project : SOHO - CDS
Name : FIX_OBS_SEQ
Purpose : Fix blank OBS_SEQ and OBS_MODE values in the catalog
Category : Class5, Operations, Catalog
Explanation : Sets blank OBS_SEQ values in the catalog to suitable values.
Syntax : FIX_OBS_SEQ
Examples :
Inputs : None.
Opt. Inputs : None.
Outputs : None.
Opt. Outputs: None.
Keywords : None.
Calls : ***
COUNTDOWN, DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBOPEN [1], DBOPEN [2]
DBOPEN [3], GET_EXPER, MOD_EXPER, PRIV_ZDBASE, TRIM
Common : None.
Restrictions: !PRIV must be GE 2 to write into the database.
Side effects: None.
Prev. Hist. : None.
History : Version 1, 16-April-1996, William Thompson, GSFC
Contact : WTHOMPSON
[Previous]
[Next]
NAME:
FIX_TIME_JUMP
PURPOSE:
This procedure reads a file from CDROM and puts the packets in
order of the packets. If there is a gap, attempts to fill in
with QL packets using GET_MISSING_PCKTS.
CATEGORY:
LASCO PACKETS
CALLING SEQUENCE:
FIX_TIME_JUMPS,fname
INPUTS:
Fname: Name of file with packets in it
OUTPUTS:
Outname: Returns the temporary output file name
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], DATATYPE [1], DATATYPE [2]
DATATYPE [3], FIX_TIME_JUMPS, GETENV_SLASH, GET_MISSING_PCKTS, OBT2TAI
READ_TM_PACKET, TAI2UTC, TRIM, UTC2STR, break_file [4]
SIDE EFFECTS:
A file with same name as fname and at least as large is generated in $TMOUT
PROCEDURE:
The input files must reside in the current working directory.
It then finds missing or out of order packets in science stream by
looking at the packet counter, which should increment by one.
MODIFICATION HISTORY:
Written by: R.A. Howard, NRL, 3 Aug 1996
N. Rich 1/31/97 added tm_files variable
RAH 2/04/97 Corrected high rate packet sizes
N. Rich 3/29/97 added outdir variable
N. Rich 1/2000 Implement GET_MISSING_PCKTS
N. Rich 2/2000 Add ctrmin2 check
N. Rich 4/2000 Fix case where badpckts are in middle; Use packet counter for gap
if backwards clock-reset detected
4/21/00 Print packet length of gaps and result (LZ 000207 ff.)
n. rich 6/19/00 Change how it recognizes packet out of order, and previous packet
out of order
n. rich 6/20/00 Start logging out-of-order packets
jake 01/01/01 Up'd limit of numexp to 500000 to help 03240101.d01
n.rich, 03.10.09 - Allow path in input filename
k.battams 9/14/05 - change loop counter @ line 287 to 0L because 52240101.d01
had "Missing 9551 pkts; returned 58645 pkts", which crashed the
routine.
@(#)fix_time_jumps.pro 1.9 09/14/05 LASCO IDL LIBRARY
[Previous]
[Next]
NAME:
FIXWRAP
PURPOSE:
This function removes the overflow values of an image
CATEGORY:
CALLING SEQUENCE:
out = FIXWRAP(in)
INPUTS:
in = image with overflows
OPTIONAL INPUTS:
NONE
KEYWORD PARAMETERS:
NONE
OUTPUTS:
out = a long image with overflows removed
OPTIONAL OUTPUTS:
NONE
CALLED BY:
COMPUTE_STD_VALS, REDUCE_LEVEL_1
COMMON BLOCKS:
NONE
SIDE EFFECTS:
The output image is LONG type
RESTRICTIONS:
NONE
PROCEDURE:
EXAMPLE:
in = LASCO_READFITS(file, h)
out = FIXWRAP(in)
MODIFICATION HISTORY:
Written by: A. Vourlidas, NRL, 9/30/97
[Previous]
[Next]
NAME:
fl_annotate
PURPOSE:
To annotate the collage image produced by first_light.
METHOD: Standard xyouts calls
CALLING SEQUENCE:
fl_annotate,gnttime,gkitime,gbhtime,gkmtime
PARAMETERS:
g**time the times corresponding to the ground based images used
KEYWORDS:
OUTPUT TYPE:
CALLS:
CALLED BY:
fl_suntoday [1], fl_suntoday [2], fl_suntoday [3], sun_today [1], sun_today [2]
sun_today [3]
HISTORY:
Procedure developed to annotate the first_light collage
Written by D. Alexander 5-May-94
12-Jul-1994 - (SLF) add character size scaling for z-buffer
parameterize character size
[Previous]
[Next]
Name: fl_goesplot
Purpose: make goes plot in 'first_light' format or read existing
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_EXIST [2], FMT_TIMER [1]
FMT_TIMER [2], LOADCT, PLOT_GOES, Rd_Roadmap [2], WDEF [1], WDEF [2], concat_dir [4]
data_chk [1], data_chk [2], evt_grid, fem_grid [1], fem_grid [2], file_exist [1]
file_exist [3], fl_summary [1], fl_summary [2], fl_summary [3], fmt_tim [1]
fmt_tim [2], get_logenv [1], get_logenv [2], gt_day [1], gt_day [2]
gt_dp_mode [1], gt_dp_mode [2], mk_pix [1], mk_pix [2], newfiles [1], newfiles [2]
newfiles [3], rd_roadmap [1], restgen [1], restgen [2], savegen [1], savegen [2]
ut_time [1], ut_time [2]
CALLED BY:
FIRST_LIGHT [1], FIRST_LIGHT [2], fl_summary [1], fl_summary [2], fl_summary [3]
goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5]
History:
14-Jul-1994 - (SLF) broke out first_light code, use Z-buffer so it can
run as a background task
18-Jul-1994 - (SLF) corrected time range logic
19-Jul-1994 - (SLF) read last 10 sfr/spr roadmaps (changed from 5)
6-Sep-1994 - (SLF) call fl_summary
7-Sep-1994 - (SLF) use device,set_colors=240 (make Z-buff ~ X win)
5-oct-1994 - (SLF) add SMALL keyword (collage insert = 512x128
added COLORS array [goeslevel, night , saa]
8-oct-1994 - (SLF) move distribution to fl_summary
10-nov-1994 - (SLF) pass !y.crange to fem_grid
7-apr-1995 - (SLF) protect against no goesdata
9-apr-1995 - (SLF) try 1 min if 3 fails (ydb_exist not reliable?)
6-sep-1995 - (SLF) use 1 minute (new G71 files)
[Previous]
[Next]
Name: fl_summary
Purpose: combine fl_xxx images into summary image
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], CONGRID [1], CONGRID [2]
CONGRID [3], FILE_EXIST [2], FL_NARGEV, LOADCT, STR2ARR [1], STR2ARR [2], SXT_MK3
WDEF [1], WDEF [2], concat_dir [4], file_exist [1], file_exist [3], first_over
fl_goesplot [1], fl_goesplot [2], fl_goesplot [3], fl_mktext, fl_suntoday [1]
fl_suntoday [2], fl_suntoday [3], fl_sxtobsnar [1], fl_sxtobsnar [2]
get_info [1], get_info [2], get_info [3], get_info [4], gt_center, gt_dpe, gt_filtb
gt_percentd, lastsfd [1], lastsfd [2], mk_pix [1], mk_pix [2], restgen [1]
restgen [2]
CALLED BY:
fl_goesplot [1], fl_goesplot [2], fl_goesplot [3]
History:
3-sep-94 (SLF) test one possible summary format
6-sep-94 (SLF) call mk_pix to generate 'First_Light' summary image
7-sep-94 (SLF) call fl_mktext
20-sep-94 (SLF) rearrange, add images
5-oct-94 (SLF) new format (small goes, add SXT OR)
9-oct-94 (SLF) use relative screen postions, shift some stuff
(make it easier to re-format) add white light
12-oct-94 (SLF) add call to fl_nargev
18-oct-94 (SLF) restored previous change (heliographic via gt_center)
31-oct-94 (SLF) dont label small sxt
9-Feb-95 (SLF) scale obs region to max=256
13-feb-95 (SLF) use REBIN=512 in lastsfd call
6-apr-95 (SLF) embed congridded OR in 256x256 so tv position will work
28-apr-95 (SLF) color table (3 w/reverse SXT)
24-sep-95 (SLF) add MK3/SXT composite
25-sep-95 (SLF) CaIIK
13-oct-95 (SLF) minor cleanup (lower SXT OBs text, ...)
[Previous]
[Next]
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], DIST, FILE_EXIST [2], HALP, LOADCT
ROT, SIGMA_FILTER, WDEF [1], WDEF [2], concat_dir [4], data_chk [1], data_chk [2]
file_exist [1], file_exist [3], fl_annotate [1], fl_annotate [2], fmt_tim [1]
fmt_tim [2], get1gbo, get_info [1], get_info [2], get_info [3], get_info [4]
get_logenv [1], get_logenv [2], get_newsoon, get_rb0p [1], get_rb0p [2], gntcleen
histscale [1], histscale [2], lastsfd [1], lastsfd [2], mk_pix [1], mk_pix [2]
restgen [1], restgen [2], rm_darklimb, savegen [1], savegen [2], scale_gbo
sxt_cen [1], sxt_cen [2], wc_where [1], wc_where [2]
CALLED BY:
FIRST_LIGHT [1], FIRST_LIGHT [2], bbso_copy [1], bbso_copy [2], fl_summary [1]
fl_summary [2], fl_summary [3], selsisi_copy, sun_today [1], sun_today [2]
sun_today [3]
HISTORY:
Procedure developed to annotate the first_light collage
Written by D. Alexander 5-May-94
12-Jul-1994 - (SLF) add character size scaling for z-buffer
parameterize character size
15-sep-1994 - (SLF) minor mods - make it part of fl_suntoday
19-oct-1994 - (SLF) replace lastgbo call with calls to get1gbo
24-sep-1995 - (SLF) scale gkm, rm_darklimb on soon data
[Previous]
[Next]
Name: fl_sxtobsnar
Purpose: return the SXT / NAR / Observing region overlay, 'first_light' style
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_EXIST [2], LOADCT
Rd_Roadmap [2], SXT_IMG_SUMMARY, SXT_UNIQFOV, concat_dir [4], file_exist [1]
file_exist [3], fmt_tim [1], fmt_tim [2], get_logenv [1], get_logenv [2]
lastsfd [1], lastsfd [2], mk_pix [1], mk_pix [2], newfiles [1], newfiles [2]
newfiles [3], plot_nar [1], plot_nar [2], rd_roadmap [1], rd_tfile [1]
rd_tfile [2], restgen [1], restgen [2], savegen [1], savegen [2]
CALLED BY:
FIRST_LIGHT [1], FIRST_LIGHT [2], fl_summary [1], fl_summary [2], fl_summary [3]
History:
14-Jul-1994 (SLF) - broke code out from first_light, added z-buffer
support for Back Ground, generate a mkpix file
default read from that file (faster) linked to
mk_sfd phase of go_toban etc...
7-Sep-1994 (SLF) - use device,set_colors to make Z-buff look like X
5-oct-1994 (SLF) - pick half res, not last (if avail in last file)
use /short title in lastsfd keyword
9-oct-1994 (SLF) - dont AR label the small (collage) version
31-oct-1994 (SLF) - label small with time
8-Feb-1995 (SLF) - change file name to: LAST_SXT_NOAA_AR,
include image info in text section of genx
13-feb-1995 (SLF) - add REBIN=512 to lastsfd call (fill FOV)
29-aug-1994 (SLF) - tone down stoney-grid on small version
[Previous]
[Next]
Project : SOHO - CDS
Name :
FLAG_LONG_NAMES
Purpose :
Flags procedure names that would appear the same under DOS
Explanation :
Flags sets of IDL procedure names which have the same first eight
characters. These would appear to be the same file on DOS machines.
The names of each set of .PRO files with the same first eight
characters are printed to the screen.
Use :
CD, directory ;(go to desired directory)
FLAG_LONG_NAMES
Inputs :
None.
Opt. Inputs :
None.
Outputs :
None.
Opt. Outputs:
None.
Keywords :
None.
Calls : ***
FDECOMP [1], FDECOMP [2], FDECOMP [3]
Common :
None.
Restrictions:
None.
Side effects:
None.
Category :
Utilities, Operating_system.
Prev. Hist. :
William Thompson, January 1993.
Written :
William Thompson, GSFC, January 1993.
Modified :
Version 1, William Thompson, GSFC, 9 July 1993.
Incorporated into CDS library.
Version :
Version 1, 9 July 1993.
[Previous]
[Next]
PROJECT:
SOHO - SUMER
NAME:
FLATF()
PURPOSE:
Return if Flatfield is done (1) or not (0)
CATEGORY:
EXPLANATION:
SYNTAX:
Result = flatf()
EXAMPLES:
INPUTS:
header - BYTARR(92) Image Header
OPTIONAL INPUTS:
None.
OUTPUTS:
None.
OPTIONAL OUTPUTS:
None.
KEYWORDS:
None.
COMMON:
None.
RESTRICTIONS:
None.
SIDE EFFECTS:
None.
HISTORY:
Version 1, October 7, 1996, Dietmar Germerott, MAPE Lindau. Written
CONTACT:
Dietmar Germerott, MAPE Lindau (germerott@linax1.mpae.gwdg.de)
[Previous]
[Next]
PROJECT:
SOHO - SUMER
NAME:
FLREQ()
PURPOSE:
Return Flight Operation Request Number
CATEGORY:
EXPLANATION:
SYNTAX:
Result = flreq()
EXAMPLES:
INPUTS:
header - BYTARR(92) Image Header
OPTIONAL INPUTS:
None.
OUTPUTS:
None.
OPTIONAL OUTPUTS:
None.
KEYWORDS:
None.
COMMON:
None.
RESTRICTIONS:
None.
SIDE EFFECTS:
None.
HISTORY:
Version 1, October 7, 1996, Dietmar Germerott, MAPE Lindau. Written
CONTACT:
Dietmar Germerott, MAPE Lindau (germerott@linax1.mpae.gwdg.de)
[Previous]
[Next]
Project : SOHO - CDS
Name : FLUSH_CATALOG
Purpose : Flush the CDS catalog databases.
Category : Level4, CDS, Operations, Catalog, Database
Explanation : This routine moves all the entries currently in the experiment*
databases to fexperiment*, where the "f" stands for "full".
This way, the databases being appended to are kept small, so
that FITSGEN runs more efficiently.
Syntax : FLUSH_CATALOG
Examples :
Inputs : None.
Opt. Inputs : None.
Outputs : None.
Opt. Outputs: None.
Keywords : YEAR = If set, then all entries with a start date within
that year are moved to a database specifically set
aside for that year. The use of this keyword requires
!PRIV=3.
ERRMSG = If defined and passed, then any error messages will be
returned to the user in this parameter rather than
depending on the MESSAGE routine in IDL. If no errors
are encountered, then a null string is returned. In
order to use this feature, ERRMSG must be defined
first, e.g.
ERRMSG = ''
FLUSH_CATALOG, ERRMSG=ERRMSG
IF ERRMSG NE '' THEN ...
Calls : ***
ANYTIM2UTC [1], ANYTIM2UTC [2], BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3]
DBBUILD [1], DBBUILD [2], DBBUILD [3], DBCLOSE [1], DBCLOSE [2], DBCLOSE [3]
DBCOMPRESS, DBCREATE [1], DBCREATE [2], DBCREATE [3], DBDELETE [1], DBDELETE [2]
DBDELETE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBINDEX [1], DBINDEX [2]
DBINDEX [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], DB_INFO [1], DB_INFO [2]
DB_INFO [3], FILE_EXIST [2], FIND_WITH_DEF [1], FIND_WITH_DEF [2]
FIND_WITH_DEF [3], LOCK_DATABASE, OS_FAMILY, PRIV_ZDBASE, TRIM, UNLOCK_DATABASE
UTC2TAI, break_file [4], file_exist [1], file_exist [3]
Common : None.
Restrictions: None.
Side effects: Backup copies are made of the database files, called
old_experiment.dbf, old_fexperiment.dbf, etc.
Prev. Hist. : None.
History : Version 1, 11-Apr-1996, William Thompson, GSFC
Version 2, 1-June-1998, William Thompson, GSFC
Added YEAR keyword
Contact : WTHOMPSON
[Previous]
[Next]
Name: fmt_doc
Purpose: format output buffer containing documentation header info
Input Parameters:
doc_str - document structures, as returned by get_doc.pro
scaler or array of structures
Optional Keyword Paramters:
lf - if set, 1 blank line inserted between routine documentation
Output Parameters:
function returns string array of formatted doc_str contents
for scaler input, each doc_str field is included (page format)
for array input, a summary list format (Name Purpose) is produced
Calling Sequence: outarr=fmt_doc(doc_str)
Category: gen, util, swmaint, documentation, class3
CALLS: ***
STR2ARR [1], STR2ARR [2]
CALLED BY:
doc_summ [1], doc_summ [2], get_doc [1], get_doc [2], get_doc [3]
History: slf, 20-Jul-1992
slf, 30-Mar-1994 (add brief, keyindent)
[Previous]
[Next]
NAME:
FMT_TAG
PURPOSE:
Converts a data structure (as represented by the IDL SIZE
its to string representation for dynamic structure building
CALLING SEQUENCE:
user_value = FMT_TAG( SIZE (data_structure))
INPUTS:
DSIZE - size vector for desired data structure
RETURN VALUE:
Character string representing data structure
CALLED BY:
Multi_draw [1], Multi_draw [2], RD_GEN [1], RD_GEN [2], build_str [1]
build_str [2], diskbench, extract_val, fitshead2struct, get1hk_info [1]
get1hk_info [2], get_elemabun [1], get_elemabun [2], save_data [1], sparse [1]
sparse [2], sparse [3], str_merge [1], str_merge [2], str_subset, struct2ms [1]
struct2ms [2], sxt2file, sxt_uniq [1], tr_decode_head [1], tr_decode_head [2]
trace_dph2struct [1], url_decode
EXAMPLES:
if user variable X was created by: FINDGEN(2,3,4,5), then
then FMT_TAG(SIZE(X)) returns string 'FLTARR(2, 3, 4, 5)'
FILE I/O:
NONE
COMMON BLOCKS;
NONE
RESTRICTIONS:
Structures not yet implemented
MODIFICATION HISTORY:
Version 1 - SLF, 3/5/91
[Previous]
[Next]
NAME:
fmt_tim
PURPOSE:
Given a time (or array of times) return the formatted
date/time string.
CALLING SEQUENCE:
print, fmt_tim(roadmap)
print, fmt_tim(index(i).gen)
tim = fmt_tim(index, day_str, time_str)
INPUT:
tim_in - Can be a structure with the .TIME and .DAY
fields
(OR)
The "standard" 7 element external representation
of time (HH,MM,SS,MSEC,DD,MM,YY)
OPTIONAL INPUT:
msec - If present, also print the millisec in the formatted
output.
nolead0 - If present, do not include a leading "0" on the hour string
for hours less than 10. (ie: return 9:00:00 instead of 09:00:00)
fits - If present, then use the FITS slash format of the type DD/MM/YY
OUTPUT:
Returns the whole date/time string formatted in the
form like: 12-OCT-91 23:25:10
OPTIONAL OUTPUT:
day_str - just the date part of the string
time_str- just the time part of the string
CALLS: ***
gt_day [1], gt_day [2], gt_time [1], gt_time [2]
CALLED BY:
ALIGN1BIGGRAM, ALIGN_AR, ANAL_BCS_PHA, ANAL_STIMS, Alt_tim_sel, BCS_24HR_PLOT [1]
BCS_24HR_PLOT [3], BCS_BROWSE24, BCS_CAT, BCS_CONT [1], BCS_CONT [2]
BCS_CREATE_CAT, BCS_MULTI [1], BCS_MULTI [2], BCS_SPMOVIE [1], BCS_SPMOVIE [2]
BOXLC_DISPLAY, BSC_RASTER, BSC_TIM2DSET, CARR2EX, CHECK_SFC_PNT, CIV_SUBTRACT
DISPLOI_MON5K, DO_TEEM, DR, DSN_DMP_FINDER, FAXABLE_SFD, FE25_BSC_TEMP, FIND_CAL [1]
FIND_CAL [2], FIND_SEU, FMT_TIMER [1], FMT_TIMER [2], FOV_COORDS, GET_SUN [1]
GET_SUN [2], GET_TRANGE, GOES_TEK [1], GO_FIND_LIM2, GRID_CURSOR, GT_BSC_TIME
HXA2HEL, HXA_SXT, HXTPIXON, HXT_AUTOIMG, HXT_QLOOK, HXT_TEEM, JITTER_HTML
LASTSFD_DIFF, LATEST_SFDS_GIF, LAY1GKM, LIST_BDA, MANY_DAYS, MDI_SUMMARY_SUB1
MEMCHK_TIMES, MK_HXI_MAP, MK_ORB_WEEK, NAR2COORD, NEAR_CONJ, OBS_EVENT, OBS_PLOT
ORBIT_DN, ORB_EXTRAP, OVER_THE_LIMB, PFI_CENT, PLOTBSD v306 IDL2, PLOT_BSC_AS2
PREFLARE_SEARCH, PROM_ON_DISK, PROTRACTOR, QUICKATT [1], QUICKATT [2], RD_AR
RD_PLAN_AREA, READ_TRACE_FOV, SDC_VERIFY, SELECT_24HR, SFD_PHOT, SFD_TEK, SPLINE_LC
SUMM_CALS, SXT2POS, SXT_EXPOSURE_MAP, SXT_HYST, SXT_QLOOK, SXT_TEEM1 [1]
SXT_TEEM1 [2], SXT_TEEM1 [3], SYNOP_3_ROTS, Sxt_goes_teem, TERM_REVIEW
TERM_REVIEW_GIF, TRACE_LIST_INDEX, TRACE_SSWHERE [1], VIEW_SFM
VIEW_TRACE_MOSAIC, WBSC_LTC_EV [1], WBSC_LTC_EV [2], WBS_DB, WBS_DB2, WOBS_PLOT
XMOVIE_SFM, YOHKOH_EVENTS, YOHKOH_TERM_PREDICT, ada2str, adjust_times
ads_into_att, ads_into_pnt, align1img [1], align1img [2], auto_toban, azimuth_avg
bcs_clock_fix, bcs_trange, box_sxthxt_fsp, bsc_spec_plot [1], bsc_spec_plot [2]
cal_bsc, cam_run_sum, cancel_dsn_fil, ccd_hdr_info, ccd_sunc [1], ccd_sunc [2]
cfl_summary [1], cfl_summary [2], check_sci5k_trunc, chk_pointing
choose_interval, cnvt [2], cont2time [1], cont2time [2], contacts [1]
contacts [2], copy_visible, daily_forecast [2], disp_bda, disp_hda
disp_sci160k [1], disp_sci160k [2], disp_sci5k, disp_synop, disp_therm_rs232
disp_wda, divyup, do_tr_reformat, dsn_show, edac_summary, eitoversxt, ffi_prep
fidrange [1], fidrange [2], file_info2 [1], file_info2 [2], fit_bsc, fit_bsc_as
fit_bsc_plot, fits2time [1], fits2time [2], fits2time [3], fits_disp_month [1]
fits_disp_month [2], fl_goesplot [1], fl_goesplot [2], fl_goesplot [3]
fl_suntoday [1], fl_suntoday [2], fl_suntoday [3], fl_sxtobsnar [1]
fl_sxtobsnar [2], fmt_rasm, fort2hxi [1], fort2hxi [2], ftp_copy_new
gbo_obs_coord, get_active_reg, get_ar, get_bsc_anno, get_dc_image [2]
get_dc_image [3], get_dn_rate [1], get_dn_rate [2], get_hxt_pos, get_info [1]
get_info [2], get_info [3], get_info [4], get_ksc_holiday, get_leak_image [1]
get_leak_image [2], get_leak_image [3], get_mk3 [1], get_mk3 [2], get_orb_epoch
get_selsis, get_seq_tab, get_sfc_info, get_sscinfo [1], get_suncenter2, get_sunset
get_utevent [1], get_utevent [2], go_get_sirius, go_hxt_hk_temps
go_lasdisk golaserdisk, go_lasdisk2 golaserdisk, go_nvs5, goes_gaps, goes_log
goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5]
goes_summary, goes_teem, goes_widget, goesem_eqn [1], goest_eqn [1], grs32_fsp
grsl_fsp, gtab_summary, gtt_info, gtt_orbit, hkplot_info, html_form_addtime [1]
html_form_addtime [2], html_form_addtime [3], hxi_interp, hxs_fsp, hxsgrs_fsp
hxt_fsp, hxt_fsp1, hxt_multimg, hxt_sources, hxt_utplot, hxtbox_fsp, image2movie
image_summary, in_fov, input_time [1], input_time [2], ip_que_dmpver, iperr_sea
jitter_gif_xyimg, jst, killold [1], killold [2], last_lc, lastgbo, lastsfd [1]
lastsfd [2], lcur_plotr [1], lcur_plotr [2], leak_sub [1], leak_sub [2]
leak_sub [3], list_mo_log [1], list_mo_log [2], list_nrt_times, list_tfi
make_32 [2], mdi_imagetool, mk_att [1], mk_att [2], mk_bsa_interv [1]
mk_bsa_interv [2], mk_coal_movie, mk_desat, mk_desat_wl, mk_evn [1], mk_evn [2]
mk_fem [1], mk_fem [2], mk_fem_file [1], mk_fem_file [2], mk_formt_html [1]
mk_formt_html [2], mk_formt_html [3], mk_gif_mag_index, mk_gsn_obs_s1
mk_hst_summary, mk_mdi_iap, mk_op_file, mk_orbit [1], mk_orbit [2], mk_orbit_files
mk_pnt, mk_sdl, mk_sdm, mk_sdp, mk_sfc [1], mk_sfc [2], mk_sfd [1], mk_sfd [2]
mk_sfd [3], mk_sfd [4], mk_sfs, mk_sft [1], mk_sft [2], mk_sfw, mk_sl [1], mk_sl [2]
mk_sot, mk_sumer_dbase_ff, mk_sun_mosaic, mk_sxc, mk_sxl, mk_timarr [1]
mk_timarr [2], mk_trace_i1, mk_week_file [1], mk_week_file [2], mo_check
mon_health [1], mon_health [2], mon_sci5k, monthly_summary, mplot_nar
msok_poi_copy [1], msok_poi_copy [2], mwlt_select, new_disp_sci5k [1]
new_disp_sci5k [2], new_edac_summary, new_mon_health [1], new_mon_health [2]
norh_get_info [1], norh_get_info [2], obs_summary, old_raster, op_get_special
op_saa_med [1], op_saa_med [2], op_term_score, op_term_sum, op_terminator [1]
op_terminator [2], op_times, oplot_nts, pfi_dominant, pfi_loc, plot_ar_pfi
plot_door_open, plot_expos_hist, plot_fov [1], plot_gsn, plot_hxa
plot_img_cadence, plot_loi_mmad, plot_loi_summary [1], plot_loi_summary [2]
plot_nar [1], plot_nar [2], plot_ref, plot_shutter_perf, plot_ssw_fov
plot_therm_rs232a, plot_therm_rs232c, plot_trav [1], plot_trav [2]
plot_trav [3], plotbft [1], plotbth v30 IDL2, plots_bda, plots_wda, pr_dark_time
pr_evn [2], pr_fdss_grndtrk, pr_fdss_orbevt, pr_fdss_viewpd, pr_fem, pr_gbe, pr_gev
pr_gsn [1], pr_gsn [2], pr_his_index [1], pr_his_index [2], pr_his_index [3]
pr_maxmin_hk, pr_mdihk_trans [1], pr_mdihk_trans [2], pr_nar, pr_nel, pr_orbit_sum
pr_pnt_hist, pr_seq_frame_info, pr_status [1], pr_status [2], pr_sxt_term
pr_sxtobs, pr_therm_rs232, pr_tim2week [1], pr_tim2week [2], pr_uniq_hk
pr_visible, quick_hkplot [1], quick_hkplot [2], quick_plottrav, radial_avg
rd_fdss, rd_raw_station_plan, rd_sci5k, rd_station_plan, rd_sxtgoes
rd_therm_rs232, rd_week_file [1], rd_week_file [2], rd_week_file [3]
rd_week_file [4], rd_xda_same, rdtbl, read_msok_jpg, redo_disploi, redo_mon_sci5k
ref_day_plot, reltime [1], reltime [2], reslot, rest_low8_cube [1]
rest_low8_cube [2], rt_nkr, run_dsnfil, scat_avg, sda2fits, sector_avg, sel_fileinfo
sel_leak_image [1], sel_leak_image [3], sel_leak_image [4], seq_frame_info
seq_run_sum [1], seq_run_sum [2], sft2sfc, show_obs2, show_obs3, show_obs4
sleazy_rot, sol_rot [2], soon_catstat, soup_info, ssw_check_contrib, ssw_track_fov
sumer_ffdb, sun_today [1], sun_today [2], sun_today [3], sxl2radiance, sxt2eit
sxt_align, sxt_deleak [1], sxt_deleak [2], sxt_eff_area, sxt_fits_info
sxt_flux [1], sxt_flux [2], sxt_flux [3], sxt_interp [1], sxt_interp [2]
sxt_mornint, sxt_mwave, sxt_obs_coord [1], sxt_obs_coord [2], sxt_plan
sxt_prep [1], sxt_prep [2], sxt_prep [3], sxtbox_fsp, sxthxt_fsp, sxtth_hxt
table_dump, telem_sum, term_times, tfr_summary, tfr_summary2, tim2dbase
tim2match [1], tim2match [2], tim2match [3], tim2orbit [1], tim2orbit [2]
timegrid, timeline, topsdb [1], topsdb [2], tprofiles, tr_inventory_telem
tr_rd_index, tr_rd_inventory, tr_reformat, trace_sswhere [2], trace_sswhere [3]
trace_sswhere [4], ut_time [1], ut_time [2], utcursor [1], utcursor [2]
valid_pass2, valid_pass3, valid_pass4 [1], valid_pass4 [2], web_seq, weekid [2]
wr_opasc [1], wr_opasc [2], wrt1orbit [1], wrt1orbit [2], wrt_fits_bin_exten [2]
wrt_sci160k_img, xanal_emi, xdate [1], xdate [2], xdisp_sci5k, xdisp_trace2
xdisp_trace3, xhkplot, xsearch_obs, xset_chain [1], xset_chain [2]
xsxt_prep_event, xy_lwa, ydb_exist [2], ydb_install [1], ydb_install [2]
yo_height, yopos [1], yopos [2], yoyo_man2
HISTORY:
written Fall '91 by M.Morrison
13-Nov-91 (MDM) - Added capability to pass the index
and have the ".gen" nested structure accessed
13-Nov-91 (MDM) - Removed the "guts" and put them inside
"gt_time" and "gt_day"
15-Nov-91 (MDM) - Added "msec" and "nolead0" options
4-Aug-95 (MDM) - Added /FITS keyword
[Previous]
[Next]
NAME:
FMT_TIMER
PURPOSE:
print formatted times of an index file
CALLING SEQUENCE:
fmt_timer,index
fmt_timer,index,t1,t2
fmt_timer,index,/noprint
OUTPUTS
t1, t2 are formatted times, useful for entry into another program
CALLS: ***
fmt_tim [1], fmt_tim [2]
CALLED BY:
CHECK_FOR_30S, FIRST_LIGHT [1], FIRST_LIGHT [2], GOES2DPE, MK_ORB_WEEK, NEAR_CONJ
NEUPERT_PLOT, PATROL_ORDER, QUICKDARK [2], QUICKLIMB [1], QUICKLIMB [2], QUICK_DPE
SFD_PHOT, SPARTAN_PLANNER, SXT_ECLIPSE, SXT_HYST, TERM_REVIEW, TERM_REVIEW_GIF
TEST_ATT, TRACE_SSWHERE [1], WL_CUBE_II, emi_plot [1], fix_decon_pits
fl_goesplot [1], fl_goesplot [2], fl_goesplot [3], get_bcs, goes_widget, gtt_orbit
image2movie, ip_que_dmpver, kluge_att, lapalma_cat, mdi_cat, multi_hda2hxi
pfi_dominant, pfi_loc, plot_fov [1], sacpeak_image, ssw_fov_context, sxt2mpeg
time_window, tr_lut_conv, trace_last_movie [1], trace_last_movie [3]
trace_movie_context, trace_special_movie [1], trace_special_movie [2]
trace_special_movie [3], trace_special_movie2, trace_sswhere [2]
trace_sswhere [3], trace_sswhere [4], wrt_fits_bin_exten [2], xanal_emi
HISTORY:
Hugh Hudson, Dec. 18, 1992
HSH, outputs added May 18, 1993
HSH, changed output and added /noprint keyword Aug 26, 1993
[Previous]
[Next]
Name:
font_size
Purpose:
Determine character width and height in pixels for a given
value of CHARSIZE
Calling sequence:
xpix = font_size(charsize, ypix)
xpix = font_size(charsize, ypix ,wxs=wxs, wys=wys)
Inputs:
charsize = Value of plotting keyword CHARSIZE to be tested
Outputs:
xpix = Size of character in pixels in x direction)
ypix = Size of character in pixels in y direction)
Optional Input Keywords:
wxs = Size of the pixmap window (default is 64)
wys = Size of the pixmap window (default is 64)
Method:
Open a window and then read back the results
CALLS: ***
SUMCOL [1], SUMCOL [2], SUMROW [1], SUMROW [2], SUMROW [3], WDEF [1], WDEF [2]
CALLED BY:
cal_fig_mich, fig_summary, img_summary [1], img_summary [2], mplot_nar
plot_ar_pfi, plot_fov [2], plot_nar [1], plot_nar [2]
Side effects:
A PIXMAP window will be created temporarily and then destroyed
Modification History:
9-apr-93 - GLS based on TEXT_SIZE.PRO by JRL
11-Jul-96 (MDM) - Corrected to preserve the device setting when
it was called.
[Previous]
[Next]
Name: force_evt
Purpose: make new event structure for input into event routine
Input Parameters:
parent_evt - parent event of caller
ids = list of widget ids to search for widget_value=value
Keyword Parameters:
type - string describing type of output structure
(widget_button, widget_slider, ...)
History - slf 5-June-1992
CALLS:
CALLED BY
xspr [1], xspr [2], xstepper_event
[Previous]
[Next]
Project : SOHO - CDS
Name :
FORM_FILENAME()
Purpose :
Adds default paths and extensions to filenames.
Explanation :
This procedure tests whether or not a given filename already has an
extension on it. If not, then a default extension is appended.
Optionally, the same can be done with a default path. This is similar
to using the DEFAULT keyword with the OPEN statement in VMS.
Using this routine together with environment variables for the optional
directory path allows an OS-independent approach to forming filenames.
Use :
result = FORM_FILENAME( FILENAME, EXTENSION )
OPENW, UNIT, FORM_FILENAME( FILENAME, '.fits' ), ...
Inputs :
FILENAME = Name of file to test.
EXTENSION = Default filename extension. Ignored if FILENAME already
contains an extension.
Opt. Inputs :
None.
Outputs :
Result of function is the name of the file complete with (optional)
directory and extension.
Opt. Outputs:
None.
Keywords :
DIRECTORY = Default directory path. Ignored if FILENAME already
contains directory information.
Calls : ***
STR_SEP
CALLED BY:
CDS_THUMBNAIL, FS_ARCHIVE_RW, GE_WINDOW [1], GFITS_W, HESSI_SHUTTERS
HSI_PACKET2FITS, PCL [1], PCL [2], PS [1], PS [2], QLARCHIVE, QMS [1], QMS [2]
SPEX_COMMONS [2], SPEX_COMMONS [4], SPEX_PROC [1], SPEX_PROC [2], TVPRINT
WRITE_CALFITS, WRITE_DD, X2JPEG, XCDS_SNAPSHOT
Common :
None.
Restrictions:
None.
Side effects:
None.
Category :
Utilites, Operating System.
Prev. Hist. :
William Thompson, October 1991.
Written :
William Thompson, GSFC, October 1991.
Modified :
Version 1, William Thompson, GSFC, 7 May 1993.
Incorporated into CDS library.
Changed to be compatible with CONCAT_DIR by M. Morrison.
Made more OS-independent. Relaxed punctuation requirements.
Fixed small bug with blank extensions.
Added IDL for Windows compatibility.
Version :
Version 1, 7 May 1993.
[Previous]
[Next]
NAME:
FOT_ROLL
PURPOSE
Help the FOT with roll determination during maneuvers.
Generate a web page with roll information updated frequently
for the FOT. Once per iteration (typ. 2/minute),
generate a 2-hour unaveraged plot and a 2-hour averaged plot.
Once every 10 iterations or once every 10 minutes (whichever
is more frequent), generate a 24-hour averaged plot.
Generate and update a web page that's set to expire and refresh
every 30 seconds.
METHOD
The plots are generated with roll_plot, and written to the web
directory specified in the parameters. (Default is $WEB_ROOT/tmp)
USAGE
FOT_ROLL, [options]
INPUT PARAMETERS
<NONE>
OPTIONAL KEYWORD INPUTS
DELAY - Time between updates (default: 30 seconds)
WEBDIR - If specified, the output HTML and gifs get put here.
MONITOR- If set, throw up local windows with the plots on 'em
NOTES
This routine uses a good fraction of mdisas's processor, so
it's designed to be used only when needed (and not as a regular
cron job; other roll plots are generated on a slower cadence
as cron jobs.)
The update of once every 30 seconds is kind of a waste of
computrons (LOI images come every 60 seconds), but I can't
be bothered to try and synchronize with the actual data
stream, so oversampling keeps down the average pipeline delay.
HISTORY
9-Jun-99: written by C. DeForest
29-Sep-99: (CED) set nsigma=7 for the plots, to keep SOHO rolling
from going offscale.
11-Jan-2001: (RIB) set directory to "pointing"; cleaned up html output.
CALLS:
[Previous]
[Next]
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
CALLS: ***
FPC1_IWCW, SXPAR [1], SXPAR [2], SXPAR [3], fpc1_wcw
COMMON BLOCKS:
None
SIDE EFFECTS:
None
RESTRICTIONS:
None
PROCEDURE:
MODIFICATION HISTORY:
1997 Aug 12 Written by Paul Reiser
[Previous]
[Next]
Project : SOHO - LASCO
Name :
Purpose :
Category :
Explanation :
Syntax :
Examples :
Inputs : None
Opt. Inputs : None
Outputs : None
Opt. Outputs: None
Keywords : None
CALLS: ***
RSTRPOS
Common :
Restrictions:
Side effects: Not known
History : Version 1, 22-Mar-1996, B Podlipnik. Written
Contact : BP, borut@lasco1.mpae.gwdg.de
[Previous]
[Next]
NAME:
fpc1_2img
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_2img(ref1,img,cref1,cref2,cimg)
INPUTS:
ref1 first 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
dz for the comp1 model, this is a "repair" to f that is a function
of position. Default value is zero.
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 zero median 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 median 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.
model - A number of models are available. The default model is 'comp1'
'subtract' - a simple subtraction of the offline (ref1) from the online (img)
'standard' - assumes no white light background
'comp1' - estimates the white light background with the three-gaussian model
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 five 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 img and cimg image pair. Image ref1 must be off line.
All images must be corrected for offset bias and exposure.
MODIFICATION HISTORY:
V 1.00 - Oct 06/98 written by Paul Reiser
V 1.10 - Jul 15/00 included zeroing box
CONTACT: Paul Reiser reiser@susim.nrl.navy.mil
Dennis Socker socker@lambda.nrl.navy.mil
[Previous]
[Next]
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
[Previous]
[Next]
NAME:
fpc1_phot
PURPOSE:
To convert a lasco signal image (DN/pixel/sec) to intensity (erg/sec/cm^2/sr/A)
CALLING SEQUENCE:
int = fpc1_phot(s,ix,iy,leb,[dataset])
INPUTS:
s - the signal image
ix,iy - the coordinates of the lower left of the signal image in CCD (1024x1024) coordinates
leb - binning (1 or 2, usually)
OPTIONAL INPUTS:
dataset - the closed door dataset used for calibration (e.g. dataset = '980306')
KEYWORD PARAMETERS: none
OUTPUTS:
Returns the intensity image corresponding to the input signal image. Units
of intensity are erg/sec/cm^2/sr/A
OPTIONAL OUTPUTS: none
METHOD
The signal image is multiplied by the calibration image after the calibration image
is suitable rebinned and cropped.
CALLS: ***
READFITS [1], READFITS [2], READFITS [3], SXPAR [1], SXPAR [2], SXPAR [3]
COMMON BLOCKS:
None
SIDE EFFECTS:
None
RESTRICTIONS: none
MODIFICATION HISTORY:
V 1.00 - written by Paul Reiser Nov 01, 1999 (11/01/99)
CONTACT: Paul Reiser reiser@susim.nrl.navy.mil
Dennis Socker socker@lambda.nrl.navy.mil
REFERENCES
http://lasco-www.nrl.navy.mil/~reiser/C1phot.html
[Previous]
[Next]
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.
CALLED BY:
FPC1_WWC, fp_iwcw
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.
[Previous]
[Next]
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.
CALLS: ***
fpc1_wcw
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
[Previous]
[Next]
FRACTILE
Return the requested fractile of the input data.
Usage:
fr = fractile(x, frac)
Return:
fr <input> The requested fractile.
Arguments:
x most input The array whose fractile(s) are to be
returned
frac float input The fractile(s) to return.
CALLED BY:
mk_stdim_hdr
Restrictions:
The input data must be a SORTable array (i.e. not complex,
string or structure).
Example:
To find the interquartile range of a data set, try:
q = fractile(data, [.25,.75])
iqr = q(1)-q(0)
History:
Original: 26/9/95; SJT
[Previous]
[Next]
Project : SOHO - CDS
Name : FREEZE_RAS_DUR
Purpose : Freeze raster durations, using measured values.
Category : Planning
Explanation : This routine calls the MOD_V_RASTER routine to modify the
raster duration to a negative value. This tells the software
that the duration is actually measured, rather than calculated,
so it will then not be updated.
Syntax : FREEZE_RAS_DUR [, RAS_ID, RAS_VAR [, DURATION ] ]
Examples :
Inputs : None required.
Opt. Inputs : RAS_ID, RAS_VAR = The raster ID and variation numbers
identifying the raster to be modified. If
not passed, then can be selected from menus.
DURATION = The value to set the duration to. If not
passed, then taken from the database entry.
The user will have the option of modifying the above parameters
before committing the change.
Outputs : None.
Opt. Outputs: None.
Keywords : GROUP = The widget ID of the widget that calls FREEZE_RAS_DUR.
When this ID is specified, a death of the caller
results in a death of FREEZE_RAS_DUR.
Calls : ***
CW_FIELD, DATATYPE [1], DATATYPE [2], DATATYPE [3], FREEZE_RD_EVENT, GET_RASTER
MOD_V_RASTER, PRIV_ZDBASE, TAG_EXIST [1], TAG_EXIST [2], XACK, XANSWER, XMANAGER
XREGISTERED, XSHOW_RASTER, XSTUDY, XTEXT
Common : FREEZE_RAS_DUR is an internal common block.
Restrictions: None.
Side effects: None.
Prev. Hist. : None.
History : Version 1, 01-Mar-1996, William Thompson, GSFC
Version 2, 20-Mar-1996, William Thompson, GSFC
Fix bug when don't select raster from XSHOW_RASTER
Version 3, 22-May-1997, William Thompson, GSFC
Change XSHOW_STUDY call to XSTUDY
Version 4, 9-Oct-1997, Chris Haskell, GSFC
Add an edit Telemetry Rate selection
Contact : WTHOMPSON
[Previous]
[Next]
PROJECT:
SOHO - SUMER
NAME:
FREQ_RAMP
PURPOSE:
Compute Frequency for Moving
CATEGORY:
EXPLANATION:
SYNTAX:
freq_ramp,
CALLED BY:
TKI_CALCMOT
EXAMPLES:
INPUTS:
sindex - step index
sramplen - steps per ramp
ffreqmax - max frequency for moving
OPTIONAL INPUTS:
None.
OUTPUTS:
fhz - Frequency for Moving
OPTIONAL OUTPUTS:
None.
KEYWORDS:
None.
COMMON:
None.
RESTRICTIONS:
None.
SIDE EFFECTS:
None.
HISTORY:
Version 1, September 13, 1996, Dietmar Germerott, MAPE Lindau. Written
CONTACT:
Dietmar Germerott, MAPE Lindau (germerott@linax1.mpae.gwdg.de)
[Previous]
[Next]
NAME:
FSC_COLOR
PURPOSE:
The purpose of this function is to obtain drawing colors
by name and in a device-decomposition independent way. The
color names and values may be read in as a file, or 88
color names and values are supplied from the program. These
were obtained from the file rgb.txt, found on most X-Window
distributions. Representative colors were chose from across
the color spectrum. To see a list of colors available, type:
Print, FSC_Color(/Names).
AUTHOR:
FANNING SOFTWARE CONSULTING:
David Fanning, Ph.D.
1645 Sheely Drive
Fort Collins, CO 80526 USA
Phone: 970-221-0438
E-mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com
CATEGORY:
Graphics, Color Specification.
CALLING SEQUENCE:
color = FSC_COLOR(theColor, theColorIndex)
NORMAL CALLING SEQUENCE FOR DEVICE-INDEPENDENT COLOR:
axisColor = FSC_COLOR("Green", !D.Table_Size-2)
backColor = FSC_COLOR("Charcoal", !D.Table_Size-3)
dataColor = FSC_COLOR("Yellow", !D.Table_Size-4)
Plot, Findgen(11), Color=axisColor, Background=backColor, /NoData
OPlot, Findgen(11), Color=dataColor
OPTIONAL INPUT PARAMETERS:
TheColor: A string with the "name" of the color. To see a list
of the color names available set the NAMES keyword.
Valid names depend on the colors loaded in the program, but
typically include such these colors as these:
Black Pink
Magenta Aqua
Cyan SkyBlue
Yellow Beige
Green Charcoal
Red Gray
Blue Orchid
Navy White
The color WHITE is used if this parameter is absent. To see a list
of the color names available in the program, type this:
Print, FSC_COLOR(/Names)
TheColorIndex: The color table index where the specified color is loaded.
The color table index parameter should always be used if you wish to
obtain a color value in a color-decomposition-independent way in your
code. See the NORMAL CALLING SEQUENCE for details.
RETURN VALUE:
The value that is returned by FSC_COLOR depends upon the keywords
used to call it and on the version of IDL you are using. In general,
the return value will be either a color index number where the specified
color is loaded by the program, or a 24-bit color value that can be
decomposed into the specified color on true-color systems.
If you are running IDL 5.2 or higher, the program will determine which
return value to use, based on the color decomposition state at the time
the program is called. If you are running a version of IDL before IDL 5.2,
then the program will return the color index number. This behavior can
be overruled in all versions of IDL by setting the DECOMPOSED keyword.
If this keyword is 0, the program always returns a color index number. If
the keyword is 1, the program always returns a 24-bit color value.
If the TRIPLE keyword is set, the program always returns the color triple,
no matter what the current decomposition state or the value of the DECOMPOSED
keyword.
If the ALLCOLORS keyword is used, then instead of a single value, modified
as described above, then all the color values are returned in an array. In
other words, the return value will be either an NCOLORS-element vector of color
table index numbers, an NCOLORS-element vector of 24-bit color values, or
an NCOLORS-by-3 array of color triples.
If the NAMES keyword is set, the program returns a vector of
color names known to the program.
INPUT KEYWORD PARAMETERS:
ALLCOLORS: Set this keyword to return indices, or 24-bit values, or color
triples, for all the known colors, instead of for a single color.
DECOMPOSED: Set this keyword to 0 or 1 to force the return value to be
a color table index or a 24-bit color value, respectively.
FILENAME: The string name of an ASCII file that can be opened to read in
color values and color names. There should be one color per row
in the file. Please be sure there are no blank lines in the file.
The format of each row should be:
redValue greenValue blueValue colorName
Color values should be between 0 and 255. Any kind of white-space
separation (blank characters, commas, or tabs) are allowed. The color
name should be a string, but it should NOT be in quotes. A typical
entry into the file would look like this:
255 255 0 Yellow
NAMES: If this keyword is set, the return value of the function is
a ncolors-element string array containing the names of the colors.
These names would be appropriate, for example, in building
a list widget with the names of the colors. If the NAMES
keyword is set, the COLOR and INDEX parameters are ignored.
listID = Widget_List(baseID, Value=GetColor(/Names), YSize=16)
SELECTCOLOR: Set this keyword if you would like to select the color name with
the PICKCOLORNAME program. Selecting this keyword automaticallys sets
the INDEX positional parameter. If this keyword is used, any keywords
appropriate for PICKCOLORNAME can also be used. If this keyword is used,
the first positional parameter can be either a color name or the color
table index number. The program will figure out what you want.
TRIPLE: Setting this keyword will force the return value of the function to
*always* be a color triple, regardless of color decomposition state or
visual depth of the machine.
In addition, any keyword parameter appropriate for PICKCOLORNAME can be used.
These include BOTTOM, COLUMNS, GROUP_LEADER, INDEX, and TITLE.
OUTPUT KEYWORD PARAMETERS:
CANCEL: This keyword is always set to 0, unless that SELECTCOLOR keyword is used.
Then it will correspond to the value of the CANCEL output keyword in PICKCOLORNAME.
COLORSTRUCTURE: This output keyword (if set to a named variable) will return a
structure in which the fields will be the known color names (without spaces)
and the values of the fields will be either color table index numbers or
24-bit color values.
NCOLORS: The number of colors recognized by the program. It will be 88 by default.
CALLS: ***
FSC_COLOR_COLOR24, FSC_COLOR_COUNT_ROWS, FSC_COLOR_ERROR_MESSAGE
PICKCOLORNAME, STR_SEP
CALLED BY:
PICKCOLOR, PROGRESSBAR__DEFINE
COMMON BLOCKS:
None.
SIDE EFFECTS:
None.
ADDITIONAL PROGRAMS REQUIRED:
PICKCOLORNAME: This file can be found in the Coyote Library:
http://www.dfanning.com/programs/pickcolorname.pro
EXAMPLE:
To get drawing colors in a device-decomposed independent way:
axisColor = FSC_COLOR("Green", !D.Table_Size-2)
backColor = FSC_COLOR('Charcoal", !D.Table_Size-3)
dataColor = FSC_COLOR('Yellow", !D.Table_Size-4)
Plot, Findgen(11), Color=axisColor, Background=backColor, /NoData
OPlot, Findgen(11), Color=dataColor
To set the viewport color in object graphics:
theView = Obj_New('IDLgrView', Color=FSC_Color('Charcoal', /Triple))
To change the viewport color later:
theView->SetProperty, Color=FSC_Color('Antique White', /Triple)
MODIFICATION HISTORY:
Written by: David Fanning, 19 October 2000. Based on previous
GetColor program.
[Previous]
[Next]
NAME:
FSC_DROPLIST
PURPOSE:
The purpose of this compound widget is to provide an alternative
to the DROPLIST widget offered in the IDL distribution. What has
always annoyed me about a droplist is that you can't get the current
"value" of a droplist easily. This compound widget makes this and
other tasks much easier.
AUTHOR:
FANNING SOFTWARE CONSULTING
David Fanning, Ph.D.
1645 Sheely Drive
Fort Collins, CO 80526 USA
Phone: 970-221-0438
E-mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
CATEGORY:
General programming.
CALLING SEQUENCE:
droplistObj = FSC_Droplist(parent, Title='Animals: ", Value=['Dog'. 'Cat', 'Coyote'], Index=2)
The return value of the FSC_Droplist (droplistObj in this example) is
an object reference. Interaction with the droplist will occur through
object methods.
INPUT PARAMETERS:
parent -- The parent widget ID of the compound widget. Required.
INPUT KEYWORDS:
Any keyword that is appropriate for the Widget_Droplist function can be used.
In addition, these keywords are explicitly defined.
EVENT_FUNC -- Set this keyword to the name of an Event Handler Function.
EVENT_PRO -- Set this keyword to the name of an Event Handler Procedure.
FORMAT -- A format specifier for the "format" of the values in the droplist.
INDEX -- The index number of the current selection.
SPACES -- A two-element array that indicates the number of blank spaces to be added
to the the beginning and end of the formatted values. If a single number
is provided, this number of blank spaces is added to both the beginning
and the end of the value.
TITLE -- The title of the droplist widget.
UNAME -- The user name of the droplist widget. (Only available in IDL 5.2 and higher.)
UVALUE -- The normal "user value" of the droplist.
VALUE -- An array of the droplist "selections". May be any data type.
CALLS: ***
ERROR_MESSAGE, FSC_DROPLIST::CLEANUP, FSC_DROPLIST::EVENTHANDLER
FSC_DROPLIST::GETID, FSC_DROPLIST::GETINDEX, FSC_DROPLIST::GETSELECTION
FSC_DROPLIST::GETUVALUE, FSC_DROPLIST::GETVALUES, FSC_DROPLIST::INIT
FSC_DROPLIST::RESIZE, FSC_DROPLIST::SENSITIVE, FSC_DROPLIST::SETINDEX
FSC_DROPLIST::SETSELECTION, FSC_DROPLIST_EVENTS, FSC_DROPLIST_KILL_NOTIFY
FSC_DROPLIST__DEFINE
CALLED BY:
FSC_PSCONFIG__DEFINE, FSC_SURFACE
COMMON BLOCKS:
None.
DEPENDENCIES:
Requires ERROR_MESSAGE from the Coyote Library..
EVENT STRUCTURE:
An event is returned each time the droplist value is changed. The event structure
is defined like this:
event = { FSC_DROPLIST_EVENT, $ ; The name of the event structure.
ID: 0L, $ ; The ID of the compound widget's top-level base.
TOP: 0L, $ ; The widget ID of the top-level base of the hierarchy.
HANDLER: 0L, $ ; The event handler ID. Filled out by IDL.
INDEX: 0L, $ ; The index number of the current selection.
SELECTION:Ptr_New() $ ; A pointer to the current selection "value".
SELF:Obj_New() } ; The object reference of the compound widget.
PUBLIC OBJECT METHODS:
GetID -- A function with no arguments that returns the widget identifier
of the droplist widget.
droplistID = droplistObj->GetID()
GetIndex -- A function with no arguments that returns the index
number of the current droplist selection.
currentIndex = droplistObj->GetIndex()
GetSelection -- A function with no arguments that returns the current
droplist selection.
currentSelection = droplistObj->GetSelection()
GetUValue -- A function with no arguments that returns the "user value"
of the compound widget i.e., the value set with the UVALUE keyword).
myUValue = droplistObj->GetUValue()
GetValues -- A function with no arguments that returns the "values" or
"selections" for the droplist.
possibleSelections = droplistObj->GetValues()
Resize -- A procedure that sets the X screen size of the droplist. It is
defined like this:
PRO Resize, newSize, ParentSize=parentSize
The "newSize" keyword is the new X screen size. If this argument is
missing, the screen X size of the compound widget's parent is used.
The parentSize keyword is an output keyword that returns the X screen
size of the compound widget's parent.
droplistObj->Resize, 400
Note that not all devices (e.g., X Windows devices) support droplist resizing.
SetIndex -- A procedure that sets the current droplist selection based on
the given index. This is equivalent to Widget_Control, droplistID, Set_Droplist_Select=newIndex
droplistObj->SetIndex, newIndex
SetSelection -- Whereas a regular droplist widget can only be set by index
number, this compound widget can also be set by a "selection". The new selection
can be any data type and corresponds to one of the "values" of the droplist.
droplistObj->SetSelection, newSelection
EXAMPLE:
An example program is provided at the end of the FSC_DROPLIST code. To run it,
type these commands:
IDL> .Compile FSC_DROPLIST
IDL> Example
MODIFICATION HISTORY:
Written by: David Fanning, 17 Jan 2000. DWF.
Added FORMAT and SPACES keywords 28 April 2000. DWF.
Fixed a small problem with event processing when the EVENT_FUNC keyword
was used. 29 Dec 2000. DWF.
Attached the UNAME value to the TLB of the compound widget instead
of to the droplist widget itself. 11 Jan 2001. DWF.
[Previous]
[Next]
NAME:
FSC_FIELD
PURPOSE:
The purpose of this compound widget is to provide an alternative
to the CW_FIELD widget offered in the IDL distribution. One weakness
of the CW_FIELD compound widget is that the text widgets do not
look editable to the users on Windows platforms. This program
corrects that deficiency and adds some features that I think
will be helpful. For example, you can now assign an event handler
to the compound widget, ask for positive numbers only, and limit
the number of digits in a number, or the number of digits to the
right of a decimal point. The program is written as a widget object,
which allows the user to call object methods directly, affording
even more flexibility in use. This program replaces the earlier
programs FSC_INPUTFIELD and COYOTE_FIELD.
The program consists of a label widget next to a one-line text widget.
The "value" of the compound widget is shown in the text widget. If the
value is a number, it will not be possible (generally) to type
alphanumeric values in the text widget. String values behave like
strings in any one-line text widget.
AUTHOR:
FANNING SOFTWARE CONSULTING
David Fanning, Ph.D.
1645 Sheely Drive
Fort Collins, CO 80526 USA
Phone: 970-221-0438
E-mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
CATEGORY:
General programming.
TYPICAL CALLING SEQUENCE:
fieldID = FSC_FIELD(parent, Title="X Size:", Value=256, Object=fieldObject, Digits=3)
INPUT PARAMETERS:
parent -- The parent widget ID of the compound widget. Required.
INPUT KEYWORDS:
COLUMN Set this keyword to have the Label widget above the Text widget.
The default is to have the Label widget in a row with the Text widget.
CR_ONLY Set this keyword if you only want Carriage Return events returned to
your event handler. If this keyword is not set, all events are returned.
Setting this keyword has no effect unless either the EVENT_PRO or
EVENT_FUNC keyword is used.
DECIMAL Set this keyword to the number of digits to the right of the decimal
point in floating point or double precision numbers. Ignored for STRING values.
DIGITS Set this keyword to the number of digits permitted in integer numbers.
EVENT_FUNC Set this keyword to the name of an event handler function. If this
keyword is undefined and the Event_Pro keyword is undefined,
all compound widget events are handled internally and not
passed on to the parent widget.
EVENT_PRO Set this keyword to the name of an event handler procedure. If this
keyword is undefined and the Event_Func keyword is undefined,
all compound widget events are handled internally and not
passed on to the parent widget.
FIELDFONT The font name for the text in the text widget.
FRAME Set this keyword to put a frame around the compound widget.
LABEL_LEFT Set this keyword to align the text on the label to the left.
LABEL_RIGHT Set this keyword to align the text on the label to the right.
LABELFONT The font name for the text in the label widget.
LABELSIZE The X screen size of the label widget.
NAME A string containing the name of the object. The default is ''.
NOEDIT Set this keyword to allow no user editing of the input text widget.
NONSENSITIVE Set this keyword to make the input text widget non-sensitive.
POSITIVE Set this keyword if you want only positive numbers allowed.
SCR_XSIZE The X screen size of the compound widget.
SCR_YSIZE The Y screen size of the compound widget.
TITLE The string text placed on the label widget.
UNDEFINED Set this keyword to the value to use for "undefined" values. If
not set, then !Value.F_NAN is used for numerical fields and a
NULL string is used for string fields. This applies to values
obtained with the GET_VALUE method or the GET_VALUE function.
UVALUE A user value for any purpose.
VALUE The "value" of the compound widget. Any type of integer, floating, or string
variable is allowed. The data "type" is determined automatically from the
value supplied with this keyword. Be sure you set the type appropriately for
your intended use of the value.
XSIZE The X size of the text widget in the usual character units.
OUTPUT KEYWORDS:
OBJECT Set this keyword to a named variable to receive the compound widget's
object reference. This is required if you wish to call methods on the object.
Note that the object reference is also available in the event structure
generated by the widget object. Note that the object reference will be
necessary if you want to get or set values in the compound widget.
CALLS: ***
FSC_FIELD::CLEANUP, FSC_FIELD::GEOMETRY, FSC_FIELD::GETID
FSC_FIELD::GETLABELSIZE, FSC_FIELD::GETPROPERTY, FSC_FIELD::GETTEXTID
FSC_FIELD::GETTEXTSIZE, FSC_FIELD::GET_VALUE, FSC_FIELD::INIT
FSC_FIELD::MOVETAB, FSC_FIELD::RESIZE, FSC_FIELD::RETURNVALUE
FSC_FIELD::SETEDIT, FSC_FIELD::SETPROPERTY, FSC_FIELD::SETSENSITIVE
FSC_FIELD::SETTABNEXT, FSC_FIELD::SET_VALUE, FSC_FIELD::TEXTEVENTS
FSC_FIELD::VALIDATE, FSC_FIELD_ERROR_MESSAGE, FSC_FIELD_EVENT_HANDLER
FSC_FIELD_EVENT__DEFINE, FSC_FIELD_GET_COMPOUND_WIDGET_VALUE
FSC_FIELD_KILL_NOTIFY, FSC_FIELD_SET_COMPOUND_WIDGET_VALUE
FSC_FIELD__DEFINE, STR_SEP
CALLED BY:
FSC_PSCONFIG__DEFINE
COMMON BLOCKS:
None.
RESTRICTIONS:
None.
EVENT STRUCTURE:
All events are handled internally unless either the Event_Pro or Event_Func
keywords are used to assign an event handler to the compound widget. By
default all events generated by the text widget are passed to the assigned
event handler. If you wish to receive only Carriage Return events, set the
CR_Only keyword.
event = { FSC_FIELD_EVENT, $ ; The name of the event structure.
ID: 0L, $ ; The ID of the compound widget's top-level base.
TOP: 0L, $ ; The widget ID of the top-level base of the hierarchy.
HANDLER: 0L, $ ; The event handler ID. Filled out by IDL.
OBJECT: Obj_New(), $ ; The "self" object reference. Provided so you can call methods.
VALUE: Ptr_New(), $ ; A pointer to the widget value.
TYPE:"" ; A string indicating the type of data in the VALUE field.
}
Note that if the field is "empty", the VALUE will be a pointer
to an undefined variable. You should check this value before you
use it. You code will look something like this:
IF N_Elements(*event.value) EQ 0 THEN $
Print, 'Current Value UNDEFINED.' ELSE $
Print, 'Current Value: ', *event.value
GETTING and SETTING VALUES:
Almost all the properties of the widget can be obtained or set via
the object's GetProperty and SetProperty methods (described below).
Traditional compound widgets have the ability to get and set the "value"
of the compound widget identifier (e.g., fieldID in the calling
sequence above). Unfortunately, it is impossible to retreive a variable
in this way when the variable is undefined. In practical terms, this
means that the undefined variable must be set to *something*. You can
determine what that something is with the UNDEFINED keyword, or I will set
it to !VALUES.F_NAN for numerical fields and to the null string for string
fields. In any case, you will have to check for undefined variables before
you try to do something with the value. For a numerical field, the code
might look something like this:
fieldID = FSC_FIELD(parent, Title="X Size:", Value=256, Object=fieldObject, Digits=3)
currentValue = fieldObject->Get_Value()
IF Finite(currentValue) EQ 0 THEN Print, 'Value is Undefined' ELSE Print, currentValue
Additional examples are provided in the numerical example fields in Example Program below.
Setting the value of the compound widget is the same as calling the Set_Value
method on the object reference. In other words, these two statements are equivalent.
fieldObject->Set_Value, 45.4
Widget_Control, fieldID, Set_Value=45.4
The data type of the value is determined from the value itself. Be sure you set it appropriately.
OBJECT PROCEDURE METHODS:
GetProperty -- This method allows various properties of the widget to be
returned via output keywords. The keywords that are available are:
CR_Only -- A flag, if set, means only report carriage return events.
DataType -- The data type of the field variable.
Decimal -- Set this keyword to the number of digits to the right of the decimal
point in FLOATVALUE and DOUBLEVALUE numbers.
Digits -- Set this keyword to the number of digits permitted in INTERGERVALUE and LONGVALUE numbers.
Event_Func -- The name of the event handler function.
Event_Pro -- The name of the event handler function.
Name -- A scalar string name of the object.
NoEdit -- A 1 means the widget is non-editable.
NonSensitive -- Set this keyword to make the widget non-sensitive.
Positive -- Indicates if the Positive number flag is set (1) or not (0).
UValue -- The user value assigned to the compound widget.
Value -- The "value" of the compound widget.
MoveTab -- This method moves the focus to the widget identified in the "next" field,
which must be set with the SetTabNext method. No parameters. Called automatically
when a TAB character is typed in the text widget.
Resize -- This method allows you to resize the compound widget's text field.
The value parameter is an X screen size for the entire widget. The text
widget is sized by using the value obtained from this value minus the
X screen size of the label widget.
objectRef->Resize, screen_xsize_value
Set_Value -- This method allows you to set the "value" of the field. It takes
one positional parameter, which is the value.
objectRef->Set_Value, 5
SetEdit -- This procedure turns editing on (value of 1) or off (value of 0).
SetProperty -- This method allows various properties of the widget to be
set via input keywords. The keywords that are available are:
CR_Only -- Set this keyword if you only want Carriage Return events.
Decimal -- Set this keyword to the number of digits to the right of the decimal
point in FLOATVALUE and DOUBLEVALUE numbers.
Digits -- Set this keyword to the number of digits permitted in INTERGERVALUE and LONGVALUE numbers.
Event_Func -- Set this keyword to the name of an Event Function.
Event_Pro -- Set this keyword to the name of an Event Procedure.
LabelSize -- The X screen size of the Label Widget.
Name -- A scalar string name of the object. (default = '')
NoEdit -- Set this keyword to make the widget non-editable.
NonSensitive -- Set this keyword to make the widget non-sensitive.
Positive -- Set this keyword to indicate only positive numbers are allowed.
Scr_XSize -- The X screen size of the text widget.
Scr_YSize -- The Y screen size of the text widget.
Title -- The text to go on the Label Widget.
UValue -- A user value for any purpose.
Value -- The "value" of the compound widget.
XSize -- The X size of the Text Widget.
SetSensitive -- This procedure turns text widget sensitivity on (value of 1) or off (value of 0).
OBJECT FUNCTION METHODS:
Get_Value -- Returns the "value" of the field. No parameters. Will be undefined
if a "number" field is blank. Should be checked before using:
IF N_Elements(objectRef->Get_Value()) NE 0 THEN Print, Value is: ', objectRef->Get_Value()
GetID -- Returns the widget identifier of the compound widget's top-level base.
(The first child of the parent widget.) No parameters.
GetLabelSize -- Returns the X screen size of the label widget. No parameters.
GetTextID -- Returns the widget identifier of the compound widget's text widget.
No parameters.
GetTextSize -- Returns the X screen size of the text widget. No parameters.
PRIVATE OBJECT METHODS:
Although there is really no such thing as a "private" method in IDL's
object implementation, some methods are used internally and not meant to
be acessed publicly. Here are a few of those methods. I list them because
it may be these private methods are ones you wish to override in subclassed
objects.
MoveTab -- This method moves the cursor to end of the text in the widget identified
by the nexttab field. (This will be set with the SetTabNext method.)
Text_Events -- The main event handler method for the compound widget. All
text widget events are processed here.
ReturnValue -- This function method accepts a string input value and converts
it to the type of data requested by the user.
Validate -- This function method examines all text input and removes unwanted
characters, depending upon the requested data type for the field. It makes it
impossible, for example, to type alphanumeric characters in an INTEGER field.
EXAMPLE:
An example program is provided at the end of the FSC_FIELD code. To run it,
type these commands:
IDL> .Compile FSC_Field
IDL> Example
MODIFICATION HISTORY:
Written by: David Fanning, 18 October 2000. Based heavily on an earlier
FSC_INPUTFIELD program and new ideas about the best way to write
widget objects.
Added LABEL_LEFT, LABEL_RIGHT, and UNDEFINED keywords. 29 Dec 2000. DWF.
Modified the way the value is returned in the GET_VALUE method and the
GET_VALUE function. Modified Example program to demonstrate. 30 Dec 2000. DWF.
Added NOEDIT and NONSENSITIVE keywords, with corresponding SETEDIT and SETSENNSITIVE
methods. 19 Jan 2001. DWF.
Added GetTextSize and GetLabelSize methods for obtaining the X screen
size of the text and label widgets, respectively. 30 Jan 2001. DWF.
[Previous]
[Next]
NAME:
FSC_FILESELECT
PURPOSE:
The purpose of this compound widget is to provide a means
by which the user can type or select a file name. The
program is written as an "object widget", meaning that
the guts of the program is an object of class FSC_FILESELECT.
This is meant to be an example of the obvious advantages of
writing compound widget programs as objects.
AUTHOR:
FANNING SOFTWARE CONSULTING
David Fanning, Ph.D.
1645 Sheely Drive
Fort Collins, CO 80526 USA
Phone: 970-221-0438
E-mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
CATEGORY:
General programming.
CALLING SEQUENCE:
filenameID = FSC_FileSelect(parent)
INPUT PARAMETERS:
parent -- The parent widget ID of the compound widget. Required.
INPUT KEYWORDS:
Event_Pro -- The event handler procedure for this compound widget.By default: "".
Event_Func -- The event handler function for this compound widget. By default: "".
If neither EVENT_PRO or EVENT_FUNC is defined, program events are handled internally by the compound widget.
DirectoryName -- The initial name of the directory. By defaut: current directory.
Filename -- The initial file name in the filename text widget.
Filter -- The file filter. By default: "*".
Frame -- Set this keyword for a frame around the compound widget.
LabelFont -- The font for the label widget. By default: "".
LabelName -- The text on the label widgt. By default: "Filename: ".
LabelSize -- The X screen size of the label widget. By default: 0.
MustExist -- A flag that indicates selected files must exist. By default: 0.
NoMaxSize -- A flag to prohibit automatic text widget sizing. By default: 0.
If this keyword is not set, the compound widget will automatically resize itself to
the largest widget in its parent base widget. It will do this by changing the size of
the text widgets holding the file and directory names.
Read -- Set this keyword to have file selection for reading a file. By default: 1.
SelectDirectory -- The default directory for file selection. In other words, this is the
default directory for DIALOG_PICKFILE, which is accessed via the BROWSE buttons.
SelectFont -- The font for the "Browse" button. By default: "".
SelectTitle -- The title bar text on the file selection dialog. By default: "Select a File...".
TextFont -- The font for the filename text widget. By default: "".
UValue -- User value for any purpose.
Write -- Set this keyword to open a file for writing. By default: 0.
XSize -- The X size of the text widget holding the filename. By default: StrLen(filename) * 1.5 > 40.
OUTPUT KEYWORDS:
ObjectRef -- Assign this keyword to an output variable that will hold the internal object reference.
With the object reference you can call object methods to easily change many properties of
the compound widget.
CALLS: ***
CW_FILESELECT__DEFINE, FILEPATH, FSC_FILESELECT::CLEANUP
FSC_FILESELECT::DIRECTORY_EVENTS, FSC_FILESELECT::FILENAME_EVENTS
FSC_FILESELECT::GETFILENAME, FSC_FILESELECT::GETNOMAXSIZE
FSC_FILESELECT::GETPROPERTY, FSC_FILESELECT::GETTLB, FSC_FILESELECT::INIT
FSC_FILESELECT::INSPECT_DIRECTORYNAME, FSC_FILESELECT::INSPECT_FILENAME
FSC_FILESELECT::LABELSIZE, FSC_FILESELECT::MATCHSIZE
FSC_FILESELECT::SELECT_DIRECTORY, FSC_FILESELECT::SELECT_FILE
FSC_FILESELECT::SETFILENAME, FSC_FILESELECT::SETPROPERTY
FSC_FILESELECT_EVENT_HANDLER, FSC_FILESELECT_GET_VALUE
FSC_FILESELECT_KILL_NOTIFY, FSC_FILESELECT_NOTIFY_REALIZE
FSC_FILESELECT_RSTRPOS, FSC_FILESELECT_SET_VALUE, FSC_FILESELECT__DEFINE
REVERSE
CALLED BY:
FSC_PSCONFIG__DEFINE
COMMON BLOCKS:
None.
RESTRICTIONS:
Probably doesn't work correctly on VMS systems :-( If you can help, please
contact me. I don't have a VMS system to test on.
EVENT STRUCTURE:
All events are handled internally unless either the Event_Pro or Event_Func
keywords are used to assign an event handler to the compound widget. All events
generated by the text widgets are passed to the assigned event handler.
event = { CW_FILESELECT, $ ; The name of the event structure.
ID: 0L, $ ; The ID of the compound widget's top-level base.
TOP: 0L, $ ; The widget ID of the top-level base of the hierarchy.
HANDLER: 0L, $ ; The event handler ID. Filled out by IDL.
Basename: "", $ ; The base filename without directory specifiers.
Filename: "", $ ; The fully qualified filename.
Filter: ::, $ ; The currently active file filter.
Directory: "", $ ; The name of the current file directory.
}
EXAMPLE:
An example program is provided at the end of the FSC_FILESELECT code. To run it,
type these commands:
IDL> .Compile fsc_fileselect
IDL> Example
Or, if you want to obtain the object reference, type this:
IDL> Example, theObject
Now you can call the object's methods. For example:
IDL theObject->SetProperty, XSize=150
GETTING and SETTING VALUES:
So as not to disrupt the accepted paradigm in using compound widgets, you
can use the return value of the FSC_FILESELECT function with WIDGET_CONTROL to
get and set the "value" of the widget.
Widget_Control, filenameID, Set_Value='C:\RSI\IDL52\DATA\cyclone.dat'
The program will automatically separate the file name portion of the value
from the directory portion and put things in the correct text widgets.
Similarly, you can get the "value" of the widget:
Widget_Control, filenameID, Set_Value=theValue
Print, theValue
C:\RSI\IDL52\DATA\cyclone.dat
The return value is the fully qualified file path to the file.
USING OBJECT METHODS to CHANGE PROGRAM PROPERTIES:
If you obtain the object reference, you have a great deal more control
over the properties of the compound widget. You obtain the object reference
by calling the function like this:
filenameID = FSC_FILESELECT(parent, ObjectRef=theObject)
OBJECT PROCEDURE METHODS:
GetProperty -- This method allows various properties of the widget to be
returned via output keywords. The keywords that are available are:
DirectoryName -- The current directory.
Event_Func -- The name of the event handler function for this compound widget.
Event_Pro -- The name of the event handler procedure for this compound widget.
Filename -- The current base filename.
Filter -- The current file filter.
LabelName -- The text on the label widget.
LabelSize -- The X screen size of the label widget.
MustExist -- A flag that indicates selected files must exist to be selected.
Parent -- The parent widget of the compound widget.
Read=read -- The file selection for reading flag.
SelectTitle -- The title bar text on the file selection dialog.
TLB -- The top-level base of the compound widget.
UValue -- The user value of the compound widget.
Write -- The file selection for writing flag.
XSize -- The X size of the text widget holding the filename.
LabelSize -- This method makes sure that the directory name and file name labels
are the same size. Normally, this procedure is called internally. No parameters.
MatchSize -- This method resizes the compound widget so that it is as long as the
the longest widget in the parent base widget. This is done automatically upon
realization unless the NOMAXSIZE keyword is set. The method aids in writing
resizeable widget programs.
SetProperty -- This method allows various properties of the widget to be
set via input keywords. The keywords that are available are:
DirectoryName -- The current directory.
Event_Func -- The name of the event handler function for this compound widget.
Event_Pro -- The name of the event handler procedure for this compound widget.
Filename -- The current base filename.
Filter -- The current file filter.
LabelName -- The text on the label widget.
LabelSize -- The X screen size of the label widget.
MustExist -- A flag that indicates selected files must exist to be selected.
Read -- The file selection for reading flag.
SelectTitle -- The title bar text on the file selection dialog.
UValue -- The user value of the compound widget.
Write -- The file selection for writing flag.
XSize -- The X size of the text widget holding the filename.
OBJECT FUNCTION METHODS:
GetFileName -- Returns the fully qualified filename. No parameters.
GetTLB -- Returns the top-level base ID of the compound widget. No Parameters.
Inspect_DirectoryName -- Inspects the directory name for correctness. Requires one positional parameter.
directoryName -- The name of the directory from the directory text widget.
textSelection -- The current text selection position.
At the moment all this does is remove any blank characters from either
end of the directory name and makes sure the last character of the directory
name does not end in a subdirectory specifier (except for VMS).
Inspect_Filename -- Inspects the file name for correctness. Requires one positional parameter.
filename -- The name of the file from the filename text widget.
textSelection -- The current text selection position.
At the moment all this does is remove any blank characters from either
end of the file name
MODIFICATION HISTORY:
Written by: David Fanning, 21 NOV 1999.
Fixed bug in File Name selection button. 18 MAR 2000. DWF.
Fixed an error in which directory the Browse buttons should start
searching. 29 SEP 2000. DWF.
Previously returned events only for typing in text widgets. Now
Browse button events are also returned. 29 SEP 2000. DWF.
Fixed a bug in setting the file filter. 29 SEP 2000. DWF.
Modified the way the directory name is specified. 18 JAN 2001. DWF.
[Previous]
[Next]
NAME:
FSC_INPUTFIELD
PURPOSE:
The purpose of this compound widget is to provide an alternative
to the CW_FIELD widget offered in the IDL distribution. What has
always bothered me about CW_FIELD is that the text widgets do not
look editable to the users on Windows platforms. This program
corrects that deficiency and adds some features that I think
would be helpful. For example, you can now assign an event handler
to the compound widget. The program is written entirely as an object.
A companion program, COYOTE_FIELD, has much the same functionality,
but is written as a traditional compound widget. The point of writing
the same program in two different ways is to give you the opportunity
to compare and contrast the two methods. I personally think there
is no substitute for the power of object programs. :-)
AUTHOR:
FANNING SOFTWARE CONSULTING
David Fanning, Ph.D.
1645 Sheely Drive
Fort Collins, CO 80526 USA
Phone: 970-221-0438
E-mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
CATEGORY:
General programming.
CALLING SEQUENCE:
objectRef = FSC_INPUTFIELD(parent, Title='X Size: ", Value=256, /IntegerValue)
INPUT PARAMETERS:
parent -- The parent widget ID of the compound widget. Required.
INPUT KEYWORDS:
Column -- Set this keyword to have the Label Widget above the Text Widget.
CR_Only -- Set this keyword if you only want Carriage Return events. If
this keyword is not set, all events are returned. No events
are returned unless the EVENT_PRO or EVENT_FUNC keywords are used.
Decimal -- Set this keyword to the number of digits to the right of the decimal
point in FLOATVALUE and DOUBLEVALUE numbers.
Digits -- Set this keyword to the number of digits permitted in INTERGERVALUE and LONGVALUE numbers.
DoubleValue -- Set this keyword if you want DOUBLE values returned.
Event_Func -- Set this keyword to the name of an Event Function. If this
keyword is undefined and the Event_Pro keyword is undefined,
all compound widget events are handled internally and not
passed on to the parent widget.
Event_Pro -- Set this keyword to the name of an Event Procedure. If this
keyword is undefined and the Event_Func keyword is undefined,
all compound widget events are handled internally and not
passed on to the parent widget.
FieldFont -- The font name for the text in the Text Widget.
FloatValue -- Set this keyword for FLOAT values.
Frame -- Set this keyword to put a frame around the compound widget.
IntegerValue -- Set this keyword for INTEGER values.
LabelFont -- The font name for the text in the Label Widget.
LabelSize -- The X screen size of the Label Widget.
LongValue -- Set this keyword for LONG values.
Name -- A scalar string name of the object. (default = '')
Positive -- Set this keyword if you want only positive numbers allowed.
Row=row -- Set this keyword to have the Label beside the Text Widget. (The default.)
Scr_XSize -- The X screen size of the compound widget.
Scr_YSize -- The Y screen size of the compound widget.
StringValue -- Set this keyword for STRING values. (The default.)
Title -- The text to go on the Label Widget.
UValue -- A user value for any purpose.
Value -- The "value" of the compound widget.
XSize -- The X size of the Text Widget.
CALLS: ***
FSC_FIELD__DEFINE, FSC_INPUTFIELD::CLEANUP, FSC_INPUTFIELD::GEOMETRY
FSC_INPUTFIELD::GETID, FSC_INPUTFIELD::GETLABELSIZE
FSC_INPUTFIELD::GETPROPERTY, FSC_INPUTFIELD::GETTEXTID
FSC_INPUTFIELD::GETTEXTSIZE, FSC_INPUTFIELD::GET_VALUE, FSC_INPUTFIELD::INIT
FSC_INPUTFIELD::MOVETAB, FSC_INPUTFIELD::RESIZE, FSC_INPUTFIELD::RETURNVALUE
FSC_INPUTFIELD::SETPROPERTY, FSC_INPUTFIELD::SETTABNEXT
FSC_INPUTFIELD::SET_VALUE, FSC_INPUTFIELD::TEXTEVENTS
FSC_INPUTFIELD::VALIDATE, FSC_INPUTFIELD_EVENT_HANDLER
FSC_INPUTFIELD_KILL_NOTIFY, FSC_INPUTFIELD__DEFINE
COMMON BLOCKS:
None.
RESTRICTIONS:
None.
EVENT STRUCTURE:
All events are handled internally unless either the Event_Pro or Event_Func
keywords are used to assign an event handler to the compound widget. By
default all events generated by the text widget are passed to the assigned
event handler. If you wish to receive only Carriage Return events, set the
CR_Only keyword.
event = { FSC_FIELD, $ ; The name of the event structure.
ID: 0L, $ ; The ID of the compound widget's top-level base.
TOP: 0L, $ ; The widget ID of the top-level base of the hierarchy.
HANDLER: 0L, $ ; The event handler ID. Filled out by IDL.
ObjRef: Obj_New(), $ ; The "self" object reference. Provided so you can call methods.
Value: Ptr_New(), $ ; A pointer to the widget value.
Type:"" ; A string indicating the type of data in the VALUE field.
} ; Values are "INT", "LONG", "FLOAT", "DOUBLE", or "STRING".
GETTING and SETTING VALUES:
Almost all the properties of the widget can be obtained or set via
the object's GetProperty and SetProperty methods (described below).
But since traditional compound widgets have the ability to get and
set the value of the compound widget, this capability is implemented
as special methods.
To get the value of the field, do this: value = objectRef->Get_Value()
To set the value of the field, so this: objectRef->Set_Value, value, /IntegerValue
The proper keyword should be used to set the data type of the value. If a keyword
is not used, the data type is determined from the value itself.
OBJECT PROCEDURE METHODS:
GetProperty -- This method allows various properties of the widget to be
returned via output keywords. The keywords that are available are:
CR_Only -- A flag, if set, means only report carriage return events.
DataType -- The data type of the field variable.
Decimal -- Set this keyword to the number of digits to the right of the decimal
point in FLOATVALUE and DOUBLEVALUE numbers.
Digits -- Set this keyword to the number of digits permitted in INTERGERVALUE and LONGVALUE numbers.
Event_Func -- The name of the event handler function.
Event_Pro -- The name of the event handler function.
Positive -- Indicates if the Positive number flag is set (1) or not (0).
UValue -- The user value assigned to the compound widget.
Value -- The "value" of the compound widget.
Name -- A scalar string name of the object.
MoveTab -- This method moves the focus to the widget identified in the "next" field,
which must be set with the SetTabNext method. No parameters. Called automatically
when a TAB character is typed in the text widget.
Resize -- This method allows you to resize the compound widget's text field.
The value parameter is an X screen size for the entire widget. The text
widget is sized by using the value obtained from this value minus the
X screen size of the label widget.
objectRef->Resize, screen_xsize_value
Set_Value -- This method allows you to set the "value" of the field. It takes
one positional parameter, which is the value.
objectRef->Set_Value, 5
Keywords available are these to set the type of the data. If keywords
are not used, the data type is determined from the value.
DoubleValue -- Set this keyword if you want DOUBLE values returned.
FloatValue -- Set this keyword for FLOAT values.
IntegerValue -- Set this keyword for INTEGER values.
LongValue -- Set this keyword for LONG values.
StringValue -- Set this keyword for STRING values. (The default.)
SetProperty -- This method allows various properties of the widget to be
set via input keywords. The keywords that are available are:
CR_Only -- Set this keyword if you only want Carriage Return events.
Decimal -- Set this keyword to the number of digits to the right of the decimal
point in FLOATVALUE and DOUBLEVALUE numbers.
Digits -- Set this keyword to the number of digits permitted in INTERGERVALUE and LONGVALUE numbers.
DoubleValue -- Set this keyword if you want DOUBLE values returned.
Event_Func -- Set this keyword to the name of an Event Function.
Event_Pro -- Set this keyword to the name of an Event Procedure.
FloatValue -- Set this keyword for FLOAT values.
IntegerValue -- Set this keyword for INTEGER values.
LabelSize -- The X screen size of the Label Widget.
LongValue -- Set this keyword for LONG values.
Name -- A scalar string name of the object. (default = '')
Positive -- Set this keyword to indicate only positive numbers are allowed.
Scr_XSize -- The X screen size of the text widget.
Scr_YSize -- The Y screen size of the text widget.
StringValue -- Set this keyword for STRING values. (The default.)
Title -- The text to go on the Label Widget.
UValue -- A user value for any purpose.
Value -- The "value" of the compound widget.
XSize -- The X size of the Text Widget.
OBJECT FUNCTIONS METHODS:
Get_Value -- Returns the "value" of the field. No parameters. Will be undefined
if a "number" field is blank. Should be checked before using:
IF N_Elements(objectRef->Get_Value()) NE 0 THEN Print, Value is: ', objectRef->Get_Value()
GetID -- Returns the widget identifier of the compound widget's top-level base.
(The first child of the parent widget.) No parameters.
GetLabelSize -- Returns the X screen size of the label widget. No parameters.
GetTextID -- Returns the widget identifier of the compound widget's text widget.
No parameters.
GetTextSize -- Returns the X screen size of the text widget. No parameters.
PRIVATE OBJECT METHODS:
Although there is really no such thing as a "private" method in IDL's
object implementation, some methods are used internally and not meant to
be acessed publicly. Here are a few of those methods. I list them because
it may be these private methods are ones you wish to override in subclassed
objects.
MoveTab -- This method moves the cursor to end of the text in the widget identified
by the nexttab field. (This will be set with the SetTabNext method.)
Text_Events -- The main event handler method for the compound widget. All
text widget events are processed here.
ReturnValue -- This function method accepts a string input value and converts
it to the type of data requested by the user.
Validate -- This function method examines all text input and removes unwanted
characters, depending upon the requested data type for the field. It makes it
impossible, for example, to type alphanumeric characters in an INTEGER field.
EXAMPLE:
An example program is provided at the end of the FSC_INPUTFIELD code. To run it,
type these commands:
IDL> .Compile FSC_InputField
IDL> Example
MODIFICATION HISTORY:
Written by: David Fanning, 23 NOV 1999.
Added DECIMAL and DIGITS keywords, 2 Jan 2000, DWF.
Changed the calling sequence to that of a function rather than an object
creation call. This is more familiar to users of compound widgets. 4 Jan 00. DWF.
Added GetID and Resize methods. 7 Jan 00. DWF.
Added the Positive keyword and functionality. 12 Jan 00. DWF
Modified (slightly) the behavior on deleting characters. 12 Jan 00. DWF.
If a number field is blank, the Get_Value method will now return an undefined variable.
Be sure you check this value before you use it for something! 17 Jan 00. DWF.
Fixed a small typo: "aveDecimal" to "haveDecimal". 10 March 2000. DWF.
Added the ability to tab between FSC_INPUTFIELD widgets with the SetTabNext,
MoveTab, and GetTextID methods. 31 July 2000. DWF.
Added NAME field property, a scalar string name for the object 2 AUG 2000 BT
Added ObjRef field to the FSC_FIELD event structure and added field selection
for the TAB events added 31 July. 7 AUG 2000. DWF
Added GetTextSize and GetLabelSize methods for obtaining the X screen
size of the text and label widgets, respectively. 30 Jan 2001. DWF.
[Previous]
[Next]
NAME:
FSC_PLOTWINDOW
PURPOSE:
The purpose of this compound widget is to create a resizeable
"plot window" inside a larger "page window". I'm not sure it
has any value except as a utility routine for the PostScript
configuration object FSC_PSCONFIG__DEFINE, but it's a neat
program anyway. :-)
AUTHOR:
FANNING SOFTWARE CONSULTING
David Fanning, Ph.D.
1645 Sheely Drive
Fort Collins, CO 80526 USA
Phone: 970-221-0438
E-mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
CATEGORY:
Utility routine for FSC_PSCONFIG__DEFINE.
MODIFICATIONS:
Written by David Fanning, 31 January 2000.
Fixed a small bug that prevented it working on Macintosh computers. 26 Sept 2000. DWF.
CALLS:
CALLED BY
FSC_PSCONFIG__DEFINE
[Previous]
[Next]
NAME:
FSC_PSCONFIG__DEFINE
PURPOSE:
The purpose of this program is to implement an object that
can keep track of--and allow the user to change--the current
configuration of the PostScript device.
AUTHOR:
FANNING SOFTWARE CONSULTING
David Fanning, Ph.D.
1645 Sheely Drive
Fort Collins, CO 80526 USA
Phone: 970-221-0438
E-mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
CATEGORY:
General programming.
DOCUMENTATION:
Complete documentation for the FSC_PSCONFIG object, including
keyword and method descriptions, and example programs using the object
can be found on the Coyote's Guide to IDL Programming web page:
http://www.dfanning.com/programs/docs/fsc_psconfig.html
Or, if you would prefer, you can download a self-contained PDF file:
http://www.dfanning.com/programs/docs/fsc_psconfig.pdf
KEYWORDS:
Any keyword accepted by the FSC_PSCONFIG object can be used with
this program. Here are a few of the most popular keywords.
Bits_per_Pixel - The number of image bits saved for each image pixel: 2, 4, or 8. The default is 8.
Color - Set this keyword to select Color PostScript output. Turned on by default.
DefaultSetup - Set this keyword to the "name" of a default style. Current styles (you can easily
create and add your own to the source code) are the following:
"System (Portrait)" - The normal "default" system set-up. Also, "System".
"System (Landcape)" - The normal "default" landscape system set-up.
"Centered (Portrait)" - The window centered on the page. Also, "Center" or "Centered".
"Centered (Landscape)" - The window centered on the landscape page. Also, "Landscape".
"Square (Portrait)" - A square plot, centered on the page.
"Square (Landscape)" - A square plot, centered on the landscape page.
"Figure (Small)" - A small encapsulated figure size, centered on page. Also, "Encapsulated" or "Encapsulate".
"Figure (Large)" - A larger encapsulated figure size, centered on page. Also, "Figure".
"Color (Portrait)" - A "centered" plot, with color turned on. Also, "Color".
"Color (Landscape)" - A "centered" landscape plot, with color turned on.
Directory - Set this keyword to the name of the starting directory. The current directory is used by default.
Encapsulate - Set this keyword to select Encapsulated PostScript output. Turned off by default.
European - Set this keyword to indicate "european" mode (i.e., A4 page and centimeter units). Turned off by default.
Filename - Set thie keyword to the name of the PostScript file. The default is "idl.ps".
Inches - Set this keyword to indicate sizes and offsets are in inches as opposed to centimeters. Set by European keyword by default.
Landscape - Set this keyword to select Landscape page output. Portrait page output is the default.
PageType - Set this keyword to the "type" of page. Possible values are:
"Letter" - 8.5 by 11 inches. (Default, unless the European keyword is set.)
"Legal" - 8.5 by 14 inches.
"Ledger" - 11 by 17 inches.
"A4" - 21.0 by 29.7 centimeters. (Default, if the European keyword is set.)
XOffset - Set this keyword to the X Offset. Uses "System (Portrait)" defaults. (Note: offset calculated from lower-left corner of page.)
XSize - Set this keyword to the X size of the PostScript "window". Uses "System (Portrait)" defaults.
YOffset - Set this keyword to the Y Offset. Uses "System (Portrait)" defaults. (Note: offset calculated from lower-left corner of page.)
YSize - Set this keyword to the Y size of the PostScript "window". Uses "System (Portrait)" defaults.
In addition, the following keywords can be used:
CANCEL -- An output keyword that will be set to 1 if the user
chooses the Cancel button on the form. It will be 0 otherwise.
FONTINFO -- Set this keyword is you wish to have font information
appear on the form. The default is to not include font information.
FONTTYPE -- Set this keyword to a named variable that will indicate
the user's preference for font type. Values will be -1 (Hershey fonts),
0 (hardware fonts), and 1 (true-type fonts). This keyword will always
return -1 unless the FONTINFO keyword has also been set.
GROUP_LEADER -- Set this keyword to a widget identifier of the widget
you wish to be a group leader for this program.
CALLS: ***
FILEPATH, FSC_DROPLIST, FSC_FIELD, FSC_FILESELECT, FSC_PLOTWINDOW
FSC_PSCONFIG::ACCEPT, FSC_PSCONFIG::CANCEL, FSC_PSCONFIG::CLEANUP
FSC_PSCONFIG::CLEARSTYLES, FSC_PSCONFIG::COLOR
FSC_PSCONFIG::CONSTRUCT_FULL_FILENAME, FSC_PSCONFIG::DEFAULTLIST
FSC_PSCONFIG::DEFAULTS, FSC_PSCONFIG::ENCAPSULATE, FSC_PSCONFIG::EUROSTYLE
FSC_PSCONFIG::FONTTYPE, FSC_PSCONFIG::GETKEYWORDS, FSC_PSCONFIG::GETNAME
FSC_PSCONFIG::GETPROPERTY, FSC_PSCONFIG::GETSIZES, FSC_PSCONFIG::GUI
FSC_PSCONFIG::GUIFONT, FSC_PSCONFIG::HELP, FSC_PSCONFIG::INIT
FSC_PSCONFIG::ORIENTATION, FSC_PSCONFIG::PAGEDIMENSIONS
FSC_PSCONFIG::PAGESIZE, FSC_PSCONFIG::PLOTWINDOW, FSC_PSCONFIG::REVERT
FSC_PSCONFIG::SAVECONFIGURATION, FSC_PSCONFIG::SETDEFAULT
FSC_PSCONFIG::SETPROPERTY, FSC_PSCONFIG::STATUSLIGHT
FSC_PSCONFIG::STYLEBUTTONS, FSC_PSCONFIG::UNITS, FSC_PSCONFIG::UPDATEDISPLAY
FSC_PSCONFIG::UPDATEFONTSTYLE, FSC_PSCONFIG::UPDATESIZES
FSC_PSCONFIG::WINDOWSIZE, FSC_PSCONFIG_CENTERTLB, FSC_PSCONFIG_ERROR_MESSAGE
FSC_PSCONFIG_EVENTS, FSC_PSCONFIG_HELP_EVENT, FSC_PSCONFIG_NORMALIZE
FSC_PSCONFIG_RESTORE_DEVICE, FSC_PSCONFIG_RSTRPOS, GET_SCREEN_SIZE, REVERSE
STR_SEP, XMANAGER, XREGISTERED
EXAMPLE:
A simple sequence of using the object would look something like this:
psObject = Obj_New("FSC_PSCONFIG")
psObject->GUI
psKeywords = psObject->GetKeywords()
thisDevice = !D.Name
Set_Plot, 'PS'
Device, _Extra=psKeywords
TVImage, image
Device, /Close_File
Set_Plot, thisDevice
Obj_Destroy, psObject
Note that the object can also be called from the PS_CONFIG interface:
psKeywords = PSConfig()
OTHER PROGRAMS NEEDED:
The following programs are required to run this one:
fsc_droplist.pro
fsc_fileselect.pro
fsc_field.pro
fsc_plotwindow
MODIFICATIONS:
Written by David Fanning, 31 January 2000.
Added capability to call GUI methods when the current graphics device
doesn't support windows. Device is restored when the GUI exits. 11 May 2000. DWF.
Changed the default value for the Color keyword to 1. 16 May 2000. DWF.
Fixed a bug where filename changed when switching Setups. 8 AUG 2000. DWF.
Fixed a bug when saving setup in Landscape mode. 8 AUG 2000. DWF.
Added the ability to Get and Set the object's name via the SetProperty
and a very abbreviated GetProperty method. Also added a GetName method. 26 SEP 2000. DWF.
Fixed a problem in which the proper configuration was not restored if in Landscape mode. 20 Nov 2000. DWF.
Made a number of modifications at the request of Martin Schultz. 4 Dec 2000. DWF.
Fixed a bug when setting file and directory names with the SetProperty method. 18 Dec 2000. DWF.
Fixed a small problem in initializing the page size properly. 3 Jan 2001. DWF.
Corrected a problem that resulted from a change to FSC_DROPLIST. 6 Jan 2001. DWF.
Added the ability to restore the font type instead of always reverting to !P.Font. 7 Jan 2001. DWF.
Increased the length of the file/directory name fields. 7 Jan 2001. DWF.
Fixed another problem with Landscape mode interacting with A4 paper size. 7 Jan 2001. DWF.
[Previous]
[Next]
NAME:
FSC_SURFACE
PURPOSE:
The purpose of this program is to demonstrate how to
create a rotating surface using object graphics.
AUTHOR:
FANNING SOFTWARE CONSULTING
David Fanning, Ph.D.
1645 Sheely Drive
Fort Collins, CO 80526 USA
Phone: 970-221-0438
E-mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com
CATEGORY:
Widgets, Object Graphics.
CALLING SEQUENCE:
FSC_SURFACE, data, x, y
REQUIRED INPUTS:
None. Fake data will be used if no data is supplied in call.
OPTIONAL INPUTS
data: A 2D array of surface data.
x: A vector of X data values.
y: A vector of Y data values.
OPTIONAL KEYWORD PARAMETERS:
COLORTABLE: Set this keyword to a number between 0 and 40 to select one
of the pre-selected IDL color tables for elevation shading.
ELEVATION_SHADING: Set this keyword to put elevation shading into effect.
EXACT: Set this keyword to a one-, two-,or three-element array to set exact axis
scaling for the X, Y, and Z axes, respectively. If Exact is a one-element array,
all three axes are set to the same value. For example, to set the X axis to
exact scaling and the Y and Z axes to normal scaling, type:
IDL> FSC_Surface, Exact=[1,0,0]
_EXTRA: This keyword collects otherwise undefined keywords that are
passed to the IDLgrSURFACE initialization routine.
GROUP_LEADER: The group leader for this program. When the group leader
is destroyed, this program will be destroyed.
LANDSCAPE: Set this keyword if you are printing in landscape mode. The
default is Portrait mode. The Landscape keyword on the PRINTER object
is set, but not all printers will honor this keyword setting. If yours
does not, set Landscape mode in the Printer Setup dialog.
SHADED: Set this keyword to set up a shaded surface plot rather than a wire
mesh surface, which is the default.
TITLE: A string used as the title of the plot.
XTITLE: A string used as the X title of the plot.
YTITLE: A string used as the Y title of the plot.
ZTITLE: A string used as the Z title of the plot.
CALLS: ***
CW_LIGHT_CONTROL, CW_LIGHT_CONTROL_EVENTS, CW_LIGHT_CONTROL_INTENSITY_EVENTS
DIST, FSC_DROPLIST, FSC_SURFACE_ASPECT, FSC_SURFACE_CLEANUP
FSC_SURFACE_DRAW_EVENTS, FSC_SURFACE_ELEVATION_COLORS
FSC_SURFACE_ELEVATION_SHADING, FSC_SURFACE_EXIT, FSC_SURFACE_LIGHT_CONTROLS
FSC_SURFACE_LIGHT_CONTROLS_EVENT, FSC_SURFACE_LIGHT_DONE, FSC_SURFACE_OUTPUT
FSC_SURFACE_PRINTING, FSC_SURFACE_PROPERTIES, FSC_SURFACE_RESIZE
FSC_SURFACE_STYLE, LOADDATA, NORMALIZE, PICKCOLOR, WRITE_GIF, XCOLORS [1]
XCOLORS [2], XCOLORS [3], XCOLORS [4], XCOLORS [5], XMANAGER
COMMON BLOCKS:
None.
SIDE EFFECTS:
None.
DEPENDENCIES:
This program requires the following additional files from the Coyote Library:
error_message.pro
fsc_droplist.pro
getcolor.pro
loaddata.pro
pickcolor.pro
xcolors.pro
EXAMPLE:
To use this program with your data, type:
IDL> FSC_Surface, data
MODIFICATION HISTORY:
Written by David Fanning, 8 June 97.
Made axis scaling more robust. 17 Sept 97. DWF.
Minor modifications to incorporate better understanding
of how objects work. 4 Oct 97. DWF.
Fixed error cleaning up all of my created objects. 12 Feb 98. DWF.
Changed IDLgrContainer to IDL_Container to fix 5.1 problems. 20 May 98. DWF.
Fixed mis-spelling of HELVETICA14. 29 June 98. DWF.
Added the EXACT keyword to the X and Y axes to force axis ranging. 27 July 98. DWF
Added the ability to select rendering "drag" quality for faster operation. 22 Aug 98. DWF.
Added ability to get non-exact axis scaling. 12 May 99. DWF.
Improved documentation and readability of code. 12 May 99. DWF.
Added VECTOR and LANDSCAPE keywords and improved printing capability. 16 Feb 2000. DWF.
Added different lights and a Light Controller option. 28 April 2000. DWF.
Added elevation shading. 8 May 2000. DWF.
Removed VECTOR keyword. Replaced with VECTOR/BITMAP/COLOR Print buttons. 8 May 2000. DWF.
Added HIDDEN_LINE keyword. 8 May 2000. DWF.
Added EXACT keyword extensions and changed name from XSURFACE to FSC_SURFACE. 11 May 2000. DWF.
Made change to Light Control code to accomodate FSC_DROPLIST changes. 6 Jan 2001. DWF.
Removed unused color table vector code from a LONG time ago. 17 Jan 2001. DWF.
[Previous]
[Next]
NAME:
FSC_WINDOW
PURPOSE:
This routine implements a "smart" resizeable graphics window.
It is used as a wrapper for built-in IDL graphics procedures
such as SURFACE, CONTOUR, PLOT, SHADE_SURF, etc. In additon,
it can be used to display any user-written graphics procedure
so long as that procedure follows three simple rules: (1) It
does not open it's own graphics windows, (2) It is defined with
no more than three positional arguments (an unlimited number
of keyword arguments are allowed), and (3) It uses no device-
specific commands, such as "WSet", "Device, Decomposed=1", etc.
Keyword arguments permit the window to have its own portion
of a color table and to be able to change the colors loaded in
that portion of the color table. Colors are updated
automatically on both 8-bit and 24-bit color displays. In
addition, the window colors will "protect" themselves. I mean
by this that the window will re-load its own colors into the
color table when the window gains keyboard focus. This
prevents other applications from changing the colors used to
display data in this window. (This is an issue mainly in
IDL 5 applications where widget applications can run
concurrently with commands from the IDL command line.)
Keyword arguments also permit the window to create output
files of its contents. These files can be color and
gray-scale PostScript, and color BMP, GIF, JPEG, PICT, PNG,
TIFF, or JPEG files. Output can also be sent directly to
the default printer.
AUTHOR:
FANNING SOFTWARE CONSULTING
David Fanning, Ph.D.
1645 Sheely Drive
Fort Collins, CO 80526 USA
Phone: 970-221-0438
E-mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com
CATEGORY:
Widgets, Graphics.
CALLING SEQUENCE:
FSC_WINDOW, command, P1, P2, P3
REQUIRED INPUTS:
COMMAND: The graphics procedure command to be executed. This parameter
must be a STRING and the the command must be a procedure. Examples
are 'SURFACE', 'CONTOUR', 'PLOT', etc.
OPTIONAL INPUTS:
P1: The first positional parameter appropriate for the graphics
command.
P2: The second positional parameter appropriate for the graphics
command.
P3: The third positional parameter appropriate for the graphics
command.
INPUT KEYWORD PARAMETERS:
WBACKGROUND: The background color index for the window. Setting this color
along with the WERASEIT keyword causes the window to be erased with
this color. Set to !P.Background by default.
WERASEIT: Setting this keyword "erases" the contents of the current
graphics window before re-executing the graphics command. For example,
this keyword might need to be set if the graphics "command" is TVSCL.
The default is to NOT erase the display before reissuing the graphics
command.
_EXTRA: This keyword forms an anonymous structure of any unrecognized
keywords passed to the program. The keywords must be appropriate
for the graphics command being executed.
GROUP_LEADER: The group leader for this program. When the group leader
is destroyed, this program will be destroyed.
WTITLE: This is the window title. It is the string "COMMAND Window (1)"
by default, where COMMAND is the input parameter. And the number
(1 in this case) is the window index number of the draw widget.
WXPOS: This is the initial X offset of the window. Default is to
position the window in the approximate middle of the display.
WYPOS: This is the initial Y offset of the window. Default is to
position the window in the approximate middle of the display.
WPOSTSCRIPT: Set this keyword to 1 to include a PostScript File button under
the Save As button. This keyword is set automatically on 24-bit display
devices. To turn the button OFF on 24-bit devices, set the keyword value to 0.
There is no guaranteed way to create perfect PostScript output when the program
is run on 8-bit displays. This will depend entirely on how the "graphics command"
is written. Hence the button is turned off automatically on 8-bit devices.
WPRINT: Set this keyword to 1 to include a Print button under the File button.
This keyword is set automatically on 24-bit display devices. To turn the
button OFF on 24-bit devices, set the keyword value to 0. There is no
guaranteed way to print output correctly when the program is run on
8-bit displays. This will depend entirely on how the "graphics command"
is written. Hence the button is turned off automatically on 8-bit devices.
WXSIZE: This is the initial X size of the window. Default is 400
pixels.
WYSIZE: This is the initial Y size of the window. Default is 400
pixels.
WCOLORS: Using this keyword adds a "Colors..." button to the
"File" menu. Set this keyword to the number of colors available
in the window and the starting index of the first color. For example,
to allow the window access to 100 colors, starting at color index 50
(i.e., color indices 50 to 149), use WColors=[100, 50]. If you use the
keyword syntax "/WColors", all the colors available will be used, not just
one color. If the keyword is set to a scalar value greater than 1, the
starting color index is set to 0. The default value for this keyword
is [(!D.Table_Size, 0].
CALLS: ***
CENTERTLB, DIST, ERROR_MESSAGE, FSC_WINDOW_CLEANUP, FSC_WINDOW_COLORS
FSC_WINDOW_COMMAND__DEFINE, FSC_WINDOW_EXAMPLE, FSC_WINDOW_EXECUTE
FSC_WINDOW_POSTSCRIPT, FSC_WINDOW_PRINT, FSC_WINDOW_QUIT, FSC_WINDOW_SAVEAS
FSC_WINDOW_TLB_EVENTS, FTVREAD, LOADCT, PSWINDOW, XCOLORS [1], XCOLORS [2]
XCOLORS [3], XCOLORS [4], XCOLORS [5], XMANAGER
COMMON BLOCKS:
None.
RESTRICTIONS:
This program requires additional programs from the Fanning
Software Consulting library:
CENTERTLB.PRO
ERROR_MESSAGE.PRO
FSC_PSCONFIG__DEFINE.PRO
FSC_DROPLIST.PRO
FSC_FILESELECT.PRO
FSC_INPUTFIELD.PRO
FSC_PLOTWINDOW.PRO
PSCONFIG.PRO
PSWINDOW.PRO
fTVREAD.PRO
XCOLORS.PRO
If the "command" program requires keywords that are also keywords
to FSC_WINDOW, then you must use the keyword twice on the command line.
EXAMPLE:
If the program is called with no parameters whatsoever, it will load
example data.
IDL> FSC_WINDOW
MODIFICATION HISTORY:
Written by: David Fanning, Sept 2000. Based on previous XWINDOW program.
Whoops! Left out the line to resize draw widgets on UNIX machines. Fixed. 12 Oct 2000, DWF.
Removed support for GIF files for IDL 5.4. 18 Jan 2001. DWF.
2/5/04, nbr - Change procedure calls for pros renamed for SSW
compatability
[Previous]
[Next]
Name: fstats
Purpose: vector version of fstat
Input Paramters:
low (optional) - first lun to check - default is free_lun low limit
high (optional) - last lun to check - default is free_lun high limit
name - only return records with mathcing file names
(returns -1 if file not open on any unit)
Optional Keyword Parameters:
all - if set, use entire lun range (starting at lun=1)
name - if set, only record with specified file name (if exists)
Output: function returns vector of fstat structures
Calling Sequence:
fstat=fstats( [low, high, /all, name=name])
CALLED BY:
mtcmd [1], mtcmd [2]
History: (SLF) 2-jun-93
(SLF) 30-jun-94 Implement name function
[Previous]
[Next]
#Function name : FT_MNG_HM #
# #
#Author : Terry KUCERA #
#Language : IDL #
#Purpose : Call FT_ADD_HM to add information from new files to #
# history memory fits files #
#Creation date : 11-MAR-1996 #
#Update : 19-MAR-1996 #
#External modules : #
# #
#Call sequence : FT_MNG_HM #
# #
# Arguments : #
# Inputs: : None #
# #
# Ouputs : None #
# #
# Description : This routine determines which files have not been added #
# to the HM database and gives the names of those files #
# to FT_ADD_HM. The name of the last file added is #
# stored for future use by this program. #
# #
# Calls : FT_ADD_HM, BREAK_FILE #
CALLS:
[Previous]
[Next]
NAME:
ftp_copy
PURPOSE:
To build an FTP command and execute it from IDL (Default=PUT)
CALLING SEQUENCE:
ftp_copy, files, node [,user,passwd,direct,/anon, /get]
ftp_copy, node, subdir='remote_sub', /anon, /list, dirlist=dirlist
Calling Examples:
ftp_copy, node, 'pub/yohkoh', /list, dirlist=dirlist, /anon
(return directory listing <dirlist> from <node>, anonymous ftp)
ftp_copy, files, node, 'pub/yohkoh', /get, /anon
(get <files> from <node> in subdirectory pub/yohkoh, anonmous ftp)
INPUT:
files - The file names to be copied. For /GET they are the
file names on the remote system
node - The node name or number
user - The user name (will use 'ftp' if /anon is set)
passwd - The password (will use USER@LOCAL if /anon is set)
OPTIONAL INPUT:
dir - The remote directory
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
CONCAT_DIR [3], FILE_EXIST [2], break_file [4], concat_dir [4], file_append [1]
file_append [2], file_exist [1], file_exist [3], get_host [1], get_host [2]
get_logenv [1], get_logenv [2], get_user [1], get_user [2], is_alive [1]
is_alive [2], rd_tfile [1], rd_tfile [2]
CALLED BY:
NET_DIR_DIFF, daily_forecast [2], ftp_copy2sites, ftp_copy_new, get_mk3 [1]
get_mk3 [2], get_selsis, ksc_commands, msok_copy_jpg, msok_poi_copy [1]
msok_poi_copy [2], nobeyama_update, selsis_copy [1], selsis_copy [2]
selsisi_copy, timeline, topsdb [1], topsdb [2], web_seq
OPTIONAL KEYWORD INPUT:
get - If set, do a "get" instead of a "put"
outfil - The file name can be changed by passing the output file
name. The default is to make it the same as the input.
This cannot be used with the OUTDIR option.
outdir - The local directory (generally used with a "get"
ftp_log - The name of the log file that the FTP results should be
written to
logappend - If set, then append the message to the "ftp_log" file
noftp - If set, generate ftp script but dont spawn it
ftp_file - Name of ftp script file (default is $HOME/ftp_copy.ftp)
anonymous - If set, use anon ftp protocal for user and password
(in this case, third parameter is used for DIR if present)
ascii/binary - if set, specifies transfer mode (default is binary)
list - switch, if set, do directory listing (return via DIRLIST keyword)
dirlist - (OUTPUT) - return remoted directory listing if /LIST is set
status - (OUTPUT) - boolean success vector, 1 element per file
(currently, only for /get)
OPTIONAL KEYWORD OUTPUT:
ftp_results - Any messages that the FTP commands produce (errors, ...)
METHOD:
Binary is the default method of transfer (use /ascii to override)
DEFAULT is PUT (historical; GET is used much more frequently...)
HISTORY:
Written 11-Oct-93 by M.Morrison
19-Oct-93 (MDM) - Added FTP_RESULTS keyword. Changed things slightly
3-May-94 (SLF) - Major RE-write, add ANONYMOUS, FTP_FILE & NOFTP
keywords and function,use file_append, file_delete
5-May-94 (SLF) - dont LCD for /gets, Add STATUS output keyword
10-May-94 (SLF) - add ASCII and BINARY keywords and function
1-Mar-95 (SLF) - add LIST keyword and function
15-apr-95 (SLF) - fixed bug with LIST option
10-may-95 (SLF) - add ping check (default) and NOPING keyword
avoid hung ftp jobs
2-aug-95 (SLF) - dont clobber input, change def. scriptdir(HOME), documentation
9-Jan-96 (MDM) - Patch to the list option to use "." instead of "*"
because it truncated the listing if there are too
many files in the remote directory.
[Previous]
[Next]
NAME: FTP_GETPUT
PURPOSE: Get a file from or put it to a remote machine using FTP
CALLING SEQUENCE:
FTP_GETPUT, FILE, NODE, USER, PASSWD
INPUT:
FILE the file name to be gotten or put
NODE the node of the remote machine
USER user id
PASSWD password. USER and PASSWD can be omitted if either
ANONYMOUS or AUTO_LOGIN keyword is set.
KEYWORDS:
REMOTE_DIR the remote directory (default is the home directory)
LOCAL_DIR the local directory (deafult id the current directory)
PUT if set, the file is put (default id to get it)
ASCII if set, the ASCII mode is chosen (default is BINARY)
ANONYMOUS if set, anonymous FTP is tried.
AUTO_LOGIN if set, auto-login FTP is tried. This works
only UNIX-campatible machines and the file $HOME/.netrc
should exist and contain the proper infomation.
STATUS is set to 1 (success) or 0 (failure). Valid only for GET
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], concat_dir [4]
CALLED BY:
SUMER_FILE
HISTORY:
1998 November Created Jongchul Chae
[Previous]
[Next]
PROJECT:
SOHO - SUMER
NAME:
FULLTEST_TKI
PURPOSE:
Test the Simulator with diffrent UDPs in Batch
CATEGORY:
EXPLANATION:
SYNTAX:
fulltest_tki
EXAMPLES:
INPUTS:
None.
OPTIONAL INPUTS:
None.
OUTPUTS:
None.
OPTIONAL OUTPUTS:
None.
KEYWORDS:
None.
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], TKI_CALL, break_file [4]
COMMON:
None.
RESTRICTIONS:
None.
SIDE EFFECTS:
None.
HISTORY:
Version 1, October 23, 1996, Dietmar Germerott, MAPE Lindau. Written
CONTACT:
Dietmar Germerott, MAPE Lindau (germerott@linax1.mpae.gwdg.de)
[Previous]
[Next]
Project : SOHO - CDS
Name : funct_1
Purpose : Make the line profile of 1,2 or 3 Gaussians
Explanation : Calls routines to produce the fitted line profile
Use : IDL> funct_1,x-array,parameters for Gaussian(s),
the sum of the Gaussian line profiles,
first Gaussian, second Gaussian,
third Gaussian
Inputs : x-array, parameters of Gaussian
Opt. Inputs : None
Outputs : sum of Gaussians and each individual Gaussian
Opt. Outputs: None
Keywords : None
Calls : ***
CDSGAUSS
CALLED BY:
hrts_w [1], hrts_w [2], tot_int
Common : None
Restrictions: None
Side effects: None
Category : ?
Prev. Hist. : ?
Written : Nils Brynildsen, ITA, UiO 29-June-1993
Modified : Version 1 Nils Brynildsen, ITA, UiO, 29-June-1993
Version : Version 1 29-June-1993
[Previous]
[Next]
Project : SOHO - CDS
Name : funct_f()
Purpose : Make the line profile of 1,2 or 3 Gaussians
Explanation : Calls routines to produce the fitted line profile
Use : IDL> val = func_f(x-array,Parameters of Gaussian,
partial derivatives for the Gaussian)
Inputs : x-array, parameters of Gaussian, derivatives
Opt. Inputs : None
Outputs : Composit lineprofile
Opt. Outputs: None
Keywords : None
Calls : ***
CDSGAUSS, FUNC_F, gauss_d_a, gauss_d_p, gauss_d_w
Common : None
Restrictions: None
Side effects: None
Category : ?
Prev. Hist. : ?
Written : Nils Brynildsen, ITA, UiO 29-June-1993
Modified : Version 1 Nils Brynildsen, ITA, UiO, 29-June-1993
Version : Version 1 29-June-1993
[Previous]
[Next]
FUNCTION: FUNCTION LIMITS, X
PURPOSE: Scan vector X and return 2 element vector of [min(x),max(x)]
CALLS:
[Previous]
[Next]
Project : SOHO - CDS
Name : functn
Purpose : Make the line profile of 1,2 or 3 Gaussians
Explanation : Calls routines to produce the fitted line profile
Use : IDL> functn,x-array,Parameters of Gaussian,
partial derivatives for the Gaussian)
Inputs : x-array, parameters of Gaussian, derivatives
Opt. Inputs : None
Outputs : Composit lineprofile
Opt. Outputs: None
Keywords : None
Calls : ***
CDSGAUSS, gauss_d_a, gauss_d_p, gauss_d_w
Common : None
Restrictions: None
Side effects: None
Category : ?
Prev. Hist. : ?
Written : Nils Brynildsen, ITA, UiO 29-June-1993
Modified : Version 1 Nils Brynildsen, ITA, UiO, 29-June-1993
Version : Version 1 29-June-1993
[Previous]
[Next]
PROJET:
SOHO - LASCO
NAME:
FUZZY_BLOCK
PURPOSE:
Retrieves high-frequency information of a lost block using fuzzy logic
CALLS: ***
DCT, FUZZY_TO_NUM, INTER_FUZZY, NUM_TO_FUZZY, READ_BLOCK, READ_ZONE, TVZ
CALLED BY:
FUZZY_IMAGE
PROCEDURE:
Retrieves high-frequency information of a lost block using fuzzy logic
reasoning on blocks specta
CATEGORY:
Missing Blocks, Interpolation
CALLING SEQUENCE:
block = fuzzy_block (image, i, j)
INPUTS:
image the image containing the block to correct
i, j the location (column, row) of this block
KEYWORD INPUT:
rebindex : rebin index (see fuzzy_image.pro)
OUTPUTS:
The corrected block (array of pixels) is returned
SUB-ROUTINES:
fuzzy_block.pro contains the following sub-routines :
_ num_to_fuzzy convert a number to a fuzzy interval
_ fuzzy_to_num convert a fuzzy interval to a number
_ inter_fuzzy intersection of 2 fuzzy intervals
_ FUZZY_BLOCK perform a spectrum correction of a block
(=main routine) using fuzzy logic reasoning
REFERENCE:
( see fuzzy_image.pro )
MODIFICATION HISTORY:
Written by J. MORE, October 1996
Add of rebindex keyword on 28/01/2000 by A.Thernisien
[Previous]
[Next]
function fuzzy_image,ima,HDR=hdr,VERBOSE=verbose, TOO_MANY=too_many, ALL=all
PROJECT:
SOHO - LASCO
NAME:
FUZZY_IMAGE
PURPOSE:
Corrects missing blocks on a image with a fuzzy logic method
CATEGORY:
Missing Blocks, Enhancement
CALLING SEQUENCE:
image = fuzzy_image (ima,HDR=hdr)
INPUTS:
ima : the image containing blocks to correct
OUTPUTS:
The corrected image
KEYWORDS:
hdr : FITS header of the image. WARNING: If the image header is not passed, fuzzy_image concider that
the image is from C2 and 1024 * 1024: the procedure failed if it's not the case.
verbose : print running informations
TOO_MANY: Flag for reduce_level_1.pro to mask missing blocks
ALL: Replace all missing blocks, regardless of number or mask
SUBROUTINES:
fuzzy_image.pro getl05hdrparam.pro sxpar.pro getok.pro get_tmask.pro get_miss_blocks.pro where2d.pro
hcie_zone.pro read_zone.pro grad_zone.pro tri_surf.pro reverse.pro write_zone.pro fuzzy_block.pro
read_block.pro dct.pro num_to_fuzzy.pro inter_fuzzy.pro fuzzy_to_num.pro write_block.pro
REFERENCE:
-> This method is based upon the following :
Information Loss Recovery for Block-Based Image Coding Techniques
- A Fuzzy Logic Approach
Xiaobing Lee, Ya-Qin Zhang, Alberto Leon-Garcia
IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL.4, NO.3, MARCH 1995
CALLS: ***
FUZZY_BLOCK, FXPAR [1], FXPAR [2], GET_MISS_BLOCKS, GRAD_ZONE, HCIE_ZONE [2]
READ_ZONE, TRIM, WHERE2D, WRITE_BLOCK, WRITE_ZONE, get_tmask, getl05hdrparam
hcie_zone [1]
CALLED BY:
C3_CALIBRATE, FIND_MISS_BLOCKS
MODIFICATION HISTORY:
V1.0 Written by J. MORE, October 1996
Modif by A.T. 13/01/2000 and 18/01/2000:
- add of the HDR keyword the take account of the size and the detector.
- small modif to avoid crash when a missing block is near a non transmitted block
1/23/01, nbr : Compute new blocks if number of good blocks in a zone greater than number of bad;
remove if statement for doing fuzzy_block; add TOO_MANY keyword
12/4/01, nbr : Move function statement to top
12/31/01, nbr : Add ALL keyword
1/ 9/03, nbr : Add logfile; don't create window 2; change way n_in_zone is computed
3/20/03, nbr : Re-enable TOO_MANY and make threshold 16
4/ 9/03, nbr : add COMMON dbms, logging; add edge exclusion logic
4/11/03, nbr : set too_many equal to number missing; do not continue if gt 100 missing in a zone
05.07.25, nbr - Update/fix too_many implementation for subfield cases
version = '@(#)fuzzy_image.pro 1.7, 07/25/05' ; LASCO IDL Library
[Previous]
[Next]
NAME:
FUZZY_TO_NUM
PURPOSE:
Converts a fuzzy number to a number
CALLED BY:
FUZZY_BLOCK
PROCEDURE:
Converts a fuzzy number (or array of fuzzy numbers) to a number (or an
array of numbers)
CALLING SEQUENCE:
a = fuzzy_to_num (afuzzy)
INPUTS:
afuzzy a fuzzy number (scalar or array)
OUTPUTS:
The number (or array) best representing the fuzzy number (or array)
[Previous]
[Next]
Project : SOHO - CDS
Name :
FXBREAD
Purpose :
Read a data array from a disk FITS binary table file.
Explanation :
Each call to FXBREAD will read the data from one column and one row
from the FITS data file, which should already have been opened by
FXBOPEN. One needs to call this routine for every column and every row
in the binary table. FXBCLOSE will then close the FITS data file.
Use :
FXBREAD, UNIT, DATA, COL [, ROW ]
Inputs :
UNIT = Logical unit number corresponding to the file containing the
binary table.
COL = Column in the binary table to read data from, either as a
character string containing a column label (TTYPE), or as a
numerical column index starting from column one.
Opt. Inputs :
ROW = Either row number in the binary table to read data from,
starting from row one, or a two element array containing a
range of row numbers to read. If not passed, then the entire
column is read in.
Row must be passed for variable length arrays.
Outputs :
DATA = IDL data array to be read from the file.
Opt. Outputs:
None.
Keywords :
NOSCALE = If set, then the ouput data will not be scaled using the
optional TSCAL and TZERO keywords in the FITS header.
Default is to scale.
VIRTUAL = If set, and COL is passed as a name rather than a number,
then if the program can't find a column with that name, it
will then look for a keyword with that name in the header.
Such a keyword would then act as a "virtual column", with the
same value for every row.
DIMENSIONS = Vector array containing the dimensions to be used to read
in the data. Bypasses any dimensioning information stored in
the header. Ignored for bit arrays. If the data type is
double-precision complex, then an extra dimension of 2 is
prepended to the dimensions passed by the user.
NANVALUE= Value signalling data dropout. All points corresponding to
IEEE NaN (not-a-number) are converted to this number.
Ignored unless DATA is of type float, double-precision or
complex.
ERRMSG = If defined and passed, then any error messages will be
returned to the user in this parameter rather than
depending on the MESSAGE routine in IDL. If no errors are
encountered, then a null string is returned. In order to
use this feature, ERRMSG must be defined first, e.g.
ERRMSG = ''
FXBREAD, ERRMSG=ERRMSG, ...
IF ERRMSG NE '' THEN ...
Calls : ***
FXPAR [1], FXPAR [2], IEEE_TO_HOST [1], IEEE_TO_HOST [2], IEEE_TO_HOST [3]
IEEE_TO_HOST [4], WHERENAN [1], WHERENAN [2], WHERENAN [3], WHERENAN [4]
WHERE_NEGZERO [1], WHERE_NEGZERO [2]
CALLED BY:
CW_XTD_NRHF, EIS_DATA_READFOREIGN, EIS_DATA__READFITS [1]
EIS_DATA__READFITS [2], FIND_FILE_DUR, FITSHEAD2WCS, FOPEN_NRH2
Fits_spectra [1], Fits_spectra [2], GET_CDS_TEMPS, GET_ORBIT [1], GET_ORBIT [2]
GET_ORBIT_FITS, GET_SC_ATT [1], GET_SC_ATT [2], HESSI Score Read, JPLEPHREAD
LEC_NRH1D, RDFILEPOS, RD_LAS_CAT_FITS, RD_NRH2I, READCDSCOL, READSUMCOL
READ_CALFITS, READ_CENTER_POINT [1], READ_CENTER_POINT [2], READ_COMPRESSED
READ_SC_ATT, Radio Astronomy Group Fits Read
Radiospectrogram FITS File reader [1], SHRINK_SUMER_FITS, SUMER_FITS
TIME_IND_NRH, WCS_FIND_KEYWORD, WCS_FIND_PIXEL_LIST, WCS_FIND_TABLE
eis_rd_sts_fits [1], eis_read_fits_data [1], eis_read_fits_data [2]
eis_read_fits_data [3], ft_sumread_fits, hsi_data_gap_fxbr, hsi_ephemeris_fxbr
hsi_filedb_fxbr, hsi_flare_list_entry_fxbr, hsi_flare_list_info_fxbr
hsi_obs_summ_data_fxbr, hsi_obs_summ_fxbr, hsi_obs_summ_info_fxbr
hsi_obs_summ_inp, hsi_obs_summ_read, hsi_obs_summ_soc__define
hsi_qlook__define, mk_query [1], mk_query [2], mrdfits_spectra, rd_sumer [1]
rd_sumer [2], read_ovsa_fits, smei_hdr_get, where_are [1], where_are [2]
Common :
Uses common block FXBINTABLE--see "fxbintable.pro" for more
information.
Restrictions:
The binary table file must have been opened with FXBOPEN.
The data must be consistent with the column definition in the binary
table header.
The row number must be consistent with the number of rows stored in the
binary table header.
The number of elements implied by the dimensions keyword must not
exceed the number of elements stored in the file.
Side effects:
If the DIMENSIONS keyword is used, then the number of data points read
in may be less than the number of points stored in the table.
If there are no elements to read in (the number of elements is zero),
then the program sets !ERR to -1, and DATA is unmodified.
Category :
Data Handling, I/O, FITS, Generic.
Prev. Hist. :
W. Thompson, Jan 1992.
W. Thompson, Feb 1992, modified to support variable length arrays.
W. Thompson, Jun 1992, modified way that row ranges are read in. No
longer works reiteratively.
W. Thompson, Jun 1992, fixed bug where NANVALUE would be modified by
TSCAL and TZERO keywords.
W. Thompson, Jun 1992, fixed bug when reading character strings.
Treats dimensions better when reading multiple
rows.
Written :
William Thompson, GSFC, January 1992.
Modified :
Version 1, William Thompson, GSFC, 12 April 1993.
Incorporated into CDS library.
Version 2, William Thompson, GSFC, 30 June 1993.
Added overwrite keyword to REFORM call to speed up.
Version 3, William Thompson, GSFC, 21 July 1993.
Fixed bug with variable length arrays.
Version 4, William Thompson, GSFC, 29 October 1993.
Added error message for not finding column by name.
Version 5, William Thompson, GSFC, 31 May 1994
Added ERRMSG keyword.
Version 6, William Thompson, GSFC, 23 June 1994
Modified so that ERRMSG is not touched if not defined.
Version 7, William Thompson, GSFC, 29 December 1994
Fixed bug where single element dimensions were lost.
Version 8, William Thompson, GSFC, 20 March 1995
Fixed bug introduced in version 7.
Version 9, Wayne Landsman, GSFC, 3 July 1996
Fixed bug involving use of virtual keyword.
Version 10, William Thompson, GSFC, 31-Jan-1997
Added call to WHERE_NEGZERO.
Version :
Version 10, 31-Jan-1997
[Previous]
[Next]
NAME:
FZTOFITS
PURPOSE:
Convert a LP format file into a FITS format file. Each image in the
LP format file is written to a different FITS file.
CATEGORY:
LP. File IO. High level.
CALLING SEQUENCE:
FZTOFITS,IFILE,OFILE
INPUTS:
IFILE, input file name.
OFILE, output file name.
KEYWORD PARAMETERS:
OUTPUTS:
Creates a fits file
CALLS: ***
FITSW, FZRD, NEWNAME
COMMON BLOCKS:
SIDE EFFECTS:
Write to disk.
RESTRICTIONS:
Must have sufficient disk space.
PROCEDURE:
MODIFICATION HISTORY:
July 1992 I. Zayer LPARL, simplified to be stand-alone & 1 image per ifile...
Sept. 1990 P. Milford Stanford University.
[Previous]
[Next]
NAME:
FZW
PURPOSE:
Write a LP format image/header to disk.
CATEGORY:
File IO. Low level.
CALLING SEQUENCE:
FZW,OFILE,IMAGE,HEADER,ENG
INPUTS:
OFILE, output file name
IMAGE, LP image, int*2 data to be saved.
HEADER, optional image header (f0 or fits)
ENG, optional engineering data line
KEYWORD PARAMETERS:
none.
OUTPUTS:
Writes to OFILE.
CALLS: ***
FZBASIC, FZHEADER
SIDE EFFECTS:
RESTRICTIONS:
Does not check errors.
PROCEDURE:
Write the two structures.
MODIFICATION HISTORY:
Jul. 1992 I. Zayer LPARL. Modified to be stand-alone & renamed
Jan. 1990 P. Milford Stanford University.