HESSI GUI General Information HESSI GUI Tasks
    Overview Select Observation Time Interval Widget
    Getting Started Select Analysis Intervals Widget
        Quick Start HESSI Observing Summary Data Widget
        Startup Options Quicklook Images Widget
        GUI Main Window Features Lightcurve Widget
        GUI Basics Image Widget
        Plot Basics Spectrum Widget
    Setup Synoptic Data Widget
        Environment Variables Flare Catalog Widget
    GUI Menu Bar Buttons Snapshots
    Generic Plot Functions (PLOTMAN) Snapshot of GUI Initial Screen

Interaction between the GUI and the Command Line Interface

Snapshot of GUI Plot Example 1
  Snapshot of GUI Plot Example 2



The Graphical User Interface to the HESSI data analysis software is an IDL widget program that allows users to display, analyze, and store HESSI image, spectrum, lightcurve, and observing summary data, as well as view data from ancillary sources.

The GUI is an easy-to-use interface to a subset of the functionality available by calling programs explicitly using the command line interface to the HESSI software.  The drawback to using the command line is that it requires some knowledge of IDL, knowledge of specific procedure and keyword names and syntax, and lots of typing. The GUI relieves you of those burdens but does not have the flexibility and power of the command line. The best approach probably is to use the GUI in combination with the command line. There are routines that give you access to the data objects used in the GUI from the command line. See the section on interactions between the GUI and the Command Line Interface.

Reports of problems should be sent to hessibugs@hesperia.gsfc.nasa.gov.

(Back to Table of Contents)


Getting Started

The HESSI GUI software is distributed with the HESSI branch of SSW.  It is assumed that you have already installed IDL and SSW successfully and have access to the HESSI data files.  Please see the HESSI Data Analysis Software FAQ if you have problems with your setup.

Quick Start

Start SSWIDL, and type hessi.

To make an image  of the default flare:

To plot a time profile of the default flare:

Use options under Plot_Control to change plotting options; use options under Window_Control to choose which plot to display.

(Back to Table of Contents)

Startup Options


Type hessi to start with the default options and new hessi objects.

To pass an existing object into the GUI, type
hessi, obj
where obj is an existing image, lightcurve, or spectrum object.

The following keyword arguments are available to start the GUI with other options:

any object parameter Any object parameter (e.g. obs_time_interval, pixel_size) that you pass into the hessi program will be set in the objects used in the GUI.
flare Initial flare number (and therefore time interval) to use in GUI.
restore Use the objects that were used in the previous session of the GUI (in the current IDL session).   The four objects that will be restored are image, spectrum, lightcurve, and observing summary.
wxsize X size of initial GUI window in pixels.
wysize Y size of initial GUI window in pixels.
colortable Color table to use for images (standard IDL tables 0 - 40, or HESSI color 41, or HESSI black/white 42)


hessi, sim_image_obj
hessi, obs_time_interval=['2000/9/1 00:11', '2000/9/1 00:15']
hessi, flare=3110301, colortable=5

If you don't specify time interval or color table explicitly, the GUI will default to whatever time interval and color table you last used when you were running the GUI in this same directory (the information is stored in the hessi_gui_last_session.geny file in the current directory).

(Back to Table of Contents)


GUI Main Window Features

The Main Window of the HESSI GUI provides the primary draw window in which most plots and images will be drawn. Across the top of the window are pull-down buttons that give you access to the different data types available through the GUI, as well as buttons to control the plot(s) shown in the window.

Under the title bar is the menu bar with pull-down menus to make selections.  Start by clicking the File menu button and selecting the task you want to start with.

The label under the pull-down menu bar shows the current observation time interval you have chosen and the flare number contained in that interval (if any). Most of the sections dealing with the different data types work within this observation interval. In order to work with data outside this time interval, you must select a new observation time interval (available under File pull-down menu).

There is also a label showing a description of the current plot. All of the plots you have created so far are saved and are listed under the Window_Control pull-down menu. You can choose another panel to show, or show multiple panels using the options under Window_Control.

Near the bottom of the GUI main window is a text area for error and informational messages. This will be phased out over time in favor of popup windows which are more noticeable, but in the meantime, some messages will be displayed in this text area.

The entire GUI main window can be stretched by dragging the edges of the window. The current plot(s) will be redrawn in the new window. The maximize button provided by the window manager doesn't work on some systems.

(Back to Table of Contents)


GUI Basics

Most of the operations of the GUI work with one basic time interval called the Observation Time Interval. On entering the GUI, the default time interval contains one of the flares in the catalog. Select a new time interval by clicking the 'Select Observation Time Interval' button under the File menu bar button, and specifying a new time by selecting a flare, setting times explicitly, or selecting an interval graphically.  (Since March 2005, an execption to this is the image widget - the Observation Time Interval is only a convenience for the image interface.  The image widget allows you to choose times outside of the Observation Time Interval.) 

Once you've selected the basic observation time interval you want to work with, if you want to make an image, click File / 'Retrieve/Process Data' / Image. The default image time is set to 4 seconds at the peak of the flare. To make an image using all of the defaults displayed in the image widget, just click the 'Make/Plot Image(s)' button. Otherwise click the Change buttons to set the parameters yourself.  You can make single images or image cubes using this interface.  You can also use this interface to examine previously generated images that were stored in an image cube FITS file.

Similarly, to generate lightcurves or spectra, click File / 'Retrieve/Process Data' / Lightcurve or Spectrum.  A widget with the current values of parameters will appear.  You can change parameters if you wish.  To generate a lightcurve, click 'Plot Lightcurve' in the Lightcurve widget.  The Spectrum widget has options to plot spectra, lightcurves, or a spectrogram, and can write spectrum and SRM FITS files for use in the spectral analysis packages (SPEX or OSPEX).  (Note: The lightcurve interface is really just a simplified version of the spectrum interface.)

To view the flare catalog, click File / 'Browse Flare Catalog'. Simply click the 'Select and List' button in the Flare Catalog widget to display a list of the entire flare catalog. The widget also lets you define ranges of flare parameters to search and sort by.

It is a good idea for the IDL output log window to always be visible. If the program appears to hang, look in that window to see if it has crashed. Refer to the FAQ for how to report and recover from a crash.

(Back to Table of Contents)


Plot Basics

Once you have displayed a plot, most options for manipulating the plot are accessed through the pulldown buttons at the top of the GUI window. In addition, you can right-click in any plot to display the coordinates of a point, or left-click and drag a box to zoom in on any plot. A single left-click with no dragging will restore the original plot limits.

Each plot that is drawn is saved (up to a maximum of ?). The 'Window_Control' pulldown menu from the top menu bar shows the panels that have been saved, and also has some controls to allow you to see multiple panels simultaneously. The 'Multi-Panel Options' button allows for customization in displaying multiple panels.

When more than one panel is displayed in the main widget, clicking on a panel makes that panel the active panel (it will be outlined in red when it is active). Once a panel is selected, then all plot manipulation and save and print options operate on that panel only. Under the 'Window_Control' pulldown menu, the options for 'Current Panel' operate on the current active panel.  You can delete the current panel, maximize it (if it was one of many panels showing, make it the only one in the draw widget), send it to a new PLOTMAN window (the panel will appear in a new widget that is entirely independent from the HESSI GUI widget. The new widget has plot manipulation controls, and save and print options only. No new data will be directed to that window. When you no longer want that window, just close it.), or print a Summary of the panel (this only works for image and lightcurve plots currently).

Under the File pulldown button on the main widget's menu bar, there are options to configure and create several types of plot files, as well as select a printer and configure and print a plot.

(Back to Table of Contents)




Environment Variables

The following environment variables are used by the HESSI GUI (in addition to the standard set of HESSI environment variables listed in the $SSW/hessi/setup/setup.hessi_env  file):

HSI_DATA_ARCHIVE Required Directory where HESSI FITS data files are located.  Usually defined in $SSW/site/setup/setup.hessi_env
HSI_DATA_USER Optional Directory where HESSI FITS files that are downloaded via search_network, /enable feature are written.  Software will look for data files in both HSI_DATA_ARCHIVE and HSI_DATA_USER. (they can be defined to the same directory, if you want)
USER_SYNOP_DATA Optional Directory in which you'll store synoptic data files that you download.   Usually defined in $SSW/site/setup/setup.hessi_env
PSLASER Optional Laser printer queue Usually defined in your personal IDL startup file
PSCOLOR Optional Color printer queue Usually defined in your personal IDL startup file

Note: the printer queues must already be established on your computer. On Windows machines, the printer queues must be shared (see printing section).


On a Windows machine the following lines might be in your $SSW/site/setup/setup.hessi_env file:

setenv HSI_DATA_ARCHIVE d:\hessi\hessi_data
setenv HSI_DATA_USER d:\hessi\hessi_data
setenv USER_SYNOP_DATA d:\hessi\synoptic

and the following lines might be in your personal IDL startup file:

set_logenv, 'PSLASER', '\\lotus\laser-g62'
set_logenv, 'PSCOLOR', '\\lotus\tek-560'

(Back to Table of Contents)



The printers available for use by the GUI are listed when you click the File / 'Select Printer...' button on the GUI. Printers are defined differently on UNIX and Windows.


The /etc/printcap (DEC, Linux) or /etc/printers.conf (Sun) file is examined to find the list of available printers. If this file doesn't exist, then the program checks these environment variables for printer definitions:



On Windows the program checks these environment variables for printer definitions:


You must first set up the printers as shared and then you must define one or more of the variables listed above.

To set up printer sharing:

You should define at least PSLASER and PSCOLOR in your personal IDL startup file, by adding lines like the following:

set_logenv, 'PSLASER', '\\lotus\laser-g62'
set_logenv, 'PSCOLOR', '\\lotus\tek-560'

replacing lotus with your computer name and laser-g62 and tek560 with the share names of the printers.

(Back to Table of Contents)



To be written...


GUI Menu Bar Buttons

Under the File pull-down menu there are options to select the Observation Time Interval, select Analysis Intervals, browse the HESSI flare catalog, and view different types of HESSI or synoptic data. The interfaces to these tasks are described in detail in separate sections (see the Table of Contents).

Most of the GUI pull-down menu items are handled by the Plot Manager package.    The PLOTMAN documentation describes all of the generic plot functions of the GUI in detail.  Remember that each button  applies to the data that is in the currently selected plot panel. If multiple plot panels are showing, then the selected panel is the one you most recently clicked in (should be indicated by a red border).

(Back to Table of Contents)


Interaction between the GUI and Command Line Interface

There are two ways to work with the same object in the GUI and from the command line interface:

  1. Pass an existing object into the GUI by typing hessi,object to start the GUI.
  2. Use the hessi_data procedure to extract the objects used in the GUI to the command line.

Note that when you do this, you are sharing that object between the GUI and the command line.  Changes made from one interface will affect the other.  For example, if you have made an image in the GUI, and then want to manipulate the object manually, type (at the IDL command prompt):

hessi_data, image=obj

If you then change the object parameters, for instance,

obj -> set, pixel_size=[2,4], image_dim=[32,32]

then the next time the image widget refreshes (click the Refresh button to force a refresh), you will see that the values you assigned at the command line are now set in the object used in the GUI.  Note that the image widget does not refresh itself at regular intervals, and it has no way of knowing you've made a change at the command line.  So you may not see the changes you made outside the GUI until you refresh the widget.

Type hessi_data from the IDL prompt to see more complete instructions on how to call hessi_data, and to see the list of objects that have been saved and can be retrieved.  You can call hessi_data while the GUI is running, or after exiting the GUI.

(Back to Table of Contents)


Last updated 07 November, 2008 by Kim Tolbert , 301-286-3965