mFitplane
- 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.
- Syntax:
- mFitplane [-b border] [-d level] [-s statusfile] in.fits
Switches:
- -b border
- Number of border pixels to ignore at edges of image.
- -d level
- Turns on debugging to the specified level (1-3).
- -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.
- Results:
- 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.
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]
Return Codes:
- [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]
- [struct stat="ERROR", msg="Usage: mFitplane [-b border] [-d level] [-s statusfile] in.fits"]
- [struct stat="ERROR", msg="Argument to -b (string) cannot be interpreted as an integer"]
- [struct stat="ERROR", msg="Cannot open status file: statusfile"]
- [struct stat="ERROR", msg="Image file filename missing or invalid FITS"]
- [struct stat="ERROR", status=n, msg="FITS library error"]
- [struct stat="ERROR", msg="general error"]
- [struct stat="WARNING", msg="Too few pixels to fit"]
- [struct stat="WARNING", msg="Too few pixels for bounding box"]
- [struct stat="WARNING", msg="Singular Matrix-1"]
- [struct stat="WARNING", msg="Singular Matrix-2"]
- [struct stat="WARNING", msg="allocation failure in ivector()"]