mJPEG(1) Convert FITS images or mosaics into grayscale or color JPEG images


mJPEG [-d] [-t power] [-s statusfile] [-ct color-table]

[-gray in.fits minrange maxrange [logpower/gaussian]

[-red red.fits rminrange rmaxrange [rlogpower/gaussian]

[-green green.fits gminrange gmaxrange [glogpower/gaussian]

[-blue blue.fits bminrange bmaxrange [blogpower/gaussian]

-out out.jpg


Generates a JPEG image file from a FITS file (or a set of three FITS files in color). A data range for each image can be defined, and the data can be stretched by any power of the log() function (including zero: linear). Pseudo-color color tables can be applied in single-image mode.

Note: If creating a true color image, all input images must have identical WCS information (ie, same size, resolution, coordinate system, etc).


Print out additional debugging information
-t power
Increasing the value of power will enhance the contrast between colors; useful when all pixels are close to white, but you wish to accentuate the color difference.
-s statusfile
Write output and errors to statusfile instead of stdout
-ct color-table
Choose a color table for pseudo-color images; color-table can be an integer between 0 and 11. Click here for samples of each color table.


mJPEG takes as arguments a list of FITS images to be used as input for the true- or pseudo-color image. To create a pseudo-color image from a single FITS file, use the -gray flag; to create a true-color image, use the -red, -green, and -blue flags together. The syntax for each is the same:

Provide the image name and stretch information to be used for color (one of: "gray", "red", "green", "blue")
Filename of input image for this color. Can use a specific FITS extension by including it as: "filename.fits[X]", where X is the HDU number.
minrange maxrange
Lower/upper pixel values to use when stretching the image. Can also be expressed as a percentage, a sigma value, or any combination of these three. Some examples:
    0 100
    0s 99.999%
    -1s 1s
Specify a log power to use in stretching the image. Can be a positive integer or one of:
      linear (default)
-out out.jpg
Path to the output JPEG image


The output message includes stretch information from the creation of the JPEG:

Psuedo-color (gray input only):

[struct stat="OK", min=datamin, minpercent=minfrac, max=datamax, maxpercent=maxfrac]

Three-color (red/green/blue inputs):

  [struct stat="OK", bmin=bdatamin, bminpercent=bminfrac, bmax=bdatamax, bmaxpercent=bmaxfrac, gmin=gdatamin, gminpercent=gminfrac, gmax=gdatamax, gmaxpercent=gmaxfrac, rmin=rdatamin, rminpercent=rminfrac, rmax=rdatamax, rmaxpercent=rmaxfrac]


To create a grayscale image from a FITS file:

$ mJPEG -ct 1 -gray SINGS_B.fits 0s 99.999% gaussian -out SINGS_B.jpg
[struct stat="OK", min=0.391706, minpercent=50.00, max=136.555, maxpercent=100.00]

Output grayscale JPEG:

To create a true 3-color image from three input images:

$ mJPEG -t 2 -blue SINGS_B.fits 0s 99.999% gaussian

-green SINGS_R.fits 0s 99.999% gaussian

-red SINGS_I.fits 0s 99.999% gaussian

-out SINGS_3color.jpg [struct stat="OK", bmin=0.391706, bminpercent=50.00, bmax=136.555, bmaxpercent=100.00, gmin=2.98851, gminpercent=50.00, gmax=366.148, gmaxpercent=100.00, rmin=4.26902, rminpercent=50.00, rmax=295.179, rmaxpercent=100.00]


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.


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.