A Comparison between TinyTIM and Code V (6/13/01)





I have performed a comparison between the output of Code V and TinyTIM. The TinyTIM PSFs were generated using version 1.2 of "stiny". The PSFs were 5x oversampled, with the PSF centered at pixel 128,128. A flat spectrum was used for the PSF generation. The Code V models were supplied by Peter and came from sirtfweb and had the rootname "asbuilt_sirtf_dec00".

Ch.1
Ch.2
Ch.3
Ch.4
Results from TinyTIM are on the left, Code V on the right.

TinyTIM and Code V produce substantially the same result. As seen in the above figure, the low-level structure of the PSF is qualitatively nearly identical. In some cases it appears that the speckles in the Code V model are sharper and less symmetric (see Channel 2). As a quantitative check, I looked at the peak flux, and the integrated flux in an aperture that enclosed the central core and one that enclosed the first airy ring, all normalized by the total flux. In all cases all of the apertures were fixed to be identical between the two modeled frames. Note that the encircled energy numbers are not rigorously defined, they are intended to show relative differences. In general, TinyTIM predicts more power in these structures by around 5%, and the difference is usually all in the % of total flux in the central peak. Similarly, the height of the central peak is typically slightly higher by a few percent in the TinyTIM model vs the Code V model. FWHM was the same to within my ability to fit a simple gaussian model. Perhaps Code V includes a more rigorous scattering model than TinyTIM? My attempts at differencing the images and looking at their ratios in image space demonstrated that I'll have to spend more time getting the exact sub-pixel centroiding right. The above was quicker.

I also note that it is possible that a small amount of this might be due to where exactly the two programs put the PSF peak relative to the pixel center. I believe TinyTIM always puts it exactly at the center of the center pixel. I don't know what Code V assumes. This should have been minimized by the 5x oversampling, though.

TinyTIMCode V
Ch.1 Peak0.0430.041
Core0.520.50
1st ring0.800.80
Ch.2 Peak0.0300.028
Core0.570.54
1st ring0.880.85
Ch.3 Peak0.0200.018
Core0.600.56
1st ring0.900.88
Ch.4 Peak0.0110.010
Core0.620.60
1st ring0.930.91

Note from John Krist:

Thanks for the comparison.  I'm glad things agree pretty well.  Code V does
not do any scattering calculations, beyond adding in the maps of the
polishing errors, which Tiny Tim does as well.  Code V does NOT model
obscurations as well as Tiny Tim.  As I recall, the central obscuration
and secondary truss supports are approximated by a bunch of rectangles
in the Code V prescription, while Tiny Tim uses antialiased circles and
polygons.  That might explain some of the differences.