TESTING REPORT Feb 15th 2000
(Johns - Krull)
1. Use of model or sim_model keywords to hessi_image.pro. When
explicitly specifying a Gaussian using the source structure, the
keyword model must be used instead of sim_model. On the other hand
the sim_model keyword does work in this case for a specifc call
using objects, such as im = obj -> getimage(sim_model=gg) where
gg
is a gaussian_source_str.
2. The handling of xyoffset and sim_xyoffset appears to be in error
using
either hessi_image or getimage calls. Everything appears to work
fine in
the initial call, for example a call such as
IDL> im=obj->getimage(sim_model=model,sim_photons=5000, $
sim_xyoffset=[10.,50.],sim_pixel_size=1.0,xyoffset=[10.,50.], $
a2d_index_mask=mask)
works fine. But if this is then followed by a call of
IDL> im=obj->getimage(sim_model=model,sim_photons=5000, $
sim_xyoffset=[100.,500.],sim_pixel_size=1.0,xyoffset=[100.,500.],
$
a2d_index_mask=mask)
the returned image is simply noise, despite sim_xyoffset and xyoffset
being the same. The proper image can be recovered if these two are
again set to [10.,50.], but no other combination gives the correct
result. In each case though, the program says the event list simulator
is being started.
3. The use of the /clean_alg keyword using either hessi_image or
getimage
generates the error message:
% UNIVERSAL::GET: This keyword does not correspond to a valid attribute
name
but the program runs anyway, apparently cleaning the image. However,
in a call to hessi_image, the routine dies on the plotting call
because
the output image is not a 2D array, but instead a vector of the
corresponding number of elements. For example if the image should
be
a 64 X 64 array, the output image variable will be a vector of length
64^2. This vector does appear to contain the image data and the
image
can be reconstructed just by stacking every 64 elements into an
array.
4. When the error message "UNIVERSAL::GET: This keyword does not..."
occurs,
for example in the usage of clean_alg, it would be nice if this
would tell
you what keyword was invalid. In some cases it is not at all clear.
Other than these general bugs, I followed Gordon's recent suggestion
to
check the imaging consistency from small to large offsets. To do
this
I constructed a model with the following properties
f1 = {gaussian_source_str}
f1.amplitude = 1.0 ;relative amplitude
f1.xysigma = [6.0, 2.0] ;width of gaussian in arcsec
f1.xypos = [0.0, 0.0] ;position relative to sim_xyoffset, arcsec
f1.tilt_angle_deg = 0.0 ;tilt angle
f2 = {gaussian_source_str}
f2.amplitude = 1.0 ;relative amplitude
f2.xysigma = [2.0, 2.0] ;width of gaussian in arcsec
f2.xypos = [20.0, 13.0] ;position relative to sim_xyoffset, arcsec
f2.tilt_angle_deg = 0.0 ;tilt angle
model = [f1, f2] ;An array of Gaussian sources
Each time I simulated the data I used sim_photons_per_coll = 10000.
In each case I used the same sim_xyoffset and xyoffset, and constructed
images with offsets of [0.,0.], [100.,10.], [200.,20.], [400.,40.],
[600.,60.], [800.,80.], and [900.,90.]. Currently I have 4 sequences
with the following imaging properties:
1.) collimators 0 - 2 using backprojection
2.) collimators 0 - 2 using backprojection with clean
3.) collimators 0 - 5 using backprojection with clean
4.) collimators 3 - 5 using mem sato
These were all run in the last 2 days using the development area
of the
software. In cases 1-2 the resulting images are pretty ratty looking.
In case 2 the first 2 images gave the error:
% Program caused arithmetic error: Floating underflow
and the images were loaded with all 0s. In the other 5 offsets,
the
2 arcsec X 2 arcsec Gaussian in the upper right was reasonably well
recovered, but the big one in the middle is not recovered at all,
even
though it has the same peak amplitude and more flux because it is
a larger
source. In both cases 3 and 4, both sources are recovered, but in
case 3
the resolution of the final image is very poor - not really any
better than
the dirty map, and in both cases the amplitude of the centered Gaussian
is about 3 times that of the narrow, offset one even though they
should
be the same. This may be counting statistics, but even in cases
1-2 with
only 3 collimators, at 10000 photons per second per collimator,
there are
more total photons than in the default modelling case which generally
looks
OK. So, my impression is that things do not work very well at the
moment 2 sources which have dissimilar sizes/shapes. Any comments
on
that I might be doing wrong?
