RHESSI Visibilities

Visibilities represent a compact, noise-free transformation of the input imaging data, containing all the information required for image reconstruction. Please see the "Measurement and Interpretation of X-ray Visisbilities with RHESSI" Poster for more explanation of what visibilities are and how to use them.

The RHESSI mission archive includes two types of visibility FITS files for every flare in the RHESSI image archive:

These files provide a powerful intermediate data product that can be used standalone or as an alternative starting point for image reconstruction in the RHESSI software. They can be set as input to the RHESSI image object to avoid having to start with reading the Level-0 files (and thus save computing time).

To set a visibility file as the input source for an image object (instead of the Level-0 or eventlist file), you can set the vis_input_fits parameter:

im_obj->set, vis_input_fits='your_vis_file.fits'

When you set a visibility file as input, all of the control and info parameters from the visibility file are set into the image object. You are blocked from setting any parameters that are not consistent with the information in the visibility file. However, you are allowed to change the time and energy bins to combine time or energy bins from the visibility file.

Visibilities are used as the basis for six of the RHESSI image reconstruction algorithms: MEM_GE, MEM_NJIT, VIS_FWDFIT, UV_SMOOTH, VIS_CS, and VIS_WV.

To retrieve the visibilities from an existing RHESSI image object:

vis = im_obj->getdata(class='hsi_visibility')

To create a visibility object and read an existing visibility FITS file:

vis_obj = obj_new('hsi_visibility')
vis = vis_obj->getdata(/all)

You can also read the vis file with any standard FITS file reader. There are three extensions:

  • Extension 1: structure of all control parameters
  • Extension 2: structure of all info parameters
  • Extension 3: array of structures containing visibilities

For example, in SSWIDL, to read the visibility extension: vis = mrdfits('your_vis_file.fits',3,header)

Note: The visibility file contains the complete set of computed visibilities. When using the RHESSI software (as in the first two examples above), the visibilities returned by the getdata call are modified by the value of the control parameters vis_edit, vis_normalize, and vis_conjugate (see Using Visibilities in the RHESSI Software).

The array of structures in a visibility 'bag' (returned by the examples above) contain the following information

** Structure, 16 tags, length=120, data length=106, refs=1:
   ISC  - sub-collimator number, 0-17
   HARM - harmonic used (always 1, first harmonic)
   ERANGE  - energy band lower, upper edge in keV
   TRANGE  - time bin lower, upper edge in seconds since 1979/1/1
   U -  ? in arcsec^-1
   V -  ? in arcsec^-1
   OBSVIS  - Observed visibility, complex number, in ph/cm^2/s
   TOTFLUX  - normalized DC term, semicalibrated, in ph/cm^2/s
   SIGAMP - Sigma in OBSVIS, in ph/cm^2/s
   CHI2 - reduced chisquare from fit of visibilities, measure of quality of visibiltiy determination
   XYOFFSET - Heliocentric (west, north) offset phase center (arcsec)
   TYPE - type of visibilities, 'photon', 'regularized electron', or 'regularized photon'
   UNITS - units of visibilities, 'Photons cm!u-2!n s!u-1!n'
   ATTEN_STATE - attenuator state during this time interval, 0, 1, or 3
   COUNT - number of counts from vis_gen for this visibility, no meaning for regularized vis
   NORM_PH_FACTOR - correction factor for normalizing photon vis to other detectors

More information about visibilities and using them in the RHESSI software: