The mViewer application makes PNG/JPEG files using FITS images as input. Part of that processing involves analyzing the FITS files and creating a histogram that is used to inform the transformation from pixel values to display colors/intensities. This processing is done inside mViewer itself.

However, there are situations where it helps to have the histogram earlier. For instance, you may have several images to process into PNGs and wish to use the same histogram-based stretch for each one. Or you may want to generate a set of pixel values that give the visual impression of a color bar (see mPad). Sometimes, you may just want the histogram itself for display or analysis purposes.

The mHistogram module contains the same histogram code as mViewer but writes the results out to an ASCII file which can then be read in by mHistogram, mPad or user programs.

mHistogram [-d] -file in.fits minrange maxrange [logpower/gaussian/gaussian-log/asinh [asinh-beta]] -out out.hist


Turn on debugging.
-file in.fits minrange maxrange [logpower/gaussian/gaussian-log/asinh [asinh-beta]]
The FITS image file; stretch range; and (optionally) stretch mode. See the mViewer documentation for more details.
-out out.hist
Output histogram (ASCII) file.
If successful, the result is an ASCII file containing the histogram data, color table lookup mapping, and some other information.


mHistogram -file SDSS_r.fits -2s max gaussian-log -out SDSS_r.hist
[struct stat="OK"]

Return Codes:

  • [struct stat="ERROR", msg="Too few arguments following -file flag"]
  • [struct stat="ERROR", msg="Image file badfile invalid FITS"]
  • [struct stat="ERROR", msg="Can't find HDU badHDU"]
  • [struct stat="ERROR", msg="Too few arguments following -out flag"]
  • [struct stat="ERROR", msg="No input FITS file name given"]
  • [struct stat="ERROR", msg="No output histogram file name given"]
  • [struct stat="ERROR", msg="Cannot open output histogram file."]
  • [struct stat="ERROR", msg="Grayscale/pseudocolor mode but no gray image given"]
  • [struct stat="ERROR", status=stat, msg="FITS library error"]
  • [struct stat="ERROR", msg="leading numeric term in 'string' cannot be converted to a finite floating point number"]
  • [struct stat="ERROR", msg="'' is not a valid datatype"]
  • [struct stat="ERROR", msg="'': negative percentile"]
  • [struct stat="ERROR", msg="'': percentile context larger than 100"]
  • [struct stat="ERROR", msg="extra numeric term in context 'string' cannot be converted to a finite floating point number"]
  • [struct stat="ERROR", msg="context 'string' contains trailing junk"]