mMakeHdr

Description:
From a list of images to be mosaicked together, mMakeHdr generates the FITS header that best describes the output image. If the input metadata represent a properly matched set of data cubes (three or four dimensions), the header will reflect this and can be used in cube mosaicking. If the spatial coverage of the data is large enough that a TAN projection header is infeasable, an allsky (AITOFF) header will be created, though this should be used with caution as it can easily be the result of metadata for images that shouldn't really be combined.
Syntax:
MakeHdr [-d level] [-s statusfile] [-p(ixel-scale) cdelt] [-P maxpixel] [-n] images.tbl template.hdr [system [equinox]]

Switches:

-d level
Turns on debugging to the specified level (1-3).
-s statusfile
Output and errors are written to statusfile instead of to stdout.
-p cdelt
Specify a pixel scale for the header, if different from the input images.
-P maxpixel
Sanity check; forces an upper limit on derived NAXIS1, NAXIS2, just in time.
-n
"North-aligned" flag. By default, the FITS header generated represents the best fit to the images, often resulting in a slight rotation. If you want north to be straight up in your final mosaic, you should use this flag.

Arguments:

images.tbl
Metadata table (generated by mImgtbl) describing the images to be mosaicked.
template.hdr
Path to header template to be generated.
system (optional)
Specifies the system for the header (default is Equatorial). Possible values are:
  • EQUJ
  • EQUB
  • ECLJ
  • ECLB
  • GAL
  • SGAL
equinox (optional)
If a coordinate system is specified, the equinox can also be given in the form YYYY. Default is J2000.
Results:
Creation of output file template.hdr.

Examples:

$ mMakeHdr 2mass-images.tbl orig.hdr
[struct stat="OK", count=30]

Return Codes:

  • [struct stat = "OK", count=nimages, ncube=ncubes, clon=ra, clat=dec, lonsize=crpix1, latsize=crpix2, posang=ang, lon1=ra1, lat1=dec1, lon2=ra2, lat2=dec2, lon3=ra3, lat3=dec3, lon4=ra4, lat4=dec4]
  • [struct stat = "OK", msg="messages about projection and number of axes", count=nimages, ncube=ncubes, clon=ra, clat=dec, lonsize=crpix1, latsize=crpix2, posang=ang, lon1=ra1, lat1=dec1, lon2=ra2, lat2=dec2, lon3=ra3, lat3=dec3, lon4=ra4, lat4=dec4]
  • [struct stat="ERROR", msg="Usage: mMakeHdr [-d level] [-s statusfile] [-p(ixel-scale) cdelt] [-n] images.tbl template.hdr [system [equinox]] (where system = EQUJ|EQUB|ECLJ|ECLB|GAL|SGAL)"]
  • [struct stat="ERROR", msg="Memory allocation failure."]
  • [struct stat="ERROR", msg="Invalid pixel scale string: cdelt"]
  • [struct stat="ERROR", msg="Cannot open status file: statusfile"]
  • [struct stat="ERROR", msg="Invalid system string. Must be EQUJ|EQUB|ECLJ|ECLB|GAL|SGAL"]
  • [struct stat="ERROR", msg="Equinox string is not a number"]
  • [struct stat="ERROR", msg="Can't open output header file."]
  • [struct stat="ERROR", msg="Invalid image metadata file: filename"]
  • [struct stat="ERROR", msg="Need columns: ctype1 ctype2 nl ns crval1 crval2 crpix1 crpix2 cdelt1 cdelt2 crota2 (equinox optional). Four corners (equatorial) will be used if they exist or even just a single set of coordinates"] (columns missing from image metadata table)
  • [struct stat="ERROR", msg="Bad WCS for image n"]
  • [struct stat="ERROR", msg="Error computing boundaries."]
  • [struct stat="ERROR", msg="Output wcsinit() failed."]