CEDAR Source Code Help

Last modified: Thu Jun 22 09:49:50 2000.


List of Routines


Routine Descriptions

CEDAR

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

 PURPOSE:
	This procedure serves as the entry way to the COS Evaluation
	and Data Archive (CEDAR) functionality.
       A series of button are presented to the user to select the
       desired action.

          DatBase    -> Entry
                     -> Query
                     -> BackUp
          Viewers    -> Science Data
                     -> Memory Dump -> As an Hex Dump
                                    -> As an Image
                     -> ED Diagnostic
          Tools      -> Data Compare
                     -> Special Tools to Spawn to OS
          IDL        -> Prompt/Edit Session
                     -> Save Session
                     -> Restore Session
          Properties
          Help       -> CEDAR Help
                     -> About Cedar
          Quit


 CALLING SEQUENCE:
	CEDAR

 OPTIONAL INPUTS:
 	None

 COMMON BLOCKS:
 	None

 MODIFICATION HISTORY:
 	Written by:	SBeland CU-Boulder/CASA, November 1999

(See cedar.pro)


CEDAR_DBBACKUP

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

 PURPOSE:
	This procedure allows the user to make a backup copy of the 
       whole database (without the data files).  
       The user will be prompted for the name of the file to use
       to save the backup of the DataBase files.

 CALLING SEQUENCE:
	CEDAR_DBBACKUP [, DBNAME=dbname]

 OPTIONAL INPUTS:
 	PARENT:  Widget ID of the group leader for this widget
       DBNAME:  Name of the database to backup. $CEDAR_DB_NAME will
                be backed up if dbname is not specified.

 MODIFICATION HISTORY:
 	Written by:	SBeland CU-Boulder/CASA, June 2000

(See cedar_dbbackup.pro)


CEDAR_DBEDIT

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

 PURPOSE:
	Interactively edit specified fields in a database. 
 EXPLANATION:
	The value of each field is displayed, and the user has the option
	of changing or keeping the value.  Widgets will be used if they
	are available.

 CALLING SEQUENCE:
	cedar_dbedit, list, ITEMS=items, MODAL=modal, VIEW=view, GROUP=group

 INPUTS:
	list - scalar or vector of database entry numbers.  Set list = 0 to 
	interactively add a new entry to a database.  Set list = -1 to edit 
	all entries.

 OPTIONAL INPUTS:
	items - list of items to be edited.  If omitted, all fields can be 
		edited. If a null string, NONE are edited -> View
		values only   

 COMMON BLOCKS:
 	DB_COM -- contains information about the opened database.
  	DBW_C -- contains information intrinsic to this program.

 SIDE EFFECTS:
  	Will update the database files.

 RESTRICTIIONS:
  	Database must be opened for update prior to running
  	this program.  User must be running DBEDIT from an 
  	account that has write privileges to the databases.  

	If one is editing an indexed item, then after all edits are complete,
	DBINDEX will be called to reindex the entire item.    This may
	be time consuming.

	Cannot be used to edit items with multiple values

 EXAMPLE:
	Suppose one had new parallaxes for all stars fainter than 5th magnitude
	in the Yale Bright Star Catalog and wanted to update the PRLAX and
	PRLAX_CODE fields with these new numbers

	IDL> !priv=2			
	IDL> dbopen, 'yale_bs', 1            ;Open catalog for update
	IDL> list = dbfind( 'v>5')     ;Find fainter than 5th magnitude
	IDL> dbedit, list, 'prlax, prlax_code'   ;Manual entry of new values

 PROCEDURE:
	(1) Use the cursor and point to the value you want to edit.   
	(2) Type the new field value over the old field value.
	(3) When you are done changing all of the field values for each entry
	save the entry to the databases by pressing 'SAVE ENTRY TO DATABASES'.
	Here all of the values will be checked to see if they are the correct
	data type.  If a field value is not of the correct data type, it will
	not be saved.  

	Use the buttons "PREV ENTRY" and "NEXT ENTRY" to move between entry 
	numbers.  You must save each entry before going on to another entry in 
	order for your changes to be saved.

	Pressing "RESET THIS ENTRY" will remove any unsaved changes to the 
	current entry.

REVISION HISTORY:
	Adapted from Landsman's DBEDIT
	added widgets,  Melissa Marsh, HSTX, August 1993
	do not need to press return after entering each entry,
			fixed layout problem on SUN,
			Melissa Marsh, HSTX, January 1994
	Only updates the fields which are changed. Joel Offenberg, HSTX, Mar 94
	Corrected test for changed fields  Wayne Landsman  HSTX, Mar 94
	Removed a couple of redundant statements W. Landsman HSTX Jan 96
	Converted to IDL V5.0   W. Landsman   September 1997
       Modified for COS/CEDAR usage (group, /MODAL /VIEW) S. Beland, Dec 1999

(See cedar_dbedit.pro)


CEDAR_DBENTRY

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

 PURPOSE:
	This procedure allows the user to select new files to be added 
	to the COS DataBase.
       The user builds a list of files to be added to the database.
       Once this list is done, the user can then add the files to the 
       database.  If a file is of Science Data type, a FITS file
       will automatically be generated and deposited in the proper
       FITS directory (as defined by the environment variable
       CEDAR_FITS_ROOT).  The other types of files are not converted.
       The different fields defining the database entry for a
       specific file are built from the content of the data file and
       its associated telemetry data.

       A single COMMENT field, specified by the user, will be added to
       each new entry generated by this action (same comment for every
       entries).

 CALLING SEQUENCE:
	CEDAR_DBENTRY [, PARENT=parent]

 OPTIONAL INPUTS:
 	PARENT:  Widget ID of the group leader for this widget

 MODIFICATION HISTORY:
 	Written by:	SBeland CU-Boulder/CASA, November 1999

(See cedar_dbentry.pro)


CEDAR_DBQUERY

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

 PURPOSE:
	This procedure allows the user to query the specified database
       according to search parameters entered by the user in the
       various fields as part of the GUI.
       The QUERY is done according to the IDL dbquery format (which
       is not SQL).
       Currently a maximum of 6 fields can be used for searching
       entries in the database.
       The user can then view the full details of the selected DB
       entry or edit the COMMENT field (only editable field for now).

       The data from the file corresponding to the selected file can
       also be viewed using one of the available Viewers.

       A number of different pre-defined reports can be generated and 
       printed with the results of the Query (TO BE ADDED LATER).

 CALLING SEQUENCE:
	CEDAR_DBQUERY [, PARENT=parent] [,DBNAME=dbname] [,DBPATH=dbpath]

 OPTIONAL INPUTS:
 	PARENT:  Widget ID of the group leader for this widget
       DBNAME:  Name of database (from variable CEDAR_DB_NAME if not specified)
       DBPATH:  Path to database (from variable CEDAR_DB_PATH or ZDBASE if not specified)

 MODIFICATION HISTORY:
 	Written by:	SBeland CU-Boulder/CASA, November 1999

(See cedar_dbquery.pro)


CEDAR_EDITSESSION

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

 PURPOSE:
	This procedure gives the user an IDL prompt and makes all the
	data from the different COMMON blocks available for
	editing/modifing.  

       Any modifications to the COMMON block variables are made at
       the user's own risk (any changes will void the warranty).

       To see a list of the avaolable variables, the user should type 
       HELP at the IDL prompt. 
       The user can return to the current session (with the possibly
       modified data) by typing  .c  at the IDL prompt.

 CALLING SEQUENCE:
	CEDAR_EDITSESSION

 MODIFICATION HISTORY:
 	Written by:	SBeland CU-Boulder/CASA, June 2000

(See cedar_editsession.pro)


CEDAR_PROPERTIES

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

 PURPOSE:
	This procedure allows the user to change the ENVIRONMENT
	variables currently defined and used by CEDAR.  These
	variables are defined in the file "$CEDAR_PATH/cedar.def" and
	are loaded when the program starts.  The user has the option
	of saving any changes made to the variables in the cedar.def
	file so that they become the new defaults at start time.

          CEDAR_PATH             Path to CEDAR's .pro files
          CEDAR_RAW_ROOT         Top directory to RAW DATA files
          CEDAR_ARCH_ROOT        Top directory to ARCHIVED data
          CEDAR_FITS_ROOT        Top directory to FITS files
          CEDAR_RESULTS_PATH     Top directory to modified files
          CEDAR_PREFERENCE_PATH  Top directory to COS reference files
          CEDAR_HELP_PATH        Top directory to CEDAR help files
          CEDAR_DB_NAME          Name of the CEDAR database (cosdb)
          CEDAR_DB_PATH          Top directory to the CEDAR DB files
          CEDAR_FONT             Default font to use
          CEDAR_LOG_FILE         Name of LOG file for CEDAR_DBENTRY
          CEDAR_DB_SILENT        If Yes, no error messages are issued 
                                 during CEDAR_DBENTRY

 CALLING SEQUENCE:
	CEDAR_PROPERTIES [,PARENT=parent]

 OPTIONAL INPUTS:
     Parent:   The Widget ID of the GROUP_LEADER for this widget.

 MODIFICATION HISTORY:
 	Written by:	SBeland CU-Boulder/CASA, November 1999

(See cedar_properties.pro)


CEDAR_RESTORE

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

 PURPOSE:
	This procedure allows the user to restore a previously saved
	session.
       Only the SDI_COMPARE and the SDI_VIEWER (including images,
       gaussfit, lineplots and animation) are restored at this time.

 CALLING SEQUENCE:
	CEDAR_RESTORE [, INFILE=filename]

 OPTIONAL INPUTS:
     INFILE:  Name of the file to restore.

 COMMON Blocks:
      common sdi_compare_state
      common sdi_compare_color
      common sdi_compare_images
      common sdi_viewer_common
      common cos_timetag_data
      common sdi_viewer_gfit_common
      common lineplot_common
      common sdi_viewer_stats_common
      common showtext_common

 MODIFICATION HISTORY:
 	Written by:	SBeland CU-Boulder/CASA, June 2000

(See cedar_restore.pro)


CEDAR_SAVE

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

 PURPOSE:
	This procedure allows the user to save the data and status of
       the current session allowing for restoring it at a later time.

       Only the SDI_COMPARE and the SDI_VIEWER (including images,
       gaussfit, lineplots and animation) are saved at this time.

 CALLING SEQUENCE:
	CEDAR_SAVE [, OUTFILE=filename]

 OPTIONAL INPUTS:
     DBNAME:  Name of the SAVED file.

 COMMON Blocks:
      common sdi_compare_state
      common sdi_compare_color
      common sdi_compare_images
      common sdi_viewer_common
      common cos_timetag_data
      common sdi_viewer_gfit_common
      common lineplot_common
      common sdi_viewer_stats_common
      common showtext_common

 MODIFICATION HISTORY:
 	Written by:	SBeland CU-Boulder/CASA, June 2000

(See cedar_save.pro)


DB_ADDFITS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       DB_ADDFITS
 PURPOSE:
       Add an entry in the database with corresponding field values
       from the FITS file keywords.  
 EXPLANATION:
       The database will get opened by DB_ADDFITS. 

 CALLING SEQUENCE:
       status = DB_ADDFITS('testfile.fits', 'cosdb', /NOINDEX, /SILENT)

 INPUTS:
       filename: full path name of the FITS file to process.
       dbname: name of the database to add an entry

 OPTIONAL INPUT KEYWORDS:
       EXTEN - Extension number of the fits file to process (default 0)
       NOINDEX - If this keyword is supplied and non-zero then DB_ADDFITS will
             *not* create an indexed file.    Useful to save time if
             DB_ADDFITS is to be called several times and the indexed file need
             only be created on the last call

       SILENT  - If the keyword SILENT is set and non-zero, then DB_ADDFITS
             will not print a message when the index files are
             generated or when an entry is skipped because it's
             already in the database
       DUPLICATE - Duplicate entries are allowed.  Will not check to
                   see if entry is already in database.
       CLOBBER - If a DUPLICATE entry is not allowed (default), the
                 new entry will be skipped leaving the current record 
                 unchanged unless this keyword is set to 1 in which
                 case the existing entry will be overwritten.
       COMMENT - If provided will APPEND the supplied text to the
                 existing COMMENT keyword of the fits file.  This is
                 skipped if there is not COMMENT keyword present in
                 the FITS file.

 RETURN VALUE:
       STATUS - Returns a status string denoting whether the operation was
                successful or not.
                 Error: Wrong calling syntax
                 Error: opening DataBase
                 Error: Empty Database definition
                 Error: Program aborted without completing
                 Added to dB succesfully
                 Overwritten a duplicate entry
                 Skipped because of duplicate entry
 

 EXAMPLE:

 NOTES:
       Do not call DBCREATE before DB_ADDFITS if you want to append entries to
       an existing database.

       Only the matching fields and FITS keywords will get entered. 
       The missing fields will remain empty for the entry.

       DB_ADDFITS will convert the datatype for each matching
       field/keyword to the datatype expected in the database when
       possible. Character strings will be truncated to the proper
       length. 
 
 REVISION HISTORY:
       Written   S. Beland     December, 1999

(See db_addfits.pro)


DB_ADDRAW

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       DB_ADDRAW
 PURPOSE:
       Add an entry in the database with corresponding field values
       from the header and telemetry data.  
 EXPLANATION:
       The database will get opened by DB_ADDRAW. 

 CALLING SEQUENCE:
       status = DB_ADDRAW('testfile.fits', 'cosdb', /NOINDEX, /SILENT, COMMENT=comment)

 INPUTS:
       filename: full path name of the file to process.
       dbname: name of the database to add an entry

 OPTIONAL INPUT KEYWORDS:
       NOINDEX - If this keyword is supplied and non-zero then DB_ADDFITS will
             *not* create an indexed file.    Useful to save time if
             DB_ADDFITS is to be called several times and the indexed file need
             only be created on the last call

       SILENT  - If the keyword SILENT is set and non-zero, then DB_ADDFITS
             will not print a message when the index files are
             generated or when an entry is skipped because it's
             already in the database
       DUPLICATE - Duplicate entries are allowed.  Will not check to
                   see if entry is already in database.
       CLOBBER - If a DUPLICATE entry is not allowed (default), the
                 new entry will be skipped leaving the current record 
                 unchanged unless this keyword is set to 1 in which
                 case the existing entry will be overwritten.
       COMMENT - If provided will APPEND the supplied text to the
                 existing COMMENT keyword of the fits file.  This is
                 skipped if there is not COMMENT keyword present in
                 the FITS file.

 RETURN VALUE:
       STATUS - Returns a status string denoting whether the operation was
                successful or not.
                 Error: Wrong calling syntax
                 Error: opening DataBase
                 Error: Empty Database definition
                 Error: Program aborted without completing
                 Added to dB succesfully
                 Overwritten a duplicate entry
                 Skipped because of duplicate entry
 

 NOTES:
       Do not call DBCREATE before DB_ADDRAW if you want to append entries to
       an existing database.

       Only the matching DB fields and data header fields will get entered. 
       The missing fields will remain empty for that entry.

       DB_ADDRAW will convert the datatype for each matching
       field/keyword to the datatype expected in the database when
       possible. Character strings will be truncated to the proper
       length. 
 
 REVISION HISTORY:
       Written   S. Beland     May, 2000

(See db_addraw.pro)


EDD_VIEWER

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

 PURPOSE: Display digital diagnostics info.

 EXPLANATION:
       This program reads in a Diagnostic Data (analog or digital) *.EDD 
       file and the associated *.eud, *.tdf, *.alg and *.sdd files.
       It then displays the information retrieved from the file in a table
       on the screen.  The user can select the format used to display the 
       information as either hexadecimal, decimal or converted using the 
       conversion factors found in the supporting files.
     
       The user can plot a specific item which was sampled during the 
       Diagnostic by selecting a column (or a portion of a cloumn) in 
       the table widget and selecting the "Plot Data" menu option.  
       The plot can then be saved as a Postscript file if desired.

 CALLING SEQUENCE: edd_viewer, filename [, IMG_SEQ=img_seq] [, PARENT=parent]

 INPUTS:
       filename: full path name of the FITS file to process.

 OPTIONAL INPUT KEYWORDS:
       IMG_SEQ - Image sequence number in the file to process.

       PARENT - Widget ID of the parent window, to make edd_viewer disappear 
                if the parent is killed.

 RETURN VALUE:  NONE

 EXAMPLE:  EDD_VIEWER, 'some_diag_data.EDD'

 COMMON BLOCKS:
      COMMON viewers

 REVISION HISTORY:
       1997.07.29     Dina Demara        Initial revision for ACSVU
       2000.02.08     Stephane Beland    Modified for COS

(See edd_viewer.pro)


GEN_FITS

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

 PURPOSE: Transform an data file from SDI format to FITS.

 EXPLANATION:

 CALLING SEQUENCE:
       gen_fits, filename

 INPUTS:
       filename: full path name of the FITS file to process.

 OPTIONAL INPUT KEYWORDS:

 RETURN VALUE:  NONE

 EXAMPLE:  

 COMMON BLOCKS:
      COMMON EUDF_DATA

 REVISION HISTORY:
       1997.03.24     Dina Demara        Initial Release
       2000.05.15     Stephane Beland    Modified for COS

(See gen_fits.pro)


GETSDS

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

 PURPOSE:
       Extract the Science Data from HST Science Data Stream format
       from the supplied file.
       Currently the format supported is ACS.

 CALLING SEQUENCE:
       data = GetSDS( filename, IMG_SEQ=img_seq [, /BYTE  |  /UINT ] )

 INPUTS:
        filename: A string containing the full path of the SDI file.

 INPUT KEYWORD PARAMETERS:
    IMG_SEQ  The image sequence number to extract (starting at 0)
    BYTE  the array returned is a byte array
    UINT  the array returned ia an unsigned integer array
  
       These two are exclusive.  If both are provided, UINT will be
       chosen.
       These keywords will avoid duplicating a potentially large array
       later on by requesting the right type to begin with.

 RETURN VALUE:
    The function returns an array of unsigned integers or bytes.

 MODIFICATION HISTORY:
       Origin - S. Beland  CASA, CU-Boulder Feb. 2000

(See getsds.pro)


GET_ALG_MNEM

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

 PURPOSE: Get a list of mnemonics corresponding to list of 
          addresses for an ANALOG diagnostics dump.

 EXPLANATION: The program looks into a file (cos.alg or acs.alg) for
          the mnemonics and flags corresponding to the provided addresses.

 CALLING SEQUENCE:
       get_alg_mnem, instrument, num_addr, alg_addrs, alg_mnems, alg_flags

 INPUTS:
       instrument:  single character identifyer (J for ACS, L for COS)
       num_addr:    the number of addresses to look for
       alg_addrs:   the addresses to look for (array)

 OPTIONAL INPUT KEYWORDS:
       NONE

 RETURN VALUE:
       alg_mnems: mnemonics corresponding to the addresses (array)
       alg_flags: flags corresponding to the addresses (array)

 EXAMPLE:  

 COMMON BLOCKS:
      COMMON ALG_DATA

 REVISION HISTORY:
      07/30/1997   Dina Demara   BALL/ACS
      02/09/2000   SBeland       CASA/CU-Boulder 
                                 modified to use the environment variable
                                 instead of direct path.

(See get_alg_mnem.pro)


GET_EUD_TDF

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

 PURPOSE: This function loads the eud and tdf data in memory

 EXPLANATION: 

 CALLING SEQUENCE:
       get_eud_tdf, header, EUDF=eudf_r, TDFD=tdfd_r

 INPUTS:
       header: String corresponding to the header for the file.

 OPTIONAL INPUT KEYWORDS:
       NONE

 RETURN VALUE:
       eudf_r: The EUDF data structure for the corresponding
       header/file.
       tdfd_r: The TDF data structure for the corresponding
       header/file.

 EXAMPLE:  
       status = get_eud_rdf(header, EUDF=this_eud, TDFD=this_tdfd)

 COMMON BLOCKS:
      COMMON EUDF_DATA
      COMMON TDFD_DATA

 REVISION HISTORY:
      03/09/2000   SBeland  CASA/CU-Boulder 

(See get_eud_tdf.pro)


GET_HEADER_ITEM

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

 PURPOSE: This function locates and retrieves a science data header
          value from the packed raw header according to the provided
          mnemonic.

 EXPLANATION: 

 CALLING SEQUENCE:
       status = get_header_item(mnem, byte_swap, value, num_vals, header)

 INPUTS:
       mnem: String corresponding to the requested mnemonic.
       byte_swap: Flag indicating if byte_swapping should be applied.
       header: The raw header for this file.

 OPTIONAL INPUT KEYWORDS:
       LAST_ENTRY: If more than one entry is found for the mnemonic,
       the default is to return the first one encountered unless this 
       flag is set in which case the last value found is returned.

 RETURN VALUE:
       value: Variable name where the corresponding value of the
               mnemonic is returned.
       num_vals: The number of values returned

 EXAMPLE:  
       status = get_eud_rdf(header, EUDF=this_eud, TDFD=this_tdfd)

 COMMON BLOCKS:
      COMMON EUDF_DATA
      COMMON TDFD_DATA

 REVISION HISTORY:
      03/09/2000   SBeland  CASA/CU-Boulder 

(See get_header_item.pro)


GET_NUM_IMG

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

 PURPOSE:

       Opens the specified file assuming it is an SDI file, and count 
       the number of images in the file.

 CALLING SEQUENCE:

       data = GET_NUM_IMG( filename )

 INPUTS:

  filename     A string containing the full path of the SDI file.

 OUTPUT KEYWORD PARAMETERS:

     IMG_TYPES: if variable name specified, returns a byte array 
            with the image type for every image in the file.
            1: memory dump
            2: ED diagnostic data
            3: detector science data

     OFFSETS: if variable name specified returns a long array with 
            the byte offset in the file where each image starts.

     INSTRUMENT: if specified, the unique instrument identifier is
            returned as a single (same instrument for every
            images).  'BD' for ACS, '9A' for COS
 
 RETURN VALUE:

         The function returns the number of images in the file.

 MODIFICATION HISTORY:
       Origin - S. Beland  CASA, CU-Boulder Feb. 2000

(See get_num_img.pro)


GET_SDI

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

 PURPOSE:
    Extract the Science Data from HST Science Data Stream format
    from the supplied file and form a structure to pass back to
    the calling program.
    Currently only supports ACS and COS formats.

 CALLING SEQUENCE:
    status = Get_SDI( filename, IMG_SEQ=img_seq, HEADER=hdr,
                      IMAGE=img, INSTRUMENT=instr, TYPE=type,
                      BYTES=bytes , UINTS=uints)

 INPUTS:
     filename: A string containing the full path of the SDI file.

 INPUT KEYWORDS:
    IMG_SEQ:  The image sequence number to extract (starting at 0)
    BYTES:  the array returned is a byte array
    UINT:  the array returned ia an unsigned integer array
       BYTES and UINT are exclusive.  If both are provided, UINT will be
       chosen.
       These keywords will avoid duplicating a potentially large array
       later on by requesting the right type to begin with.

 OUTPUT KEYWORDS:
    HEADER: Variable name where the header data will be returned.
    IMAGE:  Variable name where the image  data will be returned.
    INSTRUMENT: Variable name where the instrument for this data
       file will be returned ('J' for ACS or 'L' for COS).
    TYPE: Variable name where the data type is returned.

 RETURN VALUE:
    The function returns 1 if succesfull or 0 if error happened.

 MODIFICATION HISTORY:
       Origin - S. Beland  CASA, CU-Boulder Feb. 2000

(See get_sdi.pro)


GET_SOI_MNEM

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

 PURPOSE:
    Get a list of mnemonics corresponding to list of addresses 
    for a digital diagnostics dump.
    This function reads the Symbol of Interest data from a
    file based on instrument, mode and version.

 CALLING SEQUENCE:
    status = GET_SOI_MNEM ( instrument, mode,  major_version, 
                            minor_version, num_addr, dig_addrs, 
                            dig_mnems, dig_vars, group )

 INPUTS:
     instrument: Single character defining the instrument.
     mode:  Data acquisition mode (BOOT or not).
     major_version: Major version code of the software used to write
        the data
     minor_version: Minor version code of the software used to write
        the data
     num_addr: Number of addresses requiring mnemonics.
     dig_addrs: Digital addresses where to get the mnemonics.
     group: Widget ID of parent widget (used to centered pickfile).

 OUTPUT KEYWORDS:
     dig_mnems: Variable name where the corresponding mnemonics are returned.
     dig_vars: Variable name where the corresponding variable names
        are returned.

 RETURN VALUE:
    The function returns 1 if succesfull or 0 if error happened.

 COMMON BLOCKS:
    COMMON SOI_DATA

 MODIFICATION HISTORY:
       07/31/1997   Dina Demara     BALL/ACS
       02/01/2000   S. Beland       CASA, CU-Boulder

(See get_soi_mnem.pro)


HEXVIEW

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

 PURPOSE: Displays a file in an hexadecimal format on one side and in 
          ASCII on the other side of the window.

 CALLING SEQUENCE:
    HEXVIEW [,fileName] [,FONT=font] [,PARENT=parent]
            [,OFFSET=offset] [,DATA=data] [,GROUP=group] [,CEDAR=cedar]

 INPUT PARAMETERS:
     Filename:	A scalar string that contains the filename of the file
		to display.  The filename can include a path to that file.
               If the filename is omitted, the user will be prompted for
               a filename, via the system function, DIALOG_PICKFILE().
     Font:     Name of the font to be used for this widget.
               Fixed size font works best and makes everything line up.
     Parent:   The Widget ID of the Parent widget.
     Offset:   The offset decimal value at which the cursor will
               initially be positioned in the file.
     DATA:     If data is a byte array, it will be displayed instead
               of opening a file.
     GROUP:    The Widget ID of the GROUP_LEADER for this widget.
     CEDAR:    If set, than the program enables a few more menu
               options used by CEDAR only (not by standalone mode).

 OUTPUT PARAMETERS:
     NONE

 COMMON BLOCKS:
     NONE

 SIDE EFFECTS:
	Triggers the XMANAGER if it is not already in use.

 MODIFICATION HISTORY:  Written by:  S. Beland,  CU-Boulder October 1999

(See hexview.pro)


READ_EUDF

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

 PURPOSE: 
       Read the Science Data Header Description from the supplied
       file.
       The format of the ascii data in this file is pre-defined and hard
       coded here.

 EXPLANATION: 

 CALLING SEQUENCE:
       eudf = READ_EUDF( filename )

 INPUTS:
       filename:  A string containing the full path of the EUD file.

 OPTIONAL INPUT KEYWORDS:
       NONE

 OUTPUT PARAMETERS:
       NONE

 RETURN VALUE:
       The function returns an array of structure type EUDF,
       one entry for each line in the file.  The structure
       corresponds to the ascii data format.

 COMMON BLOCKS:
      NONE

 REVISION HISTORY:
       Origin - S.Beland  CASA, CU-Boulder Jan. 2000
     Modified - S.Beland 3/14/2000 Now reads from the file
                exported by Access database directly.
                The code has not been cleaned up from Dina Demara's
                eudl_cvt.pro file

(See read_eudf.pro)


READ_TDFD

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

 PURPOSE: 
       Read the Telemetry Data Format Description from the supplied
       file.
       The format of the ascii data in this file is pre-defined and hard
       coded here.
       This version of read_tdfd will read the file format from the 
       report generated by the ACCESS database.

 EXPLANATION: 

 CALLING SEQUENCE:
       eudf = READ_TDFD( filename )

 INPUTS:
       filename:  A string containing the full path of the TDFD file.

 OPTIONAL INPUT KEYWORDS:
       NONE

 OUTPUT PARAMETERS:
       NONE

 RETURN VALUE:
       The function returns an array of structure type TDFD,
       one entry for each line in the file.  The structure
       corresponds to the ascii data format.

 COMMON BLOCKS:
      NONE

 REVISION HISTORY:
       Origin - S.Beland  CASA, CU-Boulder Jan. 2000

(See read_tdfd.pro)


SDI2FITS

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

 PURPOSE: 
       Main module for Reading in a Science Data Staging File
       and creating FITS output file(s).

 CALLING SEQUENCE:
       result = SDI2FITS (filename [, IMG_SEQ=seq] [,
                          FITS_NAMES=fits_names] [,/NOACK])

 INPUTS:
       FILENAME: A string containing the full path of the SDS file.

 OPTIONAL INPUT KEYWORDS:
       IMG_SEQ:  The image sequence to write in FITS file.
                 All of them, one per fits file if absent.
       NOACK:    Skip the acknowledge warning.

 OUTPUT PARAMETERS:
       FITS_NAMES:  Variable name where the full names of
                 the newly created files will be passed
                 to the calling program.

 RETURN VALUE:
       RETURNS the number of images created (0 if an error occured).

 COMMON BLOCKS:
      NONE

 REVISION HISTORY:
       Origin - S.Beland  CASA, CU-Boulder May. 2000

(See sdi2fits.pro)


SDI2IMG

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

 PURPOSE: 
       Reads an sdi file and extract the image from it, then
       displays it on the screen using the atv.pro procedure.

 CALLING SEQUENCE:
       sdi2img [, filename]

 INPUTS:
       FILENAME: A scalar string that contains the filename of the file
                 to display.  The filename can include a path to that file.
                 If the filename is omitted, the user will be prompted for
                 a filename, via the system function, DIALOG_PICKFILE().

 OPTIONAL INPUT KEYWORDS:
       NONE

 OUTPUT PARAMETERS:
       NONE

 RETURN VALUE:
       NONE

 COMMON BLOCKS:
      NONE

 REVISION HISTORY:
       Origin - S.Beland  CASA, CU-Boulder March, 2000

(See sdi2img.pro)


SDI_COMPARE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SDI_COMPARE
 
 PURPOSE: 
       Comapres the values of two specified files by performing an
       operator on them.

 CATEGORY: 
       Image display.

 CALLING SEQUENCE:
       sdi_compare [,file1] [,file2] [,operator] [,img_seq1=img_seq1] [,img_seq2=img_seq2] 
           [,xoffset=xoffset] [,yoffset=yoffset] [,/norm1] [,/norm2] 

 REQUIRED INPUTS:
       None.  If sdi_compare is run with no inputs, the window widgets
       are realized and images can subsequently be passed to it
       from the command line or from the pull-down file menu.

 OPTIONAL INPUTS:
       file1:    initial SDI data file
       file2:    second  SDI data file
       operator: operation to be performed: 'ADD', 'SUB', 'DIV' (default is 'SUB')
       img_seq1: image sequence from file1 to use
       img_seq2: image sequence from file2 to use
       xoffset:  X offset value by which to shift image2 before operation
       yoffset:  Y offset value by which to shift image2 beforeoperation

 KEYWORDS:
       norm1:    if set, normalizes image1 before operation
       norm2:    if set, normalizes image2 before operation
       RESTORE:  restore the viewer to a previously saved state.
       
 OUTPUTS:
       None.  
 
 COMMON BLOCKS:
       sdi_compare_state:  contains variables describing the display state
       sdi_compare_images: contains the internal copies of the display image
       sdi_compare_color:  contains colormap vectors

 RESTRICTIONS:
       Requires IDL version 5.1 or greater. 
       Only one sdi_compare window will be created at a time.

 SIDE EFFECTS:
       Modifies the color table.

 EXAMPLE:
       

 MODIFICATION HISTORY:
       Modified version of ATV by S. Beland, CASA-CU Boulder May 2000.

(See sdi_compare.pro)


SDI_VIEWER

[Previous Routine] [List of Routines]
            SDI_VIEWER

 Routine to interactively examine raw COS (SDI) data files

 CALLING SQUENCE:
   sdi_viewer
      or
   sdi_viewer,data,header
      or
   sdi_viewer,file=filename

 OPTIONAL INPUTS:
   data - data array
   header - FITS header (STRARR)
   filename - full path to file to open (expects either FITS or COS_RAW)

 INTERACTIVE INPUT:
   Image Windows:
   lower - display of whole image rebinned to 1024 x 128 size for 
               FUV and 128x128 for NUV
   upper left - scrollable display of whole image without any
      rebinning.
   upper right - zoomed image display

   To select region viewed in upper right image use the scroll bars
   to the botton and right of the image or place cursor in bottom image
   and push any mouse button.

   To select region for the zoomed image. Place cursor in the upper
   left window and push any mouse button.

   MENU BUTTONS:
    FILE/READ - to specify and read a COS fits or RAW file
    FILE/PS output - to write postscript file of screen contents
    FILE/EXIT - to exit the program

    COLORS - to change color table
    CONTRAST - to change intensity scaling function (linear, log, square 
      root, or histogram equalization)
    HISTOGRAM - to plot histogram of data values
    STATS - to generate statistics of selected region. To generate
      statistics for a box or draw region, follow directions
      given above upper left window.
    PLOT - to plot rows, columns, row sums, column sums, or cross 
      sectional plots. After selecting type of plot, follow the
      directions given above the upper left window.  If a second
      plot is made without closing the first plot window, it will
      be overplotted on the existing plot.
    CLEAR OVERLAY - to clear overlay lines written on the image
    HEADER - to display contents of the FITS header
    SURFACE - to generate surface plot of zoomed region
   CONTOUR - to generate a contour plot of the zoomed region
   GAUSSFIT - to fit gaussians in both directions to zoomed region
   TTAG - time tag processing, plots/movies/good time editing
   ZOOM - to change the zoom factor of the zoom window

    TEXT Boxes
   Min - image minimum - used to set background level for display and
      for computing statistics of selected regions
   Max - image maximum - used to set maximum for image scaling
   Reset Min/Max - sets Min and Max to the original image Min/Max
   X - displays x position of cursor in image pixel coordinates
   y - displays y position of cursor in image pixel coordinates
   Val - displays data value for the pixel at the specified x/y

 HISTORY:
       modified from Lindler's FUSE_SCAN, SBeland CASA, Apr. 2000
   version 1 D. Lindler, Sept, 1999

(See sdi_viewer.pro)