[Previous]
[Next]
FILE HXISSETLEVEL.PRO -- includes CALCONLEV.PRO, SETLEVEL_EV, HXISSETLEVEL
===========================================================================
NAME:
CALCONLEV
PURPOSE:
Calculate contour levels
CATEGORY:
HXIS display
CALLING SEQUENCE:
CALCONLEV
CALLED BY:
SETLEVEL_EV
CALLS TO:
none
INPUTS:
none explicit, only through commons
OPTIONAL INPUTS:
none
OUTPUT:
none explicit, only through commons
OPTIONAL OUTPUT:
none
CALLS: ***
HXISSETLEVEL, SETLEVEL_EV, XMANAGER
CALLED BY:
HXISSETLEVEL, SETLEVEL_EV
COMMON BLOCKS:
HXISSETLEV to pass contour level variables through XAMANAGER
HXISWIDGET for the ID of the comment widget
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Depending on the parameter set by the user (in SETLEVEL_EV)
the conour levels are chosen.
MODIFICATION HISTORY:
DEC-92, Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CATWIDHELP_EV
PURPOSE:
Handle events for UVSP_CATWIDHELP
CATEGORY:
UVSP Catalog
CALLING SEQUENCE:
XMANAGER, 'UVSPCATHELP', BASE, EVENT_HANDLER='CATWIDHELP_EV'
CALLED BY:
UVSP_CATWIDHELP
CALLS TO:
none
INPUTS:
none explicit, only through the XMANAGER
the wdidget ID for the text widget is passed in UVALUE
OPTIONAL INPUTS:
none
OUTPUTS:
none
OPTIONAL OUTPUTS:
none
CALLS: ***
UVSP_CATWIDHELP [2], XMANAGER, XREGISTERED, uvsp_catwidhelp [1]
CALLED BY:
UVSP_CATWIDHELP [2], uvsp_catwidhelp [1]
COMMON BLOCKS:
none
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Process the event for the user selected item. If event is a list
event the display the appropriate help information.
MODIFICATION HISTORY:
Oct 93 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CH2KVT
PURPOSE:
Return the 16 boundaries of the HXRBS 15-channel phs data in
kilo-electron volts (keV) as a function of gain state (1-8), time
in the mission, and lld setting.
CATEGORY:
HXRBS
CALLING SEQUENCE:
CH2KVT, LLD=LLD, GAIN_STATE=GAIN_STATE, UTIME=UT, EDGES=EDGES
CALLS: ***
CH2MV, CHECKVAR [1], INTERPOL, anytim [1], anytim [2], anytim [3], anytim [4]
anytim [5], checkvar [2]
INPUTS:
Lld: Lower-level discriminator setting 1-4.
Gain_state: 1-8
Utime: Time from 79/01/01 in seconds, scalar value.
OUTPUTS:
Edges: 16 edges in keV on 15 HXRBS energy channels.
CALLED BY:
CH2KVT_GAIN, HXARCHIVE, hxrbs_response
PROCEDURE:
1. Call ch2mv to get mV boundaries.
2. Compute G as a function of time. Time is in seconds from 79/01/01.
3. RKEV(I,J) = (1/G(T)) * (C(I)*MV(J)**2 + A(I)*MV(J) + B(I)
where J = lower channel edge (= 1-16) and I = gain state.
ELECTRONIC GAIN CALIBRATION:
RKEV= (1./GainT) * (A0 + A1*RKEV+ A2*RKEV^2)
Lld, Gain_state and Utime are used as keywords so you don't have
to remember their input sequence.
MODIFICATION HISTORY:
Mod. 03/06/92 by Richard Schwartz. Converted to IDL from FORTRAN
Mod. 05/06/96 by RCJ. Added documentation.
[Previous]
[Next]
NAME:
CH2KVT_GAIN
PURPOSE:
Procedure to retrieve HXRBS energy edges for a given time when SARS
is not available.
CATEGORY:
HXRBS
CALLING SEQUENCE:
CH2KVT_GAIN,Ut=Ut,Edges=Edges
CALLS: ***
CH2KVT, CHKLOG [1], CHKLOG [2], CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3]
READ_SEQFILE, anytim [1], anytim [2], anytim [3], anytim [4], anytim [5]
concat_dir [4]
INPUTS:
Ut: Time from 79/01/01, scalar value.
OUTPUTS:
Edges: 16 edges in keV on 15 HXRBS energy channels.
CALLED BY:
HXRFITS_ARCHIVE
PROCEDURE:
Looks in a table (perm$data:gain.chg) to find out what gain level
was being used at a given time (this information is normally derived
from the SARS word), and then calls ch2kvt to compute energy edges
as normal.
Ut and Edges are used as keywords so you don't have to remember
their input sequence.
MODIFICATION HISTORY:
Written by Kim Tolbert, 08/31/1994.
Mod. 05/06/96 by RCJ. Added documentation.
[Previous]
[Next]
NAME:
CH2MV
PURPOSE:
Return the 16 boundaries of the 15-channel phs data in millivolts(mv)
as a function of phald(sc1).
CATEGORY:
HXRBS
CALLING SEQUENCE:
CH2MV,Illd,Igain,Rmv
INPUTS:
Illd: Lower level discriminator setting 1-4.
Igain: Gain state 1-8.
OUTPUTS:
Rmv: Lower channel edges in millivolts.
CALLED BY:
CH2KVT
PROCEDURE:
1. Retrieve 16 step canned mv table(FRMV) of boundaries.
2. Replace upper boundary if gain = 1
3. Get lower limit from a 4 step table(FLL) as a function of PHALD
level #
4. Replace RMV(I) with FLL(PHALD) whenever FLL(PHALD) .GT. RMV(I)
for I = 1,16
MODIFICATION HISTORY:
Mod. 3/6/92 by R. Schwartz. Converted to IDL from FORTRAN
Mod. 06/96 by RCJ. Added documentation.
[Previous]
[Next]
FUNCTION: ch_scale, scale, xyouts=xyouts, xcorr = xcorr
scale text in graphics output to that of TEKTRONIX graphics
also scale to multiplot environment
SCALE TO Y DISTANCE, XSCALING MUST BE DONE IN SETTING UP DISPLAY.
XSCALING ALLOWED USING KEYWORD
Scaling for plot axes is different than for xyouts because of
the scaling factor of 0.5 applied to plot text when any dimension of
!p.multi exceeds 2. This factor is not applied to text labels in
xyouts!
INPUTS:
SCALE -Normal scaling factor used in TEKTRONIX graphics.
XYOUTS -Keyword indicating scale used in XYOUTS call.
XCORR -Keyword indicating to use scaling along x axis
RAS 4/92
CALLS: ***
CH_SCALE, FCHECK
MODIFICATION HISTORY:
Modified 8/29/94 by Amy Skowronek to check for global variable.
If variable is set, result multiplied by global. To scale up
text in multiple plot.
[Previous]
[Next]
NAME:
CHKPOINT
PURPOSE:
check SMM pointing in XRP catalog against the UVSP catalog
CALLING SEQUENCE:
chkpoint,img,info
INPUTS:
IMG= structure with image parameters
OUTPUTS:
info = informational messages
CALLS: ***
ATIME [1], ATIME [2], UTIME [1], UTIME [2], anytim [1], anytim [2], anytim [3]
anytim [4], anytim [5], get_uvexp
CALLED BY:
FCS
MODIFICATION HISTORY:
written - DMZ (ARC) April'92
[Previous]
[Next]
NAME:
CHOOSE_FL
PURPOSE:
Create a widget that displays a list of HXRBS flares and some
parameters of those flares, and allows the user to select a flare from
the list.
CATEGORY:
HXRBS
CALLING SEQUENCE:
CHOOSE_FL, fldata, numfl, fl_selected
CALLS: ***
ATIME [1], ATIME [2], CHECKVAR [1], CHOOSE_FL_EVENT, WIDG_TYPE, XMANAGER
checkvar [2], get_xfont [1], get_xfont [2]
INPUTS:
fldata: array of structures containing the flares number and
associated parameters to list
numfl: number of flares to list
OUTPUTS:
fl_selected: selected flare number.
KEYWORDS:
group_leader: Widget ID of the group leader.
flstring: String array containing list of events.
just_reg: If =1 xmanager will register the widget but
will not start processing events.
btitle: Title for the widget base.
xoffset: Offset (in pixels, x-dir) from this widget's parent.
yoffset: Offset (in pixels, y-dir) from this widget's parent.
info: String containing information on instrument. For now
we just need to know whether to display BATSE data.
CALLED BY:
HFLARE, HXRBS, spex_evnt [1], spex_evnt [2]
PROCEDURE:
none
MODIFICATION HISTORY:
Written 04/92 by AKT.
Mod. 08/26/92 by ras. make compatible with BATSE structure tags
Mod. 03/25/96 by RCJ. Remove common block, add xoffset, yoffset,
modal keywords.
Mod. 05/15/96 by RCJ. Added documentation.
Mod. 06/06/96 by RCJ. Made compatible with array of structures input
(fldata)
Mod. 02/04/97 by RCJ. Removed format of header_string, added just_reg
keyword. Modal keyword is set through just_reg.
Version 7, RAS, 28-Mar-1997, compatible with BATSE, HXRBS, GRS
[Previous]
[Next]
NAME:
CNTRATE
PURPOSE:
Convert count and livetime data to a counting rate.
CATEGORY:
HXRBS
CALLING SEQUENCE:
Result = CNTRATE(Phs)
CALLS: ***
CHECKVAR [1], F_DIV, checkvar [2]
INPUTS:
Phs: (n,nchan) where n is the number of time bins
nchan is the number of energy channels + 1 live time chan.
OPTIONAL INPUTS:
Chan_start: Optional low channel for sum, default = 0.
0 is the first channel.
Chan_end: Optional high channel for sum, default = Chan_start,
or nchan-1 if Chan_start is not passed.
OUTPUTS:
Result: Summed counts from Chan_start to Chan_end divided
by the live time.
i.e. HXRBS data is returned in counts/second.
KEYWORDS:
Help: Show calling sequence.
SIDE EFFECTS:
Sample intervals with zero live time are returned with a value 0.0
for the counting rate. The FUNCTION DIV protects against
division by zero.
MODIFICATION HISTORY:
Mod. 09/27/91 by Richard Schwartz. Last revision.
Mod. 10/14/94 by RAS.
Mod. 05/06/96 by RCJ. Added documentation.
[Previous]
[Next]
NAME:
COALIGN
PURPOSE:
Coalign two images
CALLING SEQUENCE:
coalign,img1,img2
INPUTS:
img1,img2 = image structure variables (see ST_IMG)
KEYWORDS:
color = color contour of overlaid image
OUTPUTS:
img3 = img1 aligned with img2
PROCEDURE:
Plots images side by side and user picks off features.
IMG1 is then overlaid as a contour on IMG2
MODIFICATION HISTORY:
DMZ (ARC) Aug'93
[Previous]
[Next]
NAME:
COORD_CONV
PURPOSE:
This procedure computes the data, normal, and device coordinates for an input point that
is any of the three types, and returns the 3 types in xout and yout in
that order.
CATEGORY:
CALLING SEQUENCE:
COORD_CONV, X, Y, Xout, Yout
CALLS:
none
INPUTS:
Default type for input point is data. Otherwise specified by keywords DATA,NORMAL, DEVICE.
x: xaxis coordinate, must be scalar
y: yaxis coordinate, must be scalar
OPTIONAL INPUTS:
none
OUTPUTS:
Xout: the input coordinate converted to [DATA, NORMAL, DEVICE ] units as a vector
Yout: the input coordinate converted to [DATA, NORMAL, DEVICE ] units as a vector
OPTIONAL OUTPUTS:
none
KEYWORDS:
DATA: If set, input is in DATA coordinates
NORMAL: If set, input is in NORMAL coordinates
DEVICE: If set, input is in DEVICE coordinates
CALLED BY:
WFSURVEY
COMMON BLOCKS:
none
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
none
MODIFICATION HISTORY:
Kim Tolbert 11/26/91
[Previous]
[Next]
NAME:
coreg
PURPOSE:
coregister two image structures
CATEGORY:
utility
CALLING SEQUENCE:
coreg,s1,s2
INPUTS:
s1,s2 = input structures
OUTPUTS:
s1,s2 = output structures
CALLED BY:
FTEMAP
PROCEDURE:
coregister images in s1 and s2 based on coordinate location of each pixel in s1 and s2
CALLS: ***
NINT [1], NINT [2], RUST
RESTRICTIONS:
s1 and s2 are altered to reflect coregistered data
s1 and s2 must have rectangular pixels
MODIFICATION HISTORY:
written DEC 1990 (DMZ, ARC)
[Previous]
[Next]
FILE CP.PRO the display program for Coronagraph/Polarimeter data.
REQUIREMENTS : IDL Version 2 with widgets, or better.
X windows graphics device.
To test to see if widgets are available :
IDL> if (!D.FLAGS AND 65536) NE 0 THEN PRINT, 'WIDGETS ARE AVAILABLE.'
The CP data must be written from the CP achive media using the IDL
routine CPTAPE.PRO. This is a VMS specific procedure and will place
the data into subdirectories, one per day. These file can then be copied
to a UNIX machine, if desired.
- The program has two main modes: "Display one image" (single image) mode or
"Show a movie" (movie) mode.
- The mode is selected from the main options widget, but first select the
desired option for "Normal display" (not a difference image) and
"Make a difference" (difference image).
- Once single or movie modes are selected, each will create it's own
widget menues.
- These menues are designed to display either normal or difference images
- The remain option are independant and may be selected interactively
during processing.
CALLS: ***
CPCOLOR, CPHELP, CPMOVIE, CPONE, CP_EVENT, WINUP [5], XMANAGER, XPDMENU, XREGISTERED
acknowledge [1], acknowledge [2], acknowledge [3], opsys_lgcl [1]
opsys_lgcl [2], winup [1], winup [2], winup [3], winup [4]
CALLED BY:
CP_EVENT, SDAC
NOTE: All widget menues are placed at the top left corner of the screen.
This may result in smaller menues, such as the main options menu,
being completely hidden. Move the offending menu as you would
any window on your system.
/--- CPONE---CPONE_EV*-------------------\
CP--------CP_EVENT--- ---**
(cpcolor) \--- CPMOVIE--CPMOVIE_EV*---CPMOVIE_DO---/
* returns to
**---CPDISPLAY---------------------CPTV---CPSUNCEN cpone_ev or
(cpdisk) \----CPDIFF---/ to cpmovie_ev
Programs for C/P have the naming convention of CP*.PRO :
CP.PRO, CPCOLOR.PRO, CPDISK.PRO, CPDISPLAY.PRO, CPHOUSE.PRO,
CPINTERANIMATE.PRO, CPMOVIE.PRO, CPONE.PRO, CPSUNCEN.PRO
Common block for these programs are named CP*.COMMON :
CPCOLORS.COMMON, CPDISPFILES.COMMON, CPGET_R_T.COMMON,
CPKEYWORDS.COMMON, CPLOGIC_ENVRON.COMMON, CPMOVIDISPLAY.COMMON,
CPMOVIETIME.COMMON, CPMOV_DIR.COMMON, CPNEW_WINDOW.COMMON,
CPONE_DIR.COMMON, CPPROLOCAL.COMMON, CPUSERINP.COMMON
CPWIDGBASES.COMMON
Required program that don't use the naming convention of CP*.* :
any widget library routines, ACKNOWLEDGE.PRO, OPSYS_LGCL.PRO,
PSPLOT.PRO, RESPOND_WIDG.PRO, WINUP.PRO,
WINUP_COMMON.PRO, LINECOLORS.PRO
[Previous]
[Next]
NAME:
CP
PURPOSE:
Create the main options menu widget
CATEGORY:
CP display
CALLING SEQUENCE:
CP, [GROUP_LEADER=GROUP]
CALLED BY:
none
CALLS TO:
CPCOLOR, CP_event (via XMANAGER)
INPUTS:
none
OPTIONAL INPUTS:
GROUP : The widget ID of the parent widget.
OUTPUTS:
none explicit, only through commons
OPTIONAL OUTPUTS:
none
CALLS: ***
CPCOLOR, CPHELP, CPMOVIE, CPONE, CP_EVENT, WINUP [5], XMANAGER, XPDMENU, XREGISTERED
acknowledge [1], acknowledge [2], acknowledge [3], opsys_lgcl [1]
opsys_lgcl [2], winup [1], winup [2], winup [3], winup [4]
CALLED BY:
CP_EVENT, SDAC
COMMON BLOCKS:
CPCOLORS assigns the CP color tables
CPKEYWORDS assigns the initial values for option conditions
CPLOGIC_ENVRON assigns the location of data
CPNEW_WINMDOW assigns initial values for window management
CPPROLOCAL creates the widget IDs of menu buttons
CPWIDGBASES creates the widget IDs of parents and informational
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Verifiy data loction and create CP color tables then create the
main options menu widget.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
MAR 93 - Added radial and azmuthal scan buttons
[Previous]
[Next]
file CP_CAT.PRO -
CP_CAT programs provides an interface to accept parameters
checks them for validity (CP_CATPARAM->CP_CATPARSE),
displays a condensed version of any valid user input,
searches the catalog using input parameters (CP_CATREAD) and
proceeds to output qualifing experiments (CP_CATPRINT->CP_CATDISPLAY)
CP_CATRESET allow user to go back to default values
NAME:
CP_CAT.PRO
PURPOSE:
Sets up initial conditions for the catalog search program, an directs
program control to the interface.
CATEGORY:
CP Catalog
CALLING SEQUENCE:
result = cp_cat( font=font, $
reset=reset, widget_handler=widget_handler, $
widget_group=widget_group, widget_modal=widget_modal)
CALLED BY:
none
CALLS TO:
CP_CATRESET, CP_CATWIDGET, CHECKFONT
INPUTS:
none
OPTIONAL INPUTS:
FONT : The hardware font to be used by the program's widgets,
when executing in widget mode. May be selected during
program execution, for any future widgets created.
Wildcards are allowed. Ignored in screen mode.
ALPHAFONT : When set select a small font. Alpha IDL placed big gaps
between lines, therfore the widget goes off the bottom.
This keyword selects a font size about 12. This keyword
is ignored if the FONT keyword is set.
NORESET : By default the default parameters are reset to all possible
values. If set, then your last parameter values are
retained as the current settings. Note that "SPEC" means
spectra only, so that is set to NO.
The following only apply to widget mode, and are ignored in screen mode.
These are meaningful only when this program is called by another widget
routine.
WIDGET_HANDLER : The name of the event handler to be used to handle
the events produced by the "Array" or "Screen"
output selections. If not present, the only event
handled from these widgets is the CANCEL button.
WIDGET_GROUP : The widget ID of a group leader, which, when killed,
kills the catalog program's widgets.
WIDGET_MODAL : The MODAL condition to be set for the final output
widget listing the qualifing experiments.
OUTPUTS:
Returns the result (CP_TEXT).
CP_TEXT is null when no experiment qualify to meet the parameter.
CP_TEXT is a long array of numbers when "NUMBERS" is selected in
screen mode or nothing is select in widget mode.
CP_TEXT is the calalog output when, output condition "ARRAY"
is selected.
CP_TEXT is null for any other cases.
OPTIONAL OUTPUTS:
none
CALLS: ***
CHECKFONT, CP_CATRESET, cp_catwidget
COMMON BLOCKS:
COMMON CPCATTEXT, CP_TEXT ; The string array of entries,
; returned from the event handler.
COMMON CPCATSTRUC, CP ; Current parameter settings (CP).
COMMON MYFONT, MYFONT ; Saves for next time.
COMMON CPCAT, CPCAT ; The part of catalog in memory.
SIDE EFFECTS:
The entire 22 x 228001 bytarr CP catalog is placed in memory.
This memory is not returned until you exit IDL or type
COMMON CPCAT, CPCAT and then DELVAR, CPCAT.
RESTRICTIONS:
If this program is executing in widget mode then IDL must be version
3.0.0 or better, because the widget keyword FONT is used.
You must have a enough for the whole CP catalog to be placed in memory.
PROCEDURE:
none
MODIFICATION HISTORY:
Nov 93 - elaine einfalt (HSTX)
[Previous]
[Next]
NAME:
CP_CATHELP
PURPOSE:
The help for the CP catalog search program
CATEGORY:
CP Catalog
CALLING SEQUENCE:
CP_CATHELP [, group = group]
CALLED BY:
CP_CATWIDGET
CALLS TO:
DPHELP_EV, through the XMANAGER
INPUTS:
none
OPTIONAL INPUTS:
GROUP : The widget ID of the parent widget
OUTPUTS:
none explicit
OPTIONAL OUTPUTS:
none
CALLS: ***
CPHELP_EV [1], CPHELP_EV [2], XMANAGER, XREGISTERED
CALLED BY:
CPHELP_EV [1], cp_catwidget
COMMON BLOCKS:
none
SIDE EFFECTS:
Creates a widget
RESTRICTIONS:
Requires widget ablity
PROCEDURE:
Create a widget and list the help topics. As topics are selected by
the user, the help information is displayed.
MODIFICATION HISTORY:
Nov 93 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CP_CATPRINT
PURPOSE:
Output the catalog entries.
CATEGORY:
CP Catalog
CALLING SEQUENCE:
result = cp_catprint, w_cat=w_cat, [ yield=yield,
s_page=s_page, p_page=p_page,
filename=filename]
CALLED BY:
CP_CATREAD
CALLS TO:
none
INPUTS:
W_CAT array of qualifing entries
OPTIONAL INPUTS:
YIELD the bits of this number indicate then processing code(s)
if BIT 0 is 1 then return the catalog text in a array
if BIT 1 is 1 then output is sent to a list widget
if BIT 2 is 1 then output is sent to the printer
if BIT 3 is 1 then output is sent to a disk file,
named by default CPCAT.hhmmss (extension is time)
Default is list widget only (bit 1)
S_PAGE if present, the number of entries to process before
reprinting the titles to the screen.
Ignored of BIT 1 is not set. Default is 24.
P_PAGE if present, the number of entries to process before issuing
a form feed and reprinting the titles for printer output.
Ignored of BIT 2 is not set. Default is 58.
FILENAME if present and BIT , a string to be used as the
OUTPUTS:
If BIT 0 is set in variable YIELD, then a string array containing
the catalog entry text for each experiment in W_CAT is returned.
Otherwise, a null string is returned.
OPTIONAL OUTPUTS:
If BIT 1 is set, (in variable YIELD) then the catalog entry text is
sent to the terminal screen
If BIT 2 is set, (in variable YIELD) then the catalog entry text is
sent to a temporary file, printed and deleted.
If BIT 3 is set, (in variable YIELD) then the catalog entry text is
sent to a disk file (titles only present at beginning of file).
CALLS: ***
CP_CATDISPLAY
CALLED BY:
CP_CATREAD
COMMON BLOCKS:
Common CPCAT has variable CPCAT a 26x228001 byte array containing the
26 fields in the CP Catalog for 228001 file entries.
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Open the requested output device(s), and output the catalog text
for each experiment in the W_CAT array. If the screen mode is
legally terminated, prior to the last experiment, then printer
and disk modes terminate at that experiment as well.
MODIFICATION HISTORY:
NOV 1993 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CP_CATREAD
PURPOSE:
Search the CP catalog using the user's parameters
CATEGORY:
CP Catalog
CALLING SEQUENCE:
result = CP_CATREAD(CP=CP, [FONT=FONT, $
YIELD=YIELD, CAT_WIDG=CAT_WIDG])
CALLED BY:
CP_CATWIDGET
CALLS TO:
CP_CATPRINT
INPUTS:
CP : a structure containing the parameters choosen by the user.
OPTIONAL INPUTS:
FONT : A hardware font name to be passed to CP_CATPRINT
YIELD : Value passed to CP_CATPRINT, representing the output mode.
CAT_WIDG : Structure to be passed to CP_CATPRINT, containing parent
widget information, when CP_CAT is not run stand alone.
OUTPUTS:
none explicit, only through common
OPTIONAL OUTPUTS:
none
CALLS: ***
CP_CATPRINT, CP_CATTIME, UT_2_YYDOY [1], anytim [1], anytim [2], anytim [3]
anytim [4], anytim [5], ut_2_yydoy [2]
CALLED BY:
cp_catwidget
COMMON BLOCKS:
COMMON CPCAT, CPCAT ; The part of catalog in memory.
COMMON CPCATTEXT, CP_TEXT ; The string array of entries,
; returned from the event handler.
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Using the user input parameters, determine which CP observations
meet the criteria.
MODIFICATION HISTORY:
Nov 93 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CP_CATRESET
PURPOSE:
Define a structure containing the default search parameters.
Define a structure to contain the string of where expressions.
CATEGORY:
CP Catalog
CALLING SEQUENCE:
CP_CATRESET, cp=cp
CALLED BY:
CP_CATSCREEN
CALLS TO:
none
INPUTS:
INPUT : the item to reset
OPTIONAL INPUTS:
none
OUTPUTS:
cp : a structure of strings, containing the default parameters
OPTIONAL OUTPUTS:
none
CALLS: ***
anytim [1], anytim [2], anytim [3], anytim [4], anytim [5]
CALLED BY:
CP_CAT, cp_catwidget
COMMON BLOCKS:
none
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Assigns values to the structure "CP" and returns this structure.
MODIFICATION HISTORY:
July 1993 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CP_CATTIME
PURPOSE:
Verify that the user' input times are within CP observation times
CATEGORY:
CP Catalog
CALLING SEQUENCE:
CPCKECKTIME, TIME=TIME, CP=CP, CAS=CAS
CALLED BY:
CP_CATWIDGET, CP_CATREAD
CALLS TO:
none
INPUTS:
TIME : The time in form dd-mon-yy hh:mm
CP : The structure of cp information
CAS : The case of verification:
0 means verifing a start time
1 means verifing an end time
OPTIONAL INPUTS:
none
OUTPUTS:
CP.STIME or CP.ETIME may be modified
OPTIONAL OUTPUTS:
none
CALLS: ***
anytim [1], anytim [2], anytim [3], anytim [4], anytim [5]
CALLED BY:
CP_CATREAD, cp_catwidget
COMMON BLOCKS:
none
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Take input time convert to seconds, check against appropriate
CP observation boundary. Change CP.STIME and CP.ETIME if needed.
MODIFICATION HISTORY:
Nov 93 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
PURPOSE:
CATEGORY:
CALLING SEQUENCE:
CALLED BY:
CALLS TO:
none
INPUTS:
none explicit, only through commons;
OPTIONAL INPUTS:
none
OUTPUTS:
none explicit, only through commons;
OPTIONAL OUTPUTS:
none
CALLS: ***
ATIME [1], ATIME [2], CPCAT_EVENT, CP_CATHELP, CP_CATREAD, CP_CATRESET, CP_CATTIME
PARSE_ATIME [1], TWIDGET, UT_2_YYDOY [1], XFONT, XMANAGER, XPDMENU, XREGISTERED
YYDOY_2_UT, anytim [1], anytim [2], anytim [3], anytim [4], anytim [5]
parse_atime [2], ut_2_yydoy [2]
CALLED BY:
CP_CAT
COMMON BLOCKS:
none
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
none
MODIFICATION HISTORY:
[Previous]
[Next]
NAME:
CP_EVENT
PURPOSE:
The event handler for main CP option menu widget
CATEGORY:
CP display
CALLING SEQUENCE:
CP_EVENT, EVENT
CALLED BY:
CP.PRO
CALLS TO:
WINUP, ACKNOWLEDGE, CPONE, CPMOVIE
INPUTS:
EV : the event structure, variable depending on type of item clicked
also, values in commons
OPTIONAL INPUTS:
none
OUTPUTS:
none explicit, only through commons
OPTIONAL OUTPUTS:
none
CALLS: ***
CP [2], CPCOLOR, CPHELP, CPMOVIE, CPONE, WINUP [5], XMANAGER, XPDMENU, XREGISTERED
acknowledge [1], acknowledge [2], acknowledge [3], cp [1], opsys_lgcl [1]
opsys_lgcl [2], winup [1], winup [2], winup [3], winup [4]
CALLED BY:
CP [2], cp [1]
COMMON BLOCKS:
CPCOLORS to set color tables states
CPDISPFILES to pass printer status
CPKEYWORDS for current options conditions
CPNEW_WINDOW for reuse state
CPPROLOCAL for the widget IDs of option buttons
CPWIDGBASES for the widget IDs of parents and informational
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Process the events from the main options menu widget. Continue
recieving events until "QUIT" is clicked, thus sending
return control to calling routine. Or until "Display one image" or
"Show a movie" are selected. Each of these will call the appropriate
routines to contine processing.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
MAR 93 - removed unneccessary comments window, from main widget.
- added handlers for radial and azmuthal scans
[Previous]
[Next]
NAME:
CPCOLOR
PURPOSE:
Creates arrays for CP black and white and CP differcence color tables
CATEGORY:
CP display
CALLING SEQUENCE:
CPCOLOR, DIFF_R=DIFF_R, DIFF_G=DIFF_G, DIFF_B=DIFF_B, $
NORM_R=NORM_R, NORM_G=NORM_G, NORM_B=NORM_B
CALLED BY:
CP.PRO
CALLS TO:
none
INPUTS:
none
OPTIONAL INPUTS:
none
OUTPUTS:
DIFF_R = red color array for difference images
DIFF_G = green array for difference images
DIFF_B = blue array for difference images
NORM_R = red color array for normal (not difference) images
NORM_G = green color array for normal (not difference) images
NORM_B = blue color array for normal (not difference) images
OPTIONAL OUTPUTS:
none
CALLED BY:
CP [2], CP_EVENT, cp [1]
COMMON BLOCKS:
CPLASTPASS for values need to reconstruct scale data
SIDE EFFECTS:
Temporarily creates a small IDL window. Users will see it "blip"
on the screen. Necessary to obtain a corrrect value in !D.N_COLORS.
RESTRICTIONS:
Must have X window system graphic device.
PROCEDURE:
Create color array of size !D.N_COLORS. For normal (not difference)
images, the color table is linear black to white, with cyan, red
and white at the top index. For difference images the
color table goes from blue to black (mid point
index) to red to yellow, with black at lowest index and
3 indexes of white at top.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
Apr 93 - modified color table
[Previous]
[Next]
NAME:
CPCOMPOSITE
PURPOSE:
Display 4 CP images in one window to shown a full corona picture
CATEGORY:
CP Display
CALLING SEQUENCE:
CPCOMPOSITE, COMPO_FILE
CALLED BY:
CPONE
CALLS TO:
none
INPUTS:
COMPO_FILE string array containing the filenames to be composite
OPTIONAL INPUTS:
none
OUTPUTS:
none
OPTIONAL OUTPUTS:
none
CALLS: ***
CPDISK, CPSUNCEN, PSPLOT [1], PSPLOT [2], WINUP [5], winup [1], winup [2], winup [3]
winup [4]
CALLED BY:
CPONE, CPONE_EV
COMMON BLOCKS:
CPCOLORS to load color tables
CPNEW_WINDOW for window display variables
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Size each image to be one of the quadrents, place according to
each image's sun center.
MODIFICATION HISTORY:
Feb 94 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CPCURSOR
PURPOSE:
Draw users requested R and theta
CATEGORY:
CPDISPLAY
CALLING SEQUENCE:
CPCURSOR, XCUR=XCUR, YCUR=YCUR, SC_SIZ=SC_SIZ, SIN_MOV=SIN_MOV, $
RULECONDITION=RULECONDITION, RULETIMES=RULETIMES, $
RADIUS=RADIUS, THETA=THETA, RD=R, $
RADIALMAX=RADIALMAX, COLO=COLO, ROLL=ROLL, $
xcenter=xcenter, ycenter=ycenter, housekp=housekp
CALLED BY:
CPSUNCEN
CALLS TO:
CPGET_R_T, CPSCANS
INPUTS:
DATA : the image array
SC_SIZ : radius of area to be marked as suncenter (pixels)
an arbitrary number large enough for cursor click termination
SIN_MOV : 0 means current display mode is for single images
1 means current display mode is for movies
RULECONDITION : 0 means draw ruler s/c thru R/theta
1 means mark R/theta click w/ circle
2 means don't draw ruler or mark
3 means plot radial scan
4 means plot azmuthal scan
RULETIMES : 0 will never be set if this routine is called
1 means pick 1 R/theta
2 means pick multiple R/theta
3 means enter R/theta
4 means use r/theta already in memory
RADIUS : radius array for solar disk
THETA : array of all degree in a circle (360) convert to radians
R : the sun's radius in pixel, (and a terrible variable name)
RADIALMAX : the largest radial extent for this image
COLO : -1 means no hard copy allowed
0 means hard copy device is B/W
1 means hard copy device is color
ROLL : the angle of solar north in radians, from "+x" axis
XCENTER : the x-axis coordinate of sun center (in pixels)
YCENTER : the y-axis coordinate of sun center (in pixels)
OPTIONAL INPUTS:
none
OUTPUTS:
none
OPTIONAL OUTPUTS:
none
CALLS: ***
CPGET_R_T, CPSCANS, CPSUNCEN, CPSUNCEN_EV, CPTVCOPY, PSPLOT [1], PSPLOT [2], XMANAGER
CALLED BY:
CPGET_R_T, CPONE, CPONE_EV, CPSUNCEN, CPSUNCEN_EV, CPTVCOPY
COMMON BLOCKS:
CPLASTPASS to initial array for radial or azmuthal scans
CPUSERINP for user selected values of r and theta
CPWIDGBASES for the widget IDs of the informational windows
SIDE EFFECTS:
Common block values in CPLASTPASS are modified.
RESTRICTIONS:
none
PROCEDURE:
Gets user input cursor click and turns it into R and theta.
Draw over top of the already displayed image R/Theta using option
requested by the user.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
Mar 93 - moved initial request for R and theta (xcur and ycur) to
this routine from CPSUNCEN. Also moved XCUR and YCUR
to common block CPUSERINP
remove the now obsolete common block CPRULE.COMMON
added call to CPSCANS, to get radial or azmuthal scans values
[Previous]
[Next]
NAME:
CPDIFF
PURPOSE:
Scale the difference images to align with the difference color table.
CATEGORY:
CP diplay
CALLING SEQUENCE:
CPDIFF, DATA=DATA, POSFAC=POSFAC, NEGFAC=NEGFAC
CALLED BY:
CPDISPLAY
CALLS TO:
none
INPUTS:
DATA : Array of size equal to CP image. Array values
range from -255 to +255.
OPTIONAL INPUTS:
none
OUTPUTS:
DATA : Array of size equal to CP image. Array values
range from 1 to the value of !D.N_COLORS-3
POSFAC : image red color scale factor
NEGFAC : image blue color scale factor
OPTIONAL OUTPUTS:
none
CALLS: ***
CPDISK, CPDISPLAY, CPHOUSE, CPSUNCEN, CPTV, PSPLOT [1], PSPLOT [2], RESPOND_WIDG
WINUP [5], XINTERANIMATE, winup [1], winup [2], winup [3], winup [4]
CALLED BY:
CPDISPLAY, CPMOVIE, CPMOVIE_DO, CPMOVIE_EV, CPTV
COMMON BLOCKS:
CPLASTPASS for color table scale information
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Align data array values to match the difference color table and
the users (or default) values for scaling the negative and positive
values resulting from the image subtraction.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME: CPDISK
PURPOSE:
Read in a CP data file with housekeeping information and image
CATEGORY:
CP display
CALLING SEQUENCE:
CPDISK, DATA=DATA, HK=HOUSKEEP, FILE=FILENAME, OK=OK, $
IMSIZ=IMSIZ, SIN_MOV=SIN_MOV
CALLED BY:
CPDISPLAY
CALLS TO:
none
INPUTS:
FILENAME = Filename of CP data file to be read.
SIN_MOV = 0 means current display mode is for single images
1 means current display mode is for movies
OPTIONAL INPUTS:
none
OUTPUTS:
DATA = Byte array of size equal to CP image in pixels.
HK = Byte array of size equal to one dimension of image array.
Contain CP housekeeping information, padded with zeroes
OK = 0 means failed to successfully read the input file
1 means successfully read the input file
IMSIZ = Size of one dimension of CP image, CP images are square.
OPTIONAL OUTPUTS:
none
CALLED BY:
CPCOMPOSITE, CPDIFF, CPDISPLAY, CPMOVIE, CPMOVIE_DO, CPMOVIE_EV, CPTV
COMMON BLOCKS:
CPWIDGBASES for widget IDs of informational output widgets.
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Locate and open direct access data file. The total size in bytes,
minus the header, squared is the size of the CP image in pixels.
A VMS record length in multiples of 512 was tested for CPTAPE.PRO,
but not implemented. Code for that option remains in these routine.
MODIFICATION HISORY:
1991 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CPDISPLAY
PURPOSE:
Setup image for display
CATEGORY:
CP display
CALLING SEQUENCE:
CPDISPLAY, NORM_DIFF=NORM_DIFF, DONORTH=DONORTH, $
DODISK=DODISK, DORADII=DORADII, DORADIAL=DORADIAL, $
RULETIMES=RULETIMES, RULECONDITION=RULECONDITION, $
POSFAC=POSFAC, NEGFAC=NEGFAC, SIN_MOV=SIN_MOV, $
PROCESSED=PROCESSED, SAVEME=SAVEME, WMOVIE=W, $
NFILES=NFILES, OK=OK
CALLED BY:
CPONE, CPMOVIE
CALLS TO:
CPDISK, CPDIFF, WINUP, CPTV
INPUTS:
NORM_DIFF : 0 means do a normal image
1 means do a difference image
DONORTH : just passing through, on it's way to CPTV
DODISK : just passing through, on it's way to CPTV
DORADII : just passing through, on it's way to CPTV
DORADIAL : just passing through, on it's way to CPTV
RULETIMES : just passing through, on it's way to CPTV
RULECONDITION : just passing through, on it's way to CPTV
POSFAC : just passing through, on it's way to CPDIFF
NEGFAC : just passing through, on it's way to CPDIFF
SIN_MOV : 0 means current display mode is for single images
1 means current display mode is for movies
PROCESSED : just passing through, on it's way to CPTV
SAVEME : just passing through, on it's way to CPTV
W : just passing through, on it's way to CPTV
NFILES : just passing through, on it's way to CPTV
OPTIONAL INPUTS:
none
OUTPUTS:
OK : 0 means failed to successfully read the input file
1 means successfully read the input file
PROCESSED : just passing through, on it's back to CPMOVIE
OPTIONAL OUTPUTS:
none
CALLS: ***
CPDIFF, CPDISK, CPHOUSE, CPSUNCEN, CPTV, PSPLOT [1], PSPLOT [2], RESPOND_WIDG, WINUP [5]
XINTERANIMATE, winup [1], winup [2], winup [3], winup [4]
CALLED BY:
CPDIFF, CPMOVIE, CPMOVIE_DO, CPMOVIE_EV, CPONE, CPONE_EV, CPTV
COMMON BLOCKS :
CPCOLORS to load color tables
COLORS to change values in R_CURR, G_CURR, B_CURR to desired table
CPDISPFILE for files to read and output device color condition
CPNEW_WINDOW for window display variables
CPWIDGBASES for widget IDs to write out informational messages
SIDE EFFECTS :
Changes values in IDL common block COLORS
RESTRICTIONS:
none
PROCEDURE:
Read in data file(s) and if a difference image do the subtraction.
If the data file is the same as last pass then the file is not reread.
Scale the data to the appropriate color table and load that table.
Call to CPTV to output the CP display.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
MAR 1993 - modified to save data array to common.
modified the CP window manager to be user friendly.
[Previous]
[Next]
NAME:
CPGET_R_T
PURPOSE:
Make widget that will allow use input of R and Theta.
CATEGORY:
CP display
CALLING SEQUENCE:
CPGET_R_T, SIN_MOV=SIN_MOV
CALLED BY:
CPSUNCEN
CALLS TO:
CPSUNCEN_EV (via XMANAGER)
INPUTS:
SIN_MOV : 0 when doing a single image
1 when doing a movie
OPTIONAL INPUTS:
none
OUTPUTS:
none explicit, only through commons
OPTIONAL OUTPUTS:
none
CALLS: ***
CPCURSOR, CPSCANS, CPSUNCEN, CPSUNCEN_EV, CPTVCOPY, PSPLOT [1], PSPLOT [2], XMANAGER
CALLED BY:
CPCURSOR, CPONE, CPONE_EV, CPSUNCEN, CPSUNCEN_EV, CPTVCOPY
COMMON BLOCKS:
CPGET_R_T widget IDs for R and Theta manual input and input status
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Create the widget which will prompt user to input R and Theta values
MODIFICATION HISTORY :
1991 - Elaine Einfalt (HSTX)
Mar 93 - added widget labels values CURRENT_R and CURRENT_T
[Previous]
[Next]
NAME:
CPHELP
PURPOSE:
Provide the user helpful information about the C/P display code
CATEGORY:
C/P display
CALLING SEQUENCE:
CPHELP
CALLED BY:
CP
CALLS TO:
none
INPUTS:
none
OPTIONAL INPUTS:
none
OUTPUTS:
none
OPTIONAL OUTPUTS:
none
CALLS: ***
CPHELP1, CPHELP2, CPHELP3, CPHELP_EV [1], CPHELP_EV [2], XMANAGER, XREGISTERED
CALLED BY:
CP [2], CPHELP_EV [2], CP_EVENT, cp [1]
COMMON BLOCKS:
CPHELPCOM to pass values to event handler
SIDE EFFECTS:
Creates a widget
RESTRICTIONS:
Need to have widget capability
The value passed is the exact wording of the topic as it appears
in the help widget. A change to the wording of the help topic
(when the widget is created - in CPHELP) or to the widget event
handler case value (in CPHELP_EV) or to the case values in CPHELPn
(where n is a number) will require the same changes occur in all 3
locations.
PROCEDURE:
Create a widget and call event handler
MODIFICATION HISTORY:
May 1993 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CPHELP1
PURPOSE:
Return a string array containing the requested help information.
CATEGORY:
CP display
CALLING SEQUENCE:
result = CPHELP(VALUE)
CALLED BY:
CPHELP
CALLS TO:
none
INPUTS:
VALUE : the string value of the help item requested
OPTIONAL INPUTS:
none
OUTPUTS:
Return a string array with help information
OPTIONAL OUTPUTS:
none
CALLED BY:
CPHELP, CPHELP_EV [2]
COMMON BLOCKS:
none
SIDE EFFECTS:
none
RESTRICTIONS:
The value passed is the exact wording of the topic as it appears
in the help widget. A change to the wording of the help topic
(when the widget is created - in CPHELP) or to the widget event
handler case value (in CPHELP_EV) or to the case values in CPHELPn
(where n is a number) will require the same changes occur in all 3
locations.
PROCEDURE:
Return the help information associated with the input value.
MODIFICATION HISTORY:
Oct 93 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CPHELP2
PURPOSE:
Return a string array containing the requested help information.
CATEGORY:
CP display
CALLING SEQUENCE:
result = CPHELP(VALUE)
CALLED BY:
CPHELP
CALLS TO:
none
INPUTS:
VALUE : the string value of the help item requested
OPTIONAL INPUTS:
none
OUTPUTS:
Return a string array with help information
OPTIONAL OUTPUTS:
none
CALLED BY:
CPHELP, CPHELP_EV [2]
COMMON BLOCKS:
none
SIDE EFFECTS:
none
RESTRICTIONS:
The value passed is the exact wording of the topic as it appears
in the help widget. A change to the wording of the help topic
(when the widget is created - in CPHELP) or to the widget event
handler case value (in CPHELP_EV) or to the case values in CPHELPn
(where n is a number) will require the same changes occur in all 3
locations.
PROCEDURE:
Return the help information associated with the input value.
MODIFICATION HISTORY:
Oct 93 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CPHELP3
PURPOSE:
Return a string array containing the requested help information.
CATEGORY:
CP display
CALLING SEQUENCE:
result = CPHELP(VALUE)
CALLED BY:
CPHELP
CALLS TO:
none
INPUTS:
VALUE : the string value of the help item requested
OPTIONAL INPUTS:
none
OUTPUTS:
Return a string array with help information
OPTIONAL OUTPUTS:
none
CALLED BY:
CPHELP, CPHELP_EV [2]
COMMON BLOCKS:
none
SIDE EFFECTS:
none
RESTRICTIONS:
The value passed is the exact wording of the topic as it appears
in the help widget. A change to the wording of the help topic
(when the widget is created - in CPHELP) or to the widget event
handler case value (in CPHELP_EV) or to the case values in CPHELPn
(where n is a number) will require the same changes occur in all 3
locations.
PROCEDURE:
Return the help information associated with the input value.
MODIFICATION HISTORY:
Oct 93 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CPHELP_EV
PURPOSE:
Event handler for the CP catalog search program help interface.
CATEGORY:
CP Catalog
CALLING SEQUENCE:
XMANAGER, 'CPCATHELP', base, event_handler='CPHELP_EV', group=group
CALLED BY:
CP_CATHELP, through the XMANAGER
CALLS TO:
none
INPUTS:
none
OPTIONAL INPUTS:
none
OUTPUTS:
none
OPTIONAL OUTPUTS:
none
CALLS: ***
CP_CATHELP, XMANAGER, XREGISTERED
CALLED BY:
CPHELP, CP_CATHELP
COMMON BLOCKS:
none
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Display the help infromation about the topic the user clicked on.
MODIFICATION HISTORY:
NOV 93 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CPHELP_EV
PURPOSE:
The event handler for CPHELP
CATEGORY:
C/P display
CALLING SEQUENCE:
through XMANAGER
CALLED BY:
CPHELP (through XMANAGER)
CALLS TO:
CPHELP1, CPHELP2, CPHELP3
INPUTS:
none
OPTIONAL INPUTS:
none
OUTPUTS:
none
OPTIONAL OUTPUTS:
none
CALLS: ***
CPHELP, CPHELP1, CPHELP2, CPHELP3, XMANAGER, XREGISTERED
CALLED BY:
CPHELP, CP_CATHELP
COMMON BLOCKS:
CPHELPCOM to pass values to event handler
SIDE EFFECTS:
none
RESTRICTIONS:
The value passed is the exact wording of the topic as it appears
in the help widget. A change to the wording of the help topic
(when the widget is created - in CPHELP) or to the widget event
handler case value (in CPHELP_EV) or to the case values in CPHELPn
(where n is a number) will require the same changes occur in all 3
locations.
PROCEDURE:
Handle events as input and output text about the selected topic.
MODIFICATION HISTORY:
May 1993 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CPHOUSE
PURPOSE:
Output housekeeping information.
CATEGORY:
CP diplay
CALLING SEQUENCE:
pro cphouse, hk=hk, ntime=ntime, colo=colo
CALLED BY:
CPTV, CPMOVIE
CALLS TO:
none
INPUTS:
HK : Array of size (224 x N) where N is 1 for single images
and 2 for difference images. Contains the housekeeping
information for the current image(s)
NTIME : 0 means display the house keeping for the normal image
or base image of a difference display
1 means use the subtraction image values in HK
COLO : -1 means no hard copy allowed
0 means hard copy device is B/W
1 means hard copy device is color
OPTIONAL INPUTS:
none
OUTPUTS:
none
OPTIONAL OUTPUTS:
none
CALLED BY:
CPDIFF, CPDISPLAY, CPMOVIE, CPMOVIE_DO, CPMOVIE_EV, CPTV
COMMON BLOCKS:
none
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Writes the house keeping information to the output device.
If a difference image, the base image house keeeping is on the
left and the subtraction image house keeping is written on the right.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CPMOVIE
PURPOSE:
Create the movie menu widget
CATEGORY:
CP display
CALLING SEQUENCE:
CPMOVIE, GROUP_LEADER=GROUP
CALLED BY:
CP.PRO
CALLS TO:
ACKNOWLEDGE, XPDMENU, XMENU, CPMOVIE_EV (via XMANAGER)
INPUTS:
GROUP : The widget ID of the parent widget.
also, values in commons
OPTIONAL INPUTS:
none
OUTPUTS:
none explicit, only through commons
OPTIONAL OUTPUTS:
none
CALLS: ***
CPDIFF, CPDISK, CPDISPLAY, CPHOUSE, CPMOVIE_DO, CPMOVIE_EV, CPSUNCEN, CPTV, PSPLOT [1]
PSPLOT [2], RESPOND_WIDG, WINUP [5], XINTERANIMATE, XLOADCT [1], XLOADCT [2]
XLOADCT [3], XMANAGER, XMENU [1], XMENU [2], XPALETTE, XPDMENU, XREGISTERED
acknowledge [1], acknowledge [2], acknowledge [3], winup [1], winup [2], winup [3]
winup [4]
CALLED BY:
CP [2], CPMOVIE_DO, CPMOVIE_EV, CP_EVENT, cp [1]
COMMON BLOCKS:
CPMOV_DIR for widget ID of save buttons
CPLOGIC_ENVRON for location of data
CPMOVIDISPLAY for movie filenames, etc.
CPKEYWORDS for current options conditions
CPWIDGBASES for the widget IDs of parents and informational
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Create the movie menu widget and populate the list widgets
with subdirectories of CP data.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
[Previous]
[Next]
=================================================================
Filename CPMOVIE.PRO - includes CPMOVIE_DO, CPMOVIE_EV, CPMOVIE
=================================================================
NAME:
CPMOVIE_DO
PURPOSE:
Use XINTERANIMATE to create the movie.
CATEGORY:
CP display
CALLING SEQUENCE:
CPMOVIE_DO, GROUP_LEADER=GROUP
CALLED BY:
CPMOVIE_EV, CPSUNCEN, CPDISPLAY
CALLS TO:
CPMOVIE_EV (via XMANAGER)
INPUTS:
GROUP : The widget ID of the parent widget.
also, values in commons
OPTIONAL INPUTS:
none
OUTPUTS:
none explicit, only through commons
OPTIONAL OUTPUTS:
none
CALLS: ***
CPDIFF, CPDISK, CPDISPLAY, CPHOUSE, CPMOVIE, CPMOVIE_EV, CPSUNCEN, CPTV, PSPLOT [1]
PSPLOT [2], RESPOND_WIDG, WINUP [5], XINTERANIMATE, XLOADCT [1], XLOADCT [2]
XLOADCT [3], XMANAGER, XMENU [1], XMENU [2], XPALETTE, XPDMENU, XREGISTERED
acknowledge [1], acknowledge [2], acknowledge [3], winup [1], winup [2], winup [3]
winup [4]
CALLED BY:
CPMOVIE, CPMOVIE_EV
COMMON BLOCKS:
CPMOV_DIR for widget ID of save buttons
CPDISPFILES to pass current frame filename
CPKEYWORDS for current options conditions
CPLASTPASS for access to scans memory
CPMOVIDISPLAY for movie filenames, etc.
CPMOVIETIME for saving a moving
CPWIDGBASES for the widget IDs of parents and informational
SIDE EFFECTS:
If SAVEME is set then a file is created.
RESTRICTIONS:
none
PROCEDURE:
Display movie frames either from a saved movie or a just selected
list of data files. A movie file may be saved. And a bunch of
testing is done with the selected files to determine what is valid.
In general, this routine is a royal pain.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
oct 1993 - e. einfalt - replaced CPINTERANIMATE with XINTERANIMATE
[Previous]
[Next]
NAME:
CPMOVIE_EV
PURPOSE:
The event handler for movie menu widget
CATEGORY:
CP display
CALLING SEQUENCE:
CPMOVIE_EV, EV
CALLED BY:
CPMOVIE (via XMANAGER), CPMOVIE_DO
CALLS TO:
XLOADCT, XPALETTE
INPUT:
EV: the event structure, variable depending on type of item selected
also, values in commons
OPTIONAL INPUTS:
none
OUTPUTS:
none explicit, only through commons
OPTIONAL OUTPUTS:
none
CALLS: ***
CPDIFF, CPDISK, CPDISPLAY, CPHOUSE, CPMOVIE, CPMOVIE_DO, CPSUNCEN, CPTV, PSPLOT [1]
PSPLOT [2], RESPOND_WIDG, WINUP [5], XINTERANIMATE, XLOADCT [1], XLOADCT [2]
XLOADCT [3], XMANAGER, XMENU [1], XMENU [2], XPALETTE, XPDMENU, XREGISTERED
acknowledge [1], acknowledge [2], acknowledge [3], winup [1], winup [2], winup [3]
winup [4]
CALLED BY:
CPMOVIE, CPMOVIE_DO
COMMON BLOCKS:
COLORS to change R_CURR, G_CURR, B_CURR to desired table
CPCOLORS to load CP color tables
CPMOV_DIR for widget ID for filename list(s)
CPKEYWORDS for current options conditions
CPMOVIDISPLAY for movie filenames, etc.
CPMOVIETIME for saving a moving
CPWIDGBASES for the widget IDs of parents and informational widgets
SIDE EFFECTS:
Changes may be may to the current color table.
RESTRICTIONS:
none
PROCEDURE:
Process the events from the movie menu widget. Continue recieving
events until "Ready" is clicked, thus sending control to CPMOVIE_DO.
Or until "Cancel" is click, returning control to the main options menu.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CPONE
PURPOSE:
Create the single image menu widget
CATEGORY:
CP display
CALLING SEQUENCE:
CPONE, GROUP_LEADER=GROUP
CALLED BY:
CP.PRO
CALLS TO:
ACKNOWLEDGE, XPDMENU, CPONE_EV (via XMANAGER)
INPUTS:
GROUP : The widget ID of the parent widget.
also, values in commons
OPTIONAL INPUTS:
none
OUTPUTS:
none explicit, only through commons
OPTIONAL OUTPUTS:
none
CALLS: ***
CPCOMPOSITE, CPCURSOR, CPDISPLAY, CPGET_R_T, CPONE_EV, CPSCANS, CPSUNCEN, CPSUNCEN_EV
CPTVCOPY, CPZOOM, PSPLOT [1], PSPLOT [2], XLOADCT [1], XLOADCT [2], XLOADCT [3]
XMANAGER, XPALETTE, XPDMENU, XREGISTERED, acknowledge [1], acknowledge [2]
acknowledge [3]
CALLED BY:
CP [2], CPONE_EV, CP_EVENT, cp [1]
COMMON BLOCKS:
CPONE_DIR for widget ID for filename list(s)
CPDISPFILES to pass current frame filename
CPKEYWORDS for current options conditions
CPLOGIC_ENVRON for location of data
CPWIDGBASES for the widget IDs of parents and informational
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Create the single image menu widget and populate the list widgets
with subdirectories of CP data.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
Apr 93 - Removed the ready button requirement, file selection iniates
processing and redisplay will do it again.
[Previous]
[Next]
=================================================================
filename CPONE.PRO - includes CPONE_EV, CPONE
=================================================================
NAME:
CPONE_EV
PURPOSE:
The event handler for single image menu widget.
CATEGORY:
CP diplay
CALLING SEQUENCE:
CPONE_EV, EV
CALLED BY:
CPONE (via XMANAGER)
CALLS TO:
CPTVCOPY, XLOADCT, XPALETTE, CPDISPLAY, CPCOMPOSITE
INPUTS:
EV: the event structure, variable depending on type of item clicked
also, values in commons
OPTIONAL INPUTS:
none
OUTPUTS:
none explicit, only through commons
OPTIONAL OUTPUTS:
none
CALLS: ***
CPCOMPOSITE, CPCURSOR, CPDISPLAY, CPGET_R_T, CPONE, CPSCANS, CPSUNCEN, CPSUNCEN_EV
CPTVCOPY, CPZOOM, PSPLOT [1], PSPLOT [2], XLOADCT [1], XLOADCT [2], XLOADCT [3]
XMANAGER, XPALETTE, XPDMENU, XREGISTERED, acknowledge [1], acknowledge [2]
acknowledge [3]
CALLED BY:
CPONE
COMMON BLOCKS:
COLORS to change R_CURR, G_CURR, B_CURR to desired table
CPCOLORS to load CP color tables
CPDISPFILES to pass current filename
CPKEYWORDS for current options conditions
CPLASTPASS for file names used last pass
CPONE_DIR for widget ID for filename list(s)
CPWIDGBASES for the widget IDs of informational widgets
SIDE EFFECTS:
Changes may be may to the current color table.
RESTRICTIONS:
none
PROCEDURE:
Process the events from the single image menu widget. Continue
recieving events until "Ready" is clicked, thus calling CPDISPLAY
to output image. Or until "Cancel" is click, returning control to
the main options menu.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
Feb 94 - Einfalt - added composite and zoom features
[Previous]
[Next]
NAME:
CPSCAN
PURPOSE:
Plot a radial or azmuthal scan.
CATEGORY:
CP display
CALLING SEQUENCE:
CPSCANS, RULECONDITION=RULECONDITION, ONERSUN=ONERSUN, $
RCUR=RCUR, TCLICK=TCLICK, XCENTER=XCENTER, YCENTER=YCENTER, $
ROLL=ROLL, MULTI_PLOT=MULTI_PLOT, SIN_MOV=SIN_MOV, $
RADIALMAX=RADIALMAX, LINECOL=LINECOL
CALLED BY:
CPCURSOR
CALLS TO:
WINUP
INPUTS:
RULECONDITION : 3 means plot radial scan
4 means plot azmuthal scan
ONERSUN : the sun's radius in pixels
RCUR : the radius of click in pixels
TCLICK : the theta of click in radians
XCENTER : the x-axis coordinate of sun center
YCENTER : the y-axis coordinate of sun center
ROLL : solar north in degrees from "+x" axis
MULTI_PLOT : the current plot number
SIN_MOV : 0 means current display mode is for single images
1 means current display mode is for movies
RADIALMAX : the largest radial extent for this image
LINECOL : color table index used for plot
OPTIONAL INPUTS:
none
OUTPUTS:
none explicit, only through commons
OPTIONAL OUTPUTS:
none
CALLS: ***
CPSCANS
COMMON BLOCKS:
CPLASTPASS to assing value to scan arrays
CPWIDGBASES for the widget IDs of the informational windows
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Draw radial or azmuthal line on image and save underlying values.
MODIFICATION HISTORY:
APR 93 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CPSUNCEN
PURPOSE:
Draw solar disk, solar north, and radial grid, as requested by user.
CATEGORY:
CP display
CALLING SEQUENCE:
CPSUNCEN, IMSIZ=IMSIZ, HK=HK, DONORTH=DONORTH, DODISK=DODISK, $
DORADII=DORADII, DORADIAL=DORADIAL, COLO=COLO, $
RULETIMES=RULETIMES, RULECONDITION=RULECONDITION, $
SIN_MOV=SIN_MOV, NORM_DIFF=NORM_DIFF, $
XPOS=XPOS, YPOS=YPOS, X_SIZ=X_SIZ, Y_SIZ=Y_SIZ, HOUSEKP=HOUSEKP
CALLED BY:
CPDISPLAY, CPMOVIE
CALLS TO:
CPCURSOR, CPGET_R_T
INPUTS:
DATA : the image array
IMSIZ : the size of the CP image in pixels
HK : Array of size (224 x N) where N is 1 for single images
and 2 for difference images. Contains the housekeeping
information for the current image(s)
DONORTH : 0 means don't draw solar north
1 means do draw solar north on image
DODISK : 0 means don't draw solar disk
1 means do draw solar disk
DORADII : 0 means don't draw radius lines
1 means do draw radius lines
DORADIAL : 0 means don't draw radial lines
1 means do draw radial lines
COLO : -1 means no hard copy allowed
0 means hard copy device is B/W
1 means hard copy device is color
RULETIMES : 0 means don't do pick any R/theta
1 means pick 1 R/theta
2 means pick multiple R/theta
3 means enter R/theta
4 means use r/theta already in memory
RULECONDITION : 0 means draw ruler s/c thru R/theta
1 means mark R/theta click w/ circle
2 means don't draw ruler or mark
3 means plot radial scan
4 means plot azmuthal scan
SIN_MOV : 0 means current display mode is for single images
1 means current display mode is for movies
NORM_DIFF : 0 means do a normal image
1 means do a difference image
XPOS : X direction screen coordinate (device pixels), to place window
YPOS : Y direction screen coordinate (device pixels), to place window
X_SIZ : Image X size
Y_SIZ : Image Y size
HOUSEKP : X direction size reserved for house keeping info.
OPTIONAL INPUTS:
none
OUTPUTS:
none explicit, only through commons
OPTIONAL OUTPUTS:
none
CALLS: ***
CPCURSOR, CPGET_R_T, CPSCANS, CPSUNCEN_EV, CPTVCOPY, PSPLOT [1], PSPLOT [2], XMANAGER
CALLED BY:
CPCOMPOSITE, CPCURSOR, CPDIFF, CPDISPLAY, CPGET_R_T, CPMOVIE, CPMOVIE_DO, CPMOVIE_EV
CPONE, CPONE_EV, CPSUNCEN_EV, CPTV, CPTVCOPY
COMMON BLOCKS:
none
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Convert solar and CP parameters for display over an already existing
CP image. And solar disk, solar north, and radial grid, as
requested by user.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
Mar 93 - removed initial request for user to input R and theta,
first requests are now in CPSUNCEN.PRO. Removed the now
unneeded common blocks CPWIDGBASES.COMMON and CPUSERINP.COMMON
and the now obsolete CPRULE.COMMON.
Apr 93 - modified uses of colors. Remove passing of savpcolor
[Previous]
[Next]
NAME:
CPSUNCEN_EV
PURPOSE :
The event handler for manual R and Theta input widget
CATEGORY:
CP display
CALLING SEQUENCE:
CPSUNCEN_EV, EV
CALLED BY:
CPGET_R_T (via XMANAGER)
CALLS TO:
none
INPUTS:
EV: the event structure, variable depending on type of item selected
also, values in commons
OPTIONAL INPUTS:
none
OUTPUTS:
none explicit, only through commons
OPTIONAL OUTPUTS:
none
CALLS: ***
CPCURSOR, CPGET_R_T, CPSCANS, CPSUNCEN, CPTVCOPY, PSPLOT [1], PSPLOT [2], XMANAGER
CALLED BY:
CPCURSOR, CPGET_R_T, CPONE, CPONE_EV, CPSUNCEN, CPTVCOPY
COMMON BLOCKS:
CPUSERINP for passing xcur and ycur
CPGET_R_T widget IDs for R/Theta manual input and input status
CPWIDGBASES for the widget IDs of informational widgets
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Process events representing user input of R and Theta until the
buttons "Ready" or "Cancel" are clicked. At that point control is
passed to CPCURSOR or back to calling routine.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
Mar 93 - removed call to CPCURSOR
added output of users last enter R and theta to widget
[Previous]
[Next]
===========================================================================
file CPDISPLAY.PRO -- includes routines CPTV, CPDIFF, CPDISPLAY
===========================================================================
NAME:
CPTV
PURPOSE:
Send a single (not movie) image, housekeeping info and
requested drawing option output to screen or printer.
CATEGORY:
CP display
CALLING SEQUENCE:
CPTV, DATA=DATA, HK=HK, XPOS=XPOS, YPOS=YPOS, X_SIZ=X_SIZ,
Y_SIZ=Y_SIZ, XWINSIZ=XWINSIZ, YWINSIZ=YWINSIZ, COLO=COLO, $
IMSIZ=IMSIZ, DONORTH=DONORTH, DODISK=DODISK, $
DORADII=DORADII, DORADIAL=DORADIAL, HOUSEKP=HOUSEKP, $
RULETIMES=RULETIMES, RULECONDITION=RULECONDITION, $
SIN_MOV=SIN_MOV, NORM_DIFF=NORM_DIFF, PROCESSED=PROCESSED, $
FILENAME=FILENAME, DIFFNAME1=DIFFNAME1, DIFFNAME2=DIFFNAME2, $
SAVEME=SAVEME, WMOVIE=W, NFILES=NFILES
CALLED BY:
CPDISPLAY
CALLS TO:
CPHOUSE, CPSUNCEN, PSPLOT, RESPOND_WIDG
INPUTS:
DATA : Byte array of size equal to CP image.
HK : Array of size (224 x N) where N is 1 for single images
and 2 for difference images. Contains the housekeeping
information for the current image(s)
XPOS : X direction screen coordinate (device pixels), to place window
YPOS : Y direction screen coordinate (device pixels), to place window
X_SIZ : Image X size
Y_SIZ : Image Y size
XWINSIZ : X direction width of window w/ housekeeping
YWINSIZ : Y direction width of window
COLO : -1 means no hard copy allowed
0 means hard copy device is B/W
1 means hard copy device is color
IMSIZ : Size of one dimension of CP image, CP images are square.
DONORTH : 0 means don't draw solar north
1 means do draw solar north on image
DODISK : 0 means don't draw solar disk
1 means do draw solar disk
DORADII : 0 means don't draw radius lines
1 means do draw radius lines
DORADIAL : 0 means don't draw radial lines
1 means do draw radial lines
HOUSEKP : X direction size reserved for house keeping information
RULETIMES : 0 means don't do pick any R/theta
1 means pick 1 R/theta
2 means pick multiple R/theta
3 means enter R/theta
4 means use r/theta already in memory
RULECONDITION : 0 means draw ruler s/c thru R/theta
1 means mark R/theta click w/ circle
2 means don't draw ruler or mark
SIN_MOV : 0 means current display mode is for single images
1 means current display mode is for movies
NORM_DIFF : 0 means do a normal image
1 means do a difference image
PROCESSED : for movies a number indicating the current movie frame
FILENAME : string filename normal images
DIFFNAME1 : string filename for base image
DIFFNAME2 : string filename for subtraction image
SAVEME : for movies 0 means don't save movie to a file
1 means do save movie to a file
W : associated record array for file output
NFILES : for movies the number of frames in movie
OPTIONAL INPUTS:
none
OUTPUTS:
PROCESSED : for movies a number indicating the next movie frame
OPTIONAL OUTPUTS:
none
CALLS: ***
CPDIFF, CPDISK, CPDISPLAY, CPHOUSE, CPSUNCEN, PSPLOT [1], PSPLOT [2], RESPOND_WIDG
WINUP [5], XINTERANIMATE, winup [1], winup [2], winup [3], winup [4]
CALLED BY:
CPDIFF, CPDISPLAY, CPMOVIE, CPMOVIE_DO, CPMOVIE_EV
COMMON BLOCKS:
CPLASTPASS for plot scan values
CPNEW_WINDOW for parameters relating to a new window
CPWIDGBASES for the widget IDs of the informational windows
SIDE EFFECTS:
If hardcopy is set, creates postscript fiiles.
If SAVEME is set then creates a file containing the images and
housekeeping information of a movie.
If doing radial or azmuthal scans, a window is created.
RESTRICTIONS:
none
PROCEDURE:
Output image to selected device and call CPSUNCEN to draw line options.
If doing radial or azmuthal scans, they are plotted now.
For movies to be saved write necessary arrays to an already opened file.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
Oct 1993 - replaced call to cpinteranimate with XINTERANIMATE
[Previous]
[Next]
============================================================================
file CPSUNCEN.PRO - includes CPTVCOPY, CPCURSOR, CPGET_R_T,
CPSUNCEN_EV, CPSUNCEN
============================================================================
NAME:
CPTVCOPY
PURPOSE:
Output current window to selected printer
CATEGORY:
CP display
CALLING SEQUENCE:
CPTVCOPY, COLO=COLO, NORM_DIFF=NORM_DIFF
CALLED BY:
CPONE
CALLS TO:
PSPLOT
INPUTS:
COLO : -1 means no hard copy allowed
0 means hard copy device is B/W
1 means hard copy device is color
NORM_DIFF : 0 means do a normal image
1 means do a difference image
OPTIONAL INPUTS:
none
OUTPUTS:
none
OPTIONAL OUTPUTS:
none
CALLS: ***
CPCURSOR, CPGET_R_T, CPSCANS, CPSUNCEN, CPSUNCEN_EV, PSPLOT [1], PSPLOT [2], XMANAGER
CALLED BY:
CPCURSOR, CPGET_R_T, CPONE, CPONE_EV, CPSUNCEN, CPSUNCEN_EV
COMMON BLOCKS:
CPWIDGBASES for the widget IDs of the informational windows.
SIDE EFFECTS:
Prints a file.
RESTRICTIONS:
none
PROCEDURE:
Read (TVRD) a window into an array and print it to the selected device.
MODIFICATION HISTORY:
1991 - Elaine Einfalt (HSTX)
[Previous]
[Next]
NAME:
CPZOOM
PURPOSE:
Create a widget with two draw windows. A larger window for normal
size image and smaller window for zoomed image.
CATEGORY:
Any image display
CALLING SEQUENCE:
CPZOOM, IMAGE, [NORM_SIZE=NORM_SIZE, MAG_SIZE=MAG_SIZE, $
TITLE=TITLE, ERASE=ERASE, INTERP=INTERP, GROUP=GROUP]
CALLED BY:
CALLS TO:
CPZOOM_EV through the XMANAGER
INPUTS:
IMAGE The 2-D array containing the data values
OPTIONAL INPUTS:
NORM_SIZE 2 element vector giving the suggested size for the
normal image window. (Widgets may ignore you.)
The image array is allowed to be larger than this
window. By default, the window size will be the
size of the image.
MAG_SIZE 2 element vector giving the suggested size for the
scrolling zoom window, in device units. (Widgets
may ignore you.) By default, the window size will
be the size 3/4ths of the image.
TITLE string (or string array) to be the zoom interface
title (only the first element) and the text printed
with hardcopies.
ERASE 0 means don't erase betw. scrolls (edges are messy)
1 means erase betw. scrolls (mag win blinks at you)
Defaults to 0.
INTERP 0 mean pixel replication, 1 means bilinear interp.
Defaults to 0.
GROUP The widget ID of a parent widget
OUTPUTS:
none explicit only through widget's base set_uvalue
OPTIONAL OUTPUTS:
none
CALLS: ***
CONGRID [1], CONGRID [2], CONGRID [3], CPZOOMIT, CPZOOM_EV, PSPLOT [1], PSPLOT [2]
XMANAGER, XPDMENU, ZOOMPRNT
CALLED BY:
CPONE, CPONE_EV, CPZOOMIT, CPZOOM_EV, ZOOMPRNT
COMMON BLOCKS:
COMMON ZOOMMAG, NORMIMG, MAGIMG ; original and mag image
SIDE EFFECTS:
Creates two windows.
RESTRICTIONS:
Widgets are required.
PROCEDURE:
Create a widget interface with 2 draw windows and control buttons.
EXAMPLE:
cpzoom, bindgen(512,512), norm_size=[400,400], mag_size=[300,300], $
title='Scrolling Zoom', erase=0, interp=1
MODIFICATION HISTORY:
[Previous]
[Next]
NAME:
CPZOOM_EV
PURPOSE:
Handles events from the zoom widget interface
CATEGORY:
widget display
CALLING SEQUENCE:
xmanager, 'CPZOOM', base, event_handler='zoom_ev', group=group
CALLED BY:
CPZOOM through the XMANAGER
CALLS TO:
none
INPUTS:
By way of a structured stored in the UVALUE of the main base.
zoom = {zoomit, $
erase:erase, $ ; erase between mag scrolls
fact:1, $ ; zoom by this much
interp:interp, $ ; bilinear interp or not
last_x:last_x, $ ; remember last cursor place
last_y:last_y, $ ; remember last cursor place
nx:siz(1), $ ; original image X size
ny:siz(2), $ ; original image Y size
done:1, $ ; moving zoom mode on or off
draw1:draw1, $ ; index of normal window
draw2:draw2, $ ; index of magni. window
xcoor_id:xcoor_id, $ ; widget ID of X pos. label
ycoor_id:ycoor_id, $ ; widget ID of Y pos. label
mag_lab_1:mag_lab_1, $ ; widget ID of mag. win. label
mag_lab_2:mag_lab_2} ; widget ID of mag. win. label
OPTIONAL INPUTS:
none
OUTPUTS:
none
OPTIONAL OUTPUTS:
none
CALLS: ***
CONGRID [1], CONGRID [2], CONGRID [3], CPZOOM, CPZOOMIT, PSPLOT [1], PSPLOT [2]
XMANAGER, XPDMENU, ZOOMPRNT
CALLED BY:
CPZOOM, CPZOOMIT, ZOOMPRNT
COMMON BLOCKS:
COMMON ZOOMMAG, NORMIMG, MAGIMG ; original and mag image
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Process events from the widget_zoom interface and manipulate the
magnification image accordingly.
MODIFICATION HISTORY:
[Previous]
[Next]
NAME:
CPZOOMIT
PURPOSE:
Display part of an image (or graphics) from the current window
enlarged in another window, which is a preexisting draw widget.
The cursor is used to mark the center of the zoom.
CATEGORY:
Image display.
CALLING SEQUENCE:
CPZOOMIT, ZOOM
INPUTS:
By way of a structured stored in the UVALUE of the main base.
zoom = {zoomit, $
erase:erase, $ ; erase between mag scrolls
fact:1, $ ; zoom by this much
interp:interp, $ ; bilinear interp or not
last_x:last_x, $ ; remember last cursor place
last_y:last_y, $ ; remember last cursor place
nx:siz(1), $ ; original image X size
ny:siz(2), $ ; original image Y size
done:1, $ ; moving zoom mode on or off
draw1:draw1, $ ; index of normal window
draw2:draw2, $ ; index of magni. window
xcoor_id:xcoor_id, $ ; widget ID of X pos. label
ycoor_id:ycoor_id, $ ; widget ID of Y pos. label
mag_lab_1:mag_lab_1, $ ; widget ID of mag. win. label
mag_lab_2:mag_lab_2} ; widget ID of mag. win. label
KEYWORDS:
OUTPUTS:
No explicit outputs.
CALLS: ***
CONGRID [1], CONGRID [2], CONGRID [3], CPZOOM, CPZOOM_EV, PSPLOT [1], PSPLOT [2]
XMANAGER, XPDMENU, ZOOMPRNT
CALLED BY:
CPZOOM, CPZOOM_EV, ZOOMPRNT
COMMON BLOCKS:
COMMON ZOOMMAG, NORMIMG, MAGIMG ; original image and mag
SIDE EFFECTS:
None.
RESTRICTIONS:
ZOOM only works with color systems.
PROCEDURE:
Straightforward.
MODIFICATION HISTORY:
?
William Thompson, March 1992, added common block ZOOM_WINDOW
and KEEP keyword.
D.M. fecit, 2 juillet, 1992. Removed common block and replaced
it with WINDOW keyword. Entire routine
cribbed from userlib/zoom.pro.
Feb 94 - Elaine Einfalt (HSTX) - Mod. to run as a draw widget support
program
[Previous]
[Next]
NAME:
CROSSBAR
PURPOSE:
Overplot a crossbar for the procedures point and zoom_coor.
CATEGORY:
HXRBS.
CALLING SEQUENCE:
CROSSBAR,X,Y
INPUTS:
X: x argument where crossbar is to be plotted.
Y: y argument where crossbar is to be plotted.
OUTPUTS:
Crossbar overplotted on graphics window.
KEYWORDS:
None.
CALLED BY:
MARK_REGION [1], MARK_REGION [2], PEAK_MARK, ZOOM_COOR [1], zoom_coor [2]
RESTRICTIONS:
To get a cross bar of equal height and width requires converting
the coordinates form data to normalized values make a 2 element
array for both x + and - offset and y + and - offset. Convert these
2 arrays back to data coordinate values.
MODIFICATION HISTORY:
Written by: Shelby Kennard
[Previous]
[Next]
Project : SDAC
Name : CROSSCORR
Purpose : This procedure computes a crosscorrelation function between two
time series.
Category : MATH
Explanation :
using the IDL function R=CORRELATE(xx,yy)
R=TOTAL(xx*yy)/SQRT(TOTAL(xx^2)*TOTAL(yy^2))
r0 and r1 are two arrays of equal length
Use : CROSSCORR, R0, R1, CC, II, NPIX
crosscorrelation function CC(R0,R1) with time delay -NPIX<II<NPIX
Inputs : R0 - first time series
R1 - second time series, same length as R0, same time bins
NPIX - half-width of crosscorrelation interval, in bin units of R0
Opt. Inputs : None
Outputs : CC - Crosscorrelation function vs lag.
II - lag in units of bins of R0 and R1
Opt. Outputs: None
Keywords :
Calls : ***
CONGRID [1], CONGRID [2], CONGRID [3], LOADCT, RINTER [1], RINTER [2]
CALLED BY:
RINTER [2]
Common : None
Restrictions:
Side effects: None.
Prev. Hist :
created by M.Aschwanden, March 1995
Modified :
Version 2, RAS, documented added to SDAC tree 6-jan-1997
Version 3, RAS, fixed bugs, 26-mar-1997
[Previous]
[Next]
NAME:
CRYSTAL_RES
PURPOSE:
Function to compute the crystal resolution for HXRBS on a given day
from a table of five days/resolutions.
CATEGORY:
HXRBS
CALLING SEQUENCE:
Result = CRYSTAL_RES(Ut)
INPUTS:
Ut: Time, as accepted by ANYTIM.
OUTPUTS:
Result: Crystal resolution
CALLS: ***
INTERPOL, anytim [1], anytim [2], anytim [3], anytim [4], anytim [5]
MODIFICATION HISTORY:
Richard Schwartz Aug 24, 94
Mod. 05/06/96 by RCJ. Added documentation.