---
name: "mJPEG"
section: "1"
platform: "linux"
package: "montage"
version: "4.0+dfsg-3+b3"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/mJPEG"
---

# mJPEG(1)

Convert FITS images or mosaics into grayscale or color JPEG images

## NAME

mJPEG - Convert FITS images or mosaics into grayscale or color JPEG images

## SYNOPSIS

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*

## DESCRIPTION

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

## OPTIONS

- \-d

  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.

## ARGUMENTS

**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:

- \-color

  Provide the image name and stretch information to be used for *color* (one of: "gray", "red", "green", "blue")

- *color*.fits

  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

- logpower/gaussian

  Specify a log power to use in stretching the image.  Can be a positive integer or one of:

        log\
         loglog\
         linear (default)

- \-out *out.jpg*

  Path to the output JPEG image

## RESULT

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***\]**

## EXAMPLES

*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\]*

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