First steps to making MEM maps from visibilities using MEM_NJIT

Getting the inputs for MEM_NJIT

MEM_NJIT starts from visibilities produced using the SSW programs written by Gordon Hurford. The required inputs are date, time, xyoffset, and energy range. Until MEM_NJIT is fully incorporated into the RHESSI software, one will first have to use the SSW command-line utility hsi_vis_usershell.pro to create visibilities, which are then used by MEM_NJIT.

As shown by the following script, this is very simple. Here we make visibilities for the 2002/Feb/20 flare:

    det_index_mask = [1,1,1, 1,1,1, 1,1,1]
    xyoffset = [905.64,260.42]
    time_range = ' 20-Feb-2002 '+['11:06:00','11:06:36']
    energy_band = [25.,50.]
    hsi_vis = hsi_vis_usershell(det_index_mask=det_index_mask,xyoffset=xyoffset, $
        time_range=time_range,energy_band=energy_band)

This will create a named visibility structure with the following tags:

    ** Structure HSI_VIS, 11 tags, length=64, data length=64:
       ISC             INT              0
       HARM            INT              1
       ERANGE          FLOAT     Array[2]
       TRANGE          DOUBLE    Array[2]
       U               FLOAT          0.219972
       V               FLOAT         0.0214038
       OBSVIS          COMPLEX   (      6.41359,     -10.3197)
       TOTFLUX         FLOAT           35.3267
       SIGAMP          FLOAT           6.44080
       CHI2            FLOAT           1.48733
       XYOFFSET        FLOAT     Array[2]

MEM_NJIT Inputs & outputs

After making visibilities, one may call MEM_NJIT to make a MEM map. Besides the visibilities, MEM_NJIT also requires some other vectors.

Required inputs:

Required ouptuts:

Optional inputs:

Optional outputs:

Making the MEM map

You can make the MEM map with the following commands:
      grids=[2,7]  ; subcollimators 3,4,5,6,7,8
      pixel_size=2 ; 2 x 2 arcsec
      flux=-1.     ; establishes the variable name 
      mem_map,hsi_vis,vis_out, hsi_vis.u, hsi_vis.v,image,grids,pixel_size,flux,/show 
The command produces an image structure with the following tags:
       ** Structure <9ac442c>, 16 tags, length=69012, data length=69012, refs=1:
       MAP             FLOAT     Array[128, 128]
       X               FLOAT     Array[128]
       Y               FLOAT     Array[128]
       XTIT            STRING    '[arcsec]'
       YTIT            STRING    '[arcsec]'
       FLUX            FLOAT           96.1096
       FERR            FLOAT           2.88329
       IMSIZ           LONG               128
       MISC            STRING    Array[5]
       SVIS            FLOAT     Array[150]
       TOL             FLOAT         0.0300000
       XYINT           FLOAT           3.40972
       ENTROPY         FLOAT           91.1800
       CHI2            FLOAT           78.0868
       LAMBDA          DOUBLE           1.1676755
       VISOBSK         STRUCT    ->  Array[1]

In the present version (Aug. 2006), mem_map will pop up a graphical widget showing the u,v coverage, and a response widget prompting you to respond whether you like the coverage. Just click "yes". A surface plot of the iterated MEM map appears with measures of the normalized gradients and chisquared values.

FAQ:

Q:  How do you specify tolerance (TOL)?
A:

Q: How do you change the input flux?
A:

Q: What are the quantities alpha and beta in the vis_out.misc string?
A:

Q: What is vis_out.lambda?
A: