Image subtraction

The image subtraction method implemented in this package is described in Alard 1999. The method allows sef-consistent fitting of the kernel variations with a computing time that is only slightly in excess of the computing time required for fitting constant kernel solutions (Alard & Lupton 1998). Another important feature of this image subtraction method, is that constant flux scaling is imposed. Thus the kernel solution, even if variable has always constant sum. I makes the algorithm more accurate and more robust.

What do the image subtraction parameters mean ?

Basically, the program looks for a number of bright objects (not necessary stars) and defines small windows around each of them. The part of the image in these small windows are called "stamps". The number of these stamps is defined by the parameters nstamps_x, and nstamps_y, the total number of stamps is nstamps_x *nstamps_y. The size of the stamps is defined by the parameter half_stamp_size which defines the half size of the window around each star. This size must be somewhat larger than the size of the kernel itself (half_mesh_size).  Other important parameters are the degree of the spatial variations of the kernel coefficients (deg_spatial), and the degree of the differential background variations (deg_bg). Be very careful that the total number of stamps is sufficient with respect to the degree of spatial variations. The spatial variations involves (deg_spatial+1)*(deg_spatial+2)/2 coefficients, always takes a number of stamps that is 3 or 4 times this number. An important feature is the fact that the software can process the images by small pieces. Imagine your image is 4k by 4k, it might be that the memory requirement will be too large for your machine, or that the kernel variations are so large that it would be better to divide the image in a number of sub-areas. The program can do that for you, the number of image sub-divisions along each axis (X and Y) is defined by the configuration parameters sub_x and sub_y. For instance if you take sub_x=sub_y=2, the image will be divided in 4 equal parts. The program will start by creating a blank image with the size of the whole image, each sub-image will be inserted in time in the big image. The process is transparent for the user, and the result will look as a single big image. Other fundamental parameters are of course the saturation limit of the image (keyword saturation), the minimum value for the pixels you want to fit (keyword pix_min), and the minimum value for the central pixel of a stamp (keyword min_stamp_center). Changing or adapting the other parameters to your data is not very important, most of the time it has little effects, and future release of the code should even adapt these parameters (and may be some other) automatically to your image.

Testing image subtraction

Before you setup the photometric package and make the light curves, it is sensible to look at the results of image subtraction for a few images. Try to find a few images that will represent the seeing conditions encountered in your data set. For instance, you may take a good seeing image, a bad seeing image, and an intermediate seeing image. Run the image subtraction software with these few images, and look at the subtracted images (conv.fits) each time.

As for the testing procedure, to run the image subtraction code, just type:

../bin/mrj_phot test1.fits test2.fits

The substracted image must be free of systematic pattern, with a noise distribution very close to a Poisson distribution. If some systematic patterns remains, it might be that you did not allowed for a sufficient degree of spatial variation for the kernel. A degree of 3 can be necessary in some case. If you have some residual pattern for the bad seeing image and not for the other images, it might be that you did not take a kernel mesh that is large enough. In such case it can be also useful to enlarge the last gaussian width.  Futher release of the code should provide automated adjustement of most of the parameters.

In case you cannot get a suitable subtracted images for all the frames, even after trying the previous suggestions, it might be useful to check your reference image. May be did your reference stacking included a bad image, or at least an image which has some defects the other do not have. You may try to replace the reference image with one of your good images. If this time the result is correct, it really means you have a bad reference image. In such case I would recommend to check individually each of the individual image you used to build the reference frame.