HESSI Utility Software Reference

This document: (1) Presents the class diagram of the HESSI data analysis Software; (2) Describes the object classes used in run-time configurations of the data analysis software; (3) Describes the object accessor methods available to retrieve data from the objects; (4) Describes control parameters and keywords allowing to modify the contents of the objects; (5) Describes data structures used by the classes. This document needs not to be read for analyzing HESSI data. Instead, users of the data analysis software might want to look at the HESSI Imaging Overview describing the command-line user interface or by using the hessi graphical user interface (type hessi at the prompt). Furthermore, you may also read the utility quick reference guide for an introduction to HESSI object classes. This manual is intended to developers who need to understand all low-level details. It is assumed that you have installed both IDL version 5.3, as well as the Solar Soft Tree with at least the HESSI, SPEX and XRAY branches of the tree.


Last modified: Mon Jun 18 17:28:17 2001 (csillag@sunlight)
Release 6


Contents


Class diagram

See the diagram on your browser or get a printable pdf version of the diagram.


Class summary

Classes that are usually accessed by users are written in boldface.

Name Purpose Data type Control parameters Info parameters
Framework Generic abstract data analysis class Defined in concrete class Defined in concrete class Defined in concrete class
HSI_Binned_Eventlist Binned event list Array of {hsi_binned_event} tba tba
HSI_BProj Back projection Image of dimension rmap_dim flatfield, vrate none
HSI_BProj_Strategy Abstract class for the back projection methods N/A N/A none
HSI_BProj_Annsec Back projection annular sector strategy Image of dimension rmap_dim flatfield, vrate none
HSI_Calib_Eventlist Calibrated event list Array of {hsi_calib_event} tba tba
HSI_Clean CLEAN algorithm 2D array tba tba
HSI_Eventlist Event list Array of {hsi_event} none eventlist_strategy
HSI_Eventlist_Packet Event lists from telemetry packets Array of {hsi_event} same as HSI_Eventlist_Strategy same as HSI_Eventlist_Strategy
HSI_Eventlist_Simulation Event lists from simulations Array of {hsi_event} same as HSI_Eventlist_Strategy same as HSI_Eventlist_Strategy
HSI_Eventlist_Strategy Parent class of Array of {hsi_event} a2d_index_mask, energy_band, time_range, time_unit absolute_time_range n_event ut_ref
HSI_FITS FITS file handler tba tba tba
HSI_GSE Ground Support Equipment file handler {hsi_gse_data} tba tba
HSI_Image Images FltArr( image_dim[0], image_dim[1] ) image_algorithm
HSI_Image_Alg Abstract class for imaging algorithms Through concrete class Through concrete class Through concrete class
HSI_Lightcurve Generation and access of light curves FltArr( n_time_bins, n_energy_bands, n_a2ds, tba
HSI_MEM_Sato Maximum entropy algorithm 2D arrray tba tba
HSI_Modul_Pattern Modulation patterns 3D arrray tba tba
HSI_Monitor_Rate Monitor rate reader {hsi_monitor_rate} mon_time_range, det_index_mask dtime, mon_ut_ref, ncyles
HSI_Packet Unpacked telemetry packet {hsi_packet_source} file_type, app_id n_record
HSI_PSF Point Spread Function fltarr(image_dim[0], image_dim[1]) xy_pixel
HSI_Simulation Simulations Replicate( {hsi_event}, n_event ) sim_out_time_unit, sim_ref_time
HSI_Spectrogram Spectrogram abstract class FltArr( n_channel_bins or n_energy_bins, n_time_intervals, n_a2ds, n_coincidences ) poisson, seed, coincidence_flag, sum_flag binning
HSI_Spectrum Generates count rate spectra FltArr( n_energy_bins or n_channel_bins, n_time_intervals, n_a2ds, coincidence_flag+1 ), sp_time_interval, sp_chan_binning, sp_energy_binning
Selection Manager Allows keeping track of selected elements in a list N/A N/A N/A
Structure Manager Manages setting and getting values from data structures N/A N/A N/A

Parameter summary

If a parameter has no default value, it is an info parameter (read-only), iterwise it is a control parameter (read/write).

Name Purpose Control or Info Default Range Defined in the class
a2d_index_mask Mask for the selection of a2ds. Control BytArr( 27 ) + 1B 0 or 1 HSI_Eventlist_Strategy
binning Binning scheme for spectrograms Info N/A Structure HSI_Spectrogram
det_index_mask Flags for selecting detectors Control [0,0,0,1,1,1,1,1,0] 0 or 1 HSI_Binned_Eventlist, HSI_Monitor_Rate
dtime ? Info ? ? HSI_Monitor_Rate
energy_band Minimum and maximum energy value of the analysis interval Control [12,25] keV 3..15000 HSI_Eventlist_Strategy
eventlist_strategy strategy used by getdata to get event lists Info "HSI_EVENTLIST_PACKET" < a href=#hsi_eventlist_packet>"HSI_EVENTLIST_PACKET" < a href=#hsi_eventlist_simulation>"HSI_EVENTLIST_SIMULATION" HSI_Eventlist
filename The name(s) of the level-0/telemetry data file(s) Control '' Valid filename HSI_Packet
file_type The type of the level-0 data files Control 'fits' fits, gse, smex, raw HSI_Packet
flatfield ? Control 1 0 or 1 HSI_BProj
mr_time_range Time interval for which moniro rates are requested Control [0D,0D] sec. 0...100 HSI_Monitor_Rate
ncycles Number of cycles available in the monitor rate packets selected Info HSI_Monitor_Rate
new_gain Controls which gain is used for channel-energy correspondance Control 1 0 or 1 HSI_Eventlist
saszero If 1 assumes a perefect aspect solution Control 0 0 or 1 HSI_Aspect_Solution
sp_chan_binning Defines the channel binning Control 0 0 .. 8192 HSI_Spectrum
sp_energy_binning Defines the energy binning Control 7 (# of table) 0 ... ? HSI_Spectrum
sp_semi_calib Semi-calibrate the count rates Control 0 0 or 1 HSI_Spectrum
sp_time_interval Defines the time interval for spectra Control 60sec >0 ... ? HSI_Spectrum
time_bin_def Factors multipling time_bin_min for the definition of the detector-dependent time bin size Control [1,1,2,4,8,8,16,32,64] 2^0 ... 2^6 HSI_Binned_Eventlist
time_bin_min The minimum time binning Control 1024 binary microsec. (= 2^-20 sec) 2^0 ... 2^7 HSI_Binned_Eventlist
time_range Time range of the analysis interval Control [0,4] sec. 0...100 HSI_Eventlist
time_unit Time unit used in the event list time tags Control 16 binary microseconds 1...32 HSI_Eventlist

Method summary

The basic implementation of the methods defined below are implented in the abstract class Framework and either extended or overridden in the concrete classes

A procedure method is called by obj->proc_name whereby proc_name is the name of the method. A function method is called by result = obj->func_name whereby result is any IDL variable name and func_name is the name of the method. Methods and functions accept any keyword parameters of type "Set" as defined in the section Keywords below.

Name Purpose Keywords
Get() Retrieves control or info parameters ADMIN_ONLY, CLASS_NAME, /CONTROL_ONLY, FOUND, /SOURCE_ONLY, /THIS_CLASS_ONLY, /THIS_OBJECT_ONLY, /INFO_ONLY, /NO_DEREFERENCE, /NOSINGLE, /POINTER, /OBJECT_REFERENCE
GetData() Retrieves primary data /ALL, CLASS_NAME, DONE, THIS_A2D_INDEX, THIS_INDEX, NEXT_BUNCH
Set Sets control parameter values SOURCE_OBJECT, CONTROL_STRUCT, INFO_STRUCT
SetData Inputs primary data into the object TBA
Plot Plots the primary data Same as GetData
Print Prints parameter values Same as Get, /XSTRUCT
Write Writes a FITS binary table with the data of the class TBA TBA

Keyword summary

Each name of a control parameter is associated with a keyword that allows to set or get its value using the procedures set and get. Similarly, each name of an infor parameter is associated with a keyword that allows to get its value. Control parameters can be set with any method. Once a control parameter is set, its value is kept in the object, i.e. it does not need to be set for each method call.

Furthermore, some keywords are used to request a specific subset of the data associated with a specific object. These keywords start in general with the prefix THIS_ and are used only with the method GetData. The default value of a keyword is the value used when the keyword is not used.

Name Purpose Default To use with method To use with class
CLASS_NAME Specifies for which class the method should be used Current class Any Any
THIS_A2D_INDEX Specifies for which a2ds the data should be retrieved Equivalent to a2d_index_mask GetData, Plot HSI_Eventlist
THIS_DET_INDEX Specifies for which detector index the data should be retrieved Equivalent to det_index_mask/td> GetData, Plot HSI_Eventlist
/OBJECT_REFERENCE Retrieves the object reference associated with CLASS_NAME N/A Get, Set

Object classes: detail

Framework

Implements a generic framework to manage scientific data processing. The framework contains four main elements:
  1. The primary data which needs to be managed;
  2. The control parameters;
  3. The informational parameters;
  4. The administration parameters.
The framework is inherited by application-specific concrete classes. It is based on the template method design pattern. The abstract class cannot be used without a concrete class. There is more information available on how to use a framework.

Construction

Only by inheritance in concrete classes.

Methods


HSI_Bproj

Computes the backprojection for a given count rate. The count rate is given either using the parameter vrate, or if vrate is empty (null pointer), the count rate used is the observed count rate.

Construction

obj = Obj_New( 'hsi_bproj' )

Primary data type

An image in the form of a 2D array. The dimensions and units of the image are given by image_dim pixel_size

Processing method

The algorithm is defined in the procedure hsi_annsec_bproj

Control parameters

Control parameters for the back projection are defined in the structure hsi_bproj_control.

flatfield
vrate

Information parameters

There are no information parameters for this class

HSI_Clean

Provides a wrapper for the clean image algorithm.

Construction

obj = Obj_New( 'hsi_clean' )

Primary data type

An image in the form of a 2D array.

Processing method

The algorithm is defined in the procedure hsi_map_clean

Control parameters

Control parameters for the clean algorithm are defined in the structure hsi_clean_parameters.

Informational parameters

chi_sq
residual

Acessor methods

No accessor methods are implemented in this class.

Display methods

No display methods are implemented in this class.


HSI_EventList

Provides data structures and methods to build and access an event list.

Construction

Methods

Inherited from Framework: CLEANUP, Get, Set, SetData

Control parameters

Parameters are defined in a single control structure called hsi_eventlist_control.