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

# mTANHdr(1)

Determine if there would be an equivalent distorted TAN projection

## NAME

mTANHdr - Determine if there would be an equivalent distorted TAN projection

## SYNOPSIS

mTANHdr \[-d\] \[-o *order*\]\[-i *maxiter*\]\[-t *tolerance*\]\[-s *statusfile*\] orig.hdr new.hdr

## DESCRIPTION

Analyzes a template file and determines if there would be an adequate equivalent distorted TAN projection, within a specified tolerance, and outputs the alternate header. This header can be used in conjunction with **mProjectPP** to produce a TAN plane image. This process is considerably faster than projecting with the general purpose tool **mProject**.

The output header is a FITS header template containing a TAN projection with polynomial focal plane distortions. (Link to an example output header)

**mTANHdr** is most suitable for projections which can be approximated by tangent-plane projections (TAN, SIN, ZEA, STG, ARC), and is also therefore not suited for images covering large portions of the sky.

## OPTIONS

- \-d

  Print additional debugging information to stdout.

- \-o *order*

  Order of output header polynomial focal plane distortions (default = 4)

- \-i *maxiter*

  Maximum number of iteration attempts to produce header (default = 50)

- \-t *tolerance*

  Distortion tolerance value for acceptable output (default = 0.01)

- \-s *statusfile*

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

## ARGUMENTS

- orig.hdr

  Input FITS header

- new.hdr

  Path to output header to be created

## RESULT

**\[struct stat="OK", fwdxerr=***fwdxerr***, fwdyerr=***fwdyerr***, fwditer=***iter***, revxerr=***revxerr***, revyerr=***revyerr***, reviter=***reviter***\]**

*where fwdxerr and fwdyerr are the maximum errors along each axis found when projecting from the original image to the distorted header; revxerr and revyerr are the maximum errors along each axis found when projecting from the distorted header back to the original header; and fwditer and reviter are the number of iterations required in each direction to converge on a solution.*

## MESSAGES

- *OK*

  *\[struct stat="OK", fwdxerr=fwdxerr, fwdyerr=fwdyerr, fwditer=iter, revxerr=revxerr, revyerr=revyerr, reviter=reviter\]*

- *ERROR*

  *-i (iterations) argument*

- *ERROR*

  *-o (order) argument*

- *ERROR*

  *-t (tolerance) argument*

- *ERROR*

  *Cannot open status file: statusfile*

- *ERROR*

  *Cannot open output template file new.hdr*

- *ERROR*

  *All points offscale in forward transform*

- *ERROR*

  *All points offscale in reverse transform*

- *ERROR*

  *Bad template: orig.hdr*

- *ERROR*

  *Output wcsinit() failed.*

- *ERROR*

  *Singular Matrix-1*

- *ERROR*

  *Singular Matrix-2*

- *ERROR*

  *Allocation failure in ivector()*

## EXAMPLES

- *$ mTANHdr input/SIN\_1.hdr alternate.hdr*

  *\[struct stat="OK", fwdxerr=4.31068e-05, fwdyerr=4.42599e-05, fwditer=4, revxerr=1.22123e-05, revyerr=1.19694e-05, reviter=4\]*

*The output header is a FITS header template containing a TAN projection with polynomial focal plane distortions: alternate.hdr*

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