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

# mPutHdr(1)

Replace a FITS image's header with one from an ASCII header template

## NAME

mPutHdr - Replace a FITS image's header with one from an ASCII header template

## SYNOPSIS

mPutHdr \[-d level\] \[-s *statusfile*\] \[-h *hdu*\] in.fits out.fits hdr.template

## DESCRIPTION

Replaces the header of the input file with one supplied by the user.

## OPTIONS

- \-d

  Turns on debugging to the specified level (this version only supports level "1").

- \-s *statusfile*

  Output and errors are sent to *statusfile* instead of to stdout

- \-h *hdu*

  Write to the specified FITS extnension (HDU).

## ARGUMENTS

- *in.fits*

  Input FITS file.

- *out.fits*

  Path to output FITS file (with new header)

- hdr.template

  ASCII header template to write into *out.fits*.

## RESULT

**\[struct stat="OK"\]**

Creates FITS file **out.fits** which contains the same data as **in.fits**, but has the contents of **template.hdr** as its header in the specified extension (default 0, or primary extension).  *numlines* is the number of FITS header lines found in the input header template.

## MESSAGES

- OK

  \[struct stat="OK"\]

- ERROR

  Cannot open status file: *statusfile*

- ERROR

  HDU value (*hdu*) must be a non-negative integer

- ERROR

  Not enough memory for output data image array.

- ERROR

  Input wcsinit() failed.

- ERROR

  *FITS library error*

## EXAMPLES

After running **mGetHdr** to write the contents of a FITS header to a file, we can edit that file to make corrections (remove extraneous lines, add HISTORY lines, etc).  Then, to write a file with the fixed header:

- $ mPutHdr acs.fits acs\_out.fits acs\_fixed.hdr

  \[struct stat="OK"\]

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