mAdd(1) Re-project and mosaic your images, with background rectification


mAdd [-p imgdir] [-n(o-areas)] [-a mean|median|count] [-e(xact-size)] [-d level] [-s statusfile] images.tbl template.hdr out.fits


Coadd the reprojected images in an input list to form an output mosaic with FITS header keywords specified in a header file. Creates two output files, one containing the coadded pixel values, and the other containing coadded pixel area values. The pixel area values can be used as a weighting function if the output pixel values are themselves to be coadded with other projected images, and may also be used in validating the fidelity of the output pixel values.


-p imgdir
Specifies path to directory containing reprojected images. If the -p switch is not included, mAdd will look for the input images in the current working directory.
Co-addition ignores weighting by pixel areas and performs coaddition based only on pixel postions. This flag refers to input images; the area file for the output image will still be created.
-a type
Select type of averaging to be done on accumulated pixel values (either mean or median). To generate a map showing counts of how many times each pixel was overlapped by the input images, use count.


Enables exact size mode. The output image will match the header template exactly, instead of shrinking the output to fit the data.
-d level
Turns on debugging to the specified level (1-3).
-s statusfile
mAdd output and errors will be written to statusfile instead of stdout.


ASCII table (generated by mImgtbl) containing metadata for all images to be coadded.
FITS header template to be used in generation of output FITS
Name of output FITS image.


If successful, mAdd creates a FITS file out.fits that is a coadd of all the FITS files in the table images.tbl, according to the header template given. A corresponding out_area.fits is also created.


[struct stat = "OK", time=time]
MPI initialization failed
Invalid argument for -a flag
Cannot open status file: statusfile
Invalid image metadata file: filename
Need columns: cntr,fname, crpix1, crpix2, cdelt1, cdelt2, naxis1, naxis2, crval1, crval2 in image list
Memory allocation failed
Too many open files
Input wcsinit() failed.
Failed to allocate enough memory for output arrays
Bad WCS in header template.
Images are not in same pixel space.
Template file not found.
FITS library error
general error message


The following example runs mAdd on 4 FITS images, generating the output file mosaic.fits. Related files are images.tbl and template.hdr.

$ mAdd -p proj images.tbl template.hdr output/mosaic.fits
[struct stat="OK", time=1]


The drizzle algorithm has been implemented but has not been tested in this release.

If a header template contains carriage returns (i.e., created/modified on a Windows machine), the cfitsio library will be unable to read it properly, resulting in the error: [struct stat="ERROR", status=207, msg="illegal character in keyword"]

It is best for the background correction algorithms if the area described in the header template completely encloses all of the input images in their entirety. If parts of input images are "chopped off" by the header template, the background correction will be affected. We recommend you use an expanded header for the reprojection and background modeling steps, returning to the originally desired header size for the final coaddition. The default background matching assumes that there are no non-linear background variations in the individual images (and therefore in the overlap differences). If there is any uncertainty in this regard, it is safer to turn on the "level only" background matching (the "-l" flag in mBgModel.

Although the memory limitation for output images has been overcome in versions 2.x and above of Montage, it is still possible (though unlikely) to create an out-of-memory situation due to the size and number of input images. mAdd builds the output image one row at a time, and stores every pixel from any input image that contributes to that row in memory.

If you have a large enough mosaic, it is almost always more efficient (and often easier on the user) to tile it. There are tools in Montage to help with this and these have been brought together under mAddExec. In fact, even if you want a single output image, it may be faster to do it in two steps: mAddExec to create a set of tiles, and then mAdd to make a final mosaic from these tiles. There is absolutely no loss of information in doing this.


2001-2015 California Institute of Technology, Pasadena, California

If your research uses Montage, please include the following acknowledgement: "This research made use of Montage. It is funded by the National Science Foundation under Grant Number ACI-1440620, and was previously funded by the National Aeronautics and Space Administration's Earth Science Technology Office, Computation Technologies Project, under Cooperative Agreement Number NCC5-626 between NASA and the California Institute of Technology."

The Montage distribution includes an adaptation of the MOPEX algorithm developed at the Spitzer Science Center.