| |
mem_vis
Root IDL Procedure
$SSW_HESSI/idl/image/memvis/hsi_memvis.pro
Method of Execution:
Not called directly, but as follows:
IDL> o=hsi_image()
IDL> o->set,image_alg='memvis'
IDL> image_memvis=o->getdata()
image_memvis will contain a two dimensional array of the reconstructed
cartesian (rectangular) image with image dimensions, pixel sizes, and location
specified inside the image object.
References
MEMVIS, Maximum Entropy using Visibilities (pdf)
(ps) - Andrew Conway
(25 October 2000)
What the heck are visibilities? - Ed Schmahl (19 March 1999)
Description
MEMVIS is a maximum entropy reconstruction of an image. In contrast to
mem_sato, it works with visibilities rather the counts. The visibilities, which
are complex numbers, are components of the 2D Fourier Transform of the image
that do not contain the effects of spin axis wandering, grid orientation, grid
transmission variations, modulation amplitude variations, and live-time
variations.
The visibilities, and the variances associated with their real and imaginary
parts are constructed from the counts by the routine hsi_get_visvar (see
separate documentation on that for further details).
Requirements or Limitations
Time interval |
Must be a multiple of 4s. |
Energy range |
Any, as long as sufficient photons are
available for the chosen detectors. |
Detectors |
Any, as long as there is at least
roughly one photon per time bin for the detector with the finest grid
used. At about this level or lower it may not be possible to reconstruct
the visibilities from the counts (see hsi_get_visvar). |
Time bin sizes |
Default values are used. Any user's choice of
time bin selection is overridden.
Also, the automatic time bin selection procedure is turned off. |
Source position |
If the source is closer than 100" -
200" of the spin axis position projected onto the Sun, then it may not be
possible to reconstruct the visibilities from the counts. This is
dependent on the number of counts. |
Counts |
The minimum limit on the number of
counts is discussed above. Since the "noise" on the visibilities is not
"Poisson", there isn't a problem in using
χ2 at low count
rates (when time bins contain counts like 0,1,1,0,0,1,0,0...). There will
be a problem, however, if long sequences of zero counts are present, in
which case image reconstruction is probably impossible anyway. Systematic
errors may be exposed for counts of 100,000 or greater. |
User Controlled Parameters
All memvis control parameters are prefixed by vis_ and have a similar meaning
to those of mem_sato, prefixed by sato_. However, the absolute value of the
parameters may have a different effect. A full listing is
given in the
GUI Guide. The principal parameters are as follows:
Parameter |
Function |
Default |
vis_lnorm |
Controls the initial strength of the entropy constraint. A
small value corresponds to a very strong smoothness constraint, and a large
value corresponds to a very weak constraint. A large value allows for very
fast reconstruction of an image of point sources, but will result in very
poor broken up images if the sources are extended. The default is currently
1e-5, which is a low value allowing for safe, but slow, reconstruction of
most sources. |
10-5 |
vis_lambda_max |
During image reconstruction, each lambda
iteration corresponds to a weakening of the smoothness constraint, allowing
a better fit (smaller χ2) to
the data. This parameter sets the maximum value that the lambda iteration
can reach at which point mem_vis will exit and return the last image. Note
that the lambda iteration step is not fixed, it accelerates as the image
reconstruction progresses. |
20 |
vis_chi_limit |
Sets the χ2
at which the image reconstruction will cease. |
1.1 |
vis_no_chi2 |
If set to 1, mem_vis iterates to
vis_lambda_max, and ignores vis_chi_limit. |
0 |
vis_iter_max |
Maximum number of iterations before procedure stops. |
150 |
Note: mem_vis may terminate before either the chi_limit or
lambda_max is reached if χ2
increases or persistently decreases too slowly.
Other parameters
None
Run-time Plots and Messages
memvis opens a plot window with one or two plots in it.
All image maps are cartesian (rectangular) with their center at the xy-offset
specified in the image object. Pixel sizes and image dimensions are also set
according to the values in the object.
If a simulated model was used, the first plot is that of the model source.
The second plot, or the only plot if there was no simulated model, is that of
the best reconstruction at the end of the last lambda iteration. The
reduced χ2
associated with the visibilities for the displayed image is also given in the
plot window.
The progress bar indicates the progress towards the value of vis_lambda_max.
The progress will usually be faster than indicated because an image giving a
χ2 of <
vis_chi_limit might be achieved first, and also because the lambda iterations
accelerate.
The IDL command line or console window will display the current lambda
iteration number and the iteration within that lambda value together with its
χ2 value.
MEMVIS produces no error messages itself once the iterations have begun
(except for software bugs). It will not run if there is a non-integer number of
rotations, or if the counts are insufficient to reconstruct visibilities for any
one of the detectors (usually the finest) .
Final Product
The reconstructed image is returned by o->getdata().
The following remedies are recommended for spurious results:
If the final image has the
reduced χ2 > 1, try increasing vis_lambda_max if it was
reached, and running the reconstruction again.
A larger value of lnorm may speed up the reconstruction, but
at the price of a broken up image.
If the iterations stopped because
χ2 wasn't decreasing fast
enough, or was increasing, try altering the value of vis_lnorm.
If the final image appears broken up or shows patterns, try
reducing vis_lnorm by a factor of ten and running the reconstruction again.
Upgrade Plans
In order of priority:
- Automate setting of initial smoothness constraint parameter vis_lnorm.
- Minor problems in the polar->Cartesian map conversion to be fixed.
- Weighting of visibilities in χ2
and back-projection maps in MEM iteration needs improvement.
- Dramatic speed ups are possible by improving calculations in the center of
the MEM loops.
None are urgent - work has begun on 1 - the others will follow in coming
months.
|
|