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

# mFitplane(1)

Use least squares to fit a plane to an image

## NAME

mFitplane - Use least squares to fit a plane to an image

## SYNOPSIS

mFitplane \[-b *border*\] \[-d *level*\] \[-s *statusfile*\] in.fits

## DESCRIPTION

Uses least squares to fit a plane (excluding outlier pixels) to an image. It is used on the difference images generated using **mDiff** or **mDiffExec**.

## OPTIONS

- \-b *border*

  Number of border pixels to ignore at edges of image.

- \-d *level*

  Turns on debugging to the specified level (1-3).

- \-l

  Level only: don't fit a slope; just get a zero level.

- \-s *statusfile*

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

## ARGUMENTS

- in.fits

  Input FITS file is a difference file between two other FITS files, as can be generated using **mDiff**.

## RESULT

The plane fit to the image is of the form:

**fit =** *A***\*x +** *B***\*y +** *C*

*where x is the "horizontal" pixel offset from CRPIX1 in the FITS header* *and y is the "vertical" offset from CRPIX2.  Since all reprojected images* *use the same reference pixel, this is a uniform definition for x,y for the* *whole image set.*

*The fitting is a simple least squares, with an iterative loop to exclude* *points more than 2 sigma (sigma defined as the rms from the previous* *loop).*

*The rms output is the value computed above.  The xmin, ... ymax output* *correspond to the range of x,y values found while fitting.  The rms is for* *information only but the xmin, ... ymax are used in the background fitting* *(mBgModel).  crpix1 and crpix2 are the reference pixels for each axis, as determined from the FITS header.*

## MESSAGES

- *OK*

  *\[struct stat="OK", a=A, b=B, c=C, crpix1=crpix1, crpix2=crpix2, xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax, xcenter=xcenter, ycenter=ycenter, npixel=npixel, rms=rms, boxx=boxx, boxy=boxy, boxwidth=boxwidth, boxheight=boxheight, boxang=boxang\]*

- *ERROR*

  *Argument to -b (string) cannot be interpreted as an integer*

- *ERROR*

  *Cannot open status file: statusfile*

- *ERROR*

  *Image file filename missing or invalid FITS*

- *ERROR*

  *FITS library error*

- *ERROR*

  *general error*

- *WARNING*

  *Too few pixels to fit*

- *WARNING*

  *Too few pixels for bounding box*

- *WARNING*

  *Singular Matrix-1*

- *WARNING*

  *Singular Matrix-2*

- *WARNING*

  *allocation failure in ivector()*

## EXAMPLES

- *$ mFitplane 2mass-atlas-990322n-j0640266.fits*

  *\[struct stat="OK", a=-8.9198e-11, b=-2.54173e-10, c=5.24277e-05, crpix1=808, crpix2=212.5, xmin=-808, xmax=167, ymin=-210.5, ymax=638.5, xcenter=-320.871, ycenter=213.014, npixel=314299, rms=0.393003, boxx=-320.92, boxy=212.424, boxwidth=835.421, boxheight=509.274, boxang=-29.5537\]*

## 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.*
