fitstopnm man page

fitstopnm — convert a FITS file into a PNM image


fitstopnm [-image=N] [-scanmax] [-printmax] [-min=f] [-max=f] [-omaxval=N [FITSfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.


fitstopnm reads a FITS (Flexible Image Transport System) file as input and produces a PPM image if the FITS file consists of 3 image planes (NAXIS = 3 and NAXIS3 = 3), or a PGM image if the FITS file consists of 2 image planes (NAXIS = 2), or if you specify the -image option.

Note that the PPM image is highly unlikely to be a true PPM image, as it is not normal for a FITS image to use the third axis as R, G, and B components of the pixels. The most common interpretation when there are 3 axes is that the third one is time. So the image is instead a pseudo-PPM in which the three sample values of a pixel represent something other than color components, for example gray levels at three instants (this variation on PPM is common in programs such as fitstopnm that predate the PAM format).

If you work with FITS images with 3 axes, you should probably always use the -image option to avoid getting an unwanted pseudo-PPM image.

The program tells you what kind of PNM image it is writing.


This is for FITS files with three axes. This option says that the third axis is for multiple images, and the option value N tells which one you want.
This is the maxval that the output PNM image is to have.

By default, the maxval is the least possible to retain all the precision of the FITS input. That means the difference between the highest and lowest sample value in the input. If the values range from -5 to 100, for example, the default maxval would be 106 and each PNM sample value would correspond to one FITS sample value.

For a FITS input with floating point sample values, the precision is essentially unlimited, so this is not possible. In that case, the default maxval is simply 255.

This option was new in Netpbm 10.39 (June 2007). Before that, the output maxval is always the default.
You can use these options to override the min and max values as read from the FITS header or the image data if the header has no DATAMIN and DATAMAX keywords.
Use this option to force the program to scan the data even when the header has DATAMIN and DATAMAX.

With this option, the program just prints the min and max values and quits without doing its normal job.

This is for use in shell programs. Example:

eval 'fitstopnm -printmax $filename | \
awk {min = $1; max = $2} \
      END {print "min=" min; " max=" max}'


Pixel Order

You may need to pass the output of fitstopnm through pamflip -topbottom. See pamtofits

See Also

pamtofits(1) , pamflip(1) , pgm(1)


Copyright (C) 1989 by Jef Poskanzer, with modifications by Daniel Briggs (dbriggs@nrao.edu) and Alberto Accomazzi (alberto@cfa.harvard.edu).

Document Source

This manual page was generated by the Netpbm tool 'makeman' from HTML source. The master documentation is at


Referenced By


Explore man page connections for fitstopnm(1).

netpbm documentation 2 August 2015