---
name: "mProjExec"
section: "1"
platform: "linux"
package: "montage"
version: "6.1+dfsg-1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mProjExec"
---

# mProjExec(1)

Re-project and mosaic your images, with background rectification

## NAME

mProjExec - Re-project and mosaic your images, with background rectification

## SYNOPSIS

mProjExec \[-q\] \[-p *rawdir*\] \[-d\] \[-e\] \[-X\] \[-b *border*\] \[-r *restartrec*\] \[-s *statusfile*\] \[-x scaleColumn\] images.tbl template.hdr projdir stats.tbl

## DESCRIPTION

An executive which runs **mProject** (or, if possible for the input/output projections, **mProjectPP**) for each image in an image metadata table.   In the case of data cubes, **mProjectCube** will be used.

## OPTIONS

- \-q

  Use mProjectQL for reprojections.  Much faster but not quite flux-conserving.

- \-p *rawdir*

  Specifies the path to the directory containing the images to be reprojected.  If the -p switch is not included, **mProjExec** looks for the images in the current working directory.

- \-d

  Turns on debugging

- \-e

  Flag indicating output image should exactly match the FITS header template, and not crop off blank pixels

- \-X

  Force reprojection of whole images, even if they exceed the area of the FITS header template

- \-b *border*

  Ignore *border* width of pixels around edge of images

- \-r *restartrec*

  Allows restart at record number *restartrec*, if **mProjExec** exits upon an error

- \-s *statusfile*

  Output and errors are written to statusfile instead of being written to stdout.

- \-x *scaleColumn*

  Turn on flux rescaling (e.g. magnitude zero point correction): *scaleColumn* is the name of a column in *images.tbl* which contains scale information.

## ARGUMENTS

- images.tbl

  ASCII table (generated by **mImgtbl**) containing metadata for all images to be reprojected.

- template.hdr

  FITS header template to be used in generation of output FITS.

- projdir

  Directory in which to create reprojected images.

- stats.tbl

  Name of table for output statistics (time of each reprojection, or error messages).

## RESULT

**\[struct stat="OK", count=16, failed=0, nooverlap=0\]**

For each input file **name.fits** in the table **images.tbl**, **mProjExec** creates a corresponding **name.fits** and **name\_area.fits** in the directory **projdir**.

*nimages* is the number of images successfully processed, *nfailed* is the number of images mProject was unable to process, and *noutside* is the number of images that did not overlap with the given **template.hdr**.

The file **stats.tbl** is an ASCII table containing the filename, status, and time for each file.

## MESSAGES

- OK

  \[struct stat="OK", count=*nimages*, failed=*nfailed*, nooverlap=*noutside*\]

- ERROR

  MPI initialization failed

- ERROR

  Path (*outdir*) is not a directory

- ERROR

  Restart index value string *n* cannot be interpreted as an integer

- ERROR

  Restart index value *n* must be greater than or equal to zero

- ERROR

  Cannot open status file: *statusfile*

- ERROR

  Can't open output file.

- ERROR

  Can't open tmp status file.

- ERROR

  Can't delete tmp status file.

- ERROR

  Need column fname in input

- ERROR

  Need column *scaleCol* in input

- ERROR

  Output would overwrite input

- ERROR

  Template file *template.hdr* not found

- ERROR

  Output wcsinit() failed

- ERROR

  mProject or mProjectPP error

## EXAMPLES

The following example runs **mProjExec** on a directory containing 16 images. The -f switch specifies that **mProjExec** will use **mProjectPP** to reproject the files, as opposed to **mProject**. Relevant files are images.tbl, generated by **mImgtbl**, and template.hdr.  Files will be created in the directory **projdir**.

- $ mProjExec -p raw images.tbl template.hdr proj stats.tbl

  \[struct stat="OK", count=16, failed=0, nooverlap=0\]

See output file **stats.tbl**.

## BUGS

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.

## COPYRIGHT

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.
