Downloading Montage

Downloading Montage in whole or in part implies that you agree with the terms stated here.

Montage is available as a g-zipped tar file. The current version is Montage v4.0. Older versions are also available for download but are no longer supported.

The file kept here is the last code formally tested. We are continually updating the code with new feature and bug fixes and this version is maintained in GitHub:

We strongly suggest most users download that instead of the tarball here.

Montage Version Download Link
4.0 (current) Montage_v4.0.tar.gz
3.3 Montage_v3.3.tar.gz
3.2 beta4 Montage_v3.2_beta4.tar.gz
3.0 Montage_v3.0.tar.gz

See the detailed Change History for a thorough description of updates for each version.

About the Latest Version

Version 4.0. is a major upgrade to Montage. It offers the following important improvements:

Please see the Change History for a complete list. This version is used in operations by the Montage on-request Web service. We recommend all users adopt version 4.0, even if they do not wish to process data cubes. To access modules developed by users that work with Montage, see the Contributed Software page. User-contributed software is not covered by the Caltech End User Agreement, nor is it supported by Montage.

Keep Up With Montage

If you would like to connect with other Montage users and be notified of software updates, please visit our Community page to subscribe to a mailing list, read the Montage blog, or follow us on Facebook.

Version History

Release Version Release Date Major Changes
Montage 4.0 9/30/15

New modules to support working with data cubes:

mCubeProj-- Based on mProject, this new module allows for three- and four-dimensional data files (and is easily extended to more dimensions if we ever find data in that form that needs to be projected). mCubeProj is for now kept separate from mProject even though the spatial code is identical to avoid slowing or introducing bugs into that heavily-used module. We may merge them back together in the future.

mCubeProj requires that the first two axes are spatial. See mTranspose if the cube needs to be reorganized into this form.

mTranspose -- Dealing with reprojection and reselection of axes at the same time is much more complicated than either of those operations and makes the code much more likely to harbor bugs. We have opted for requiring the spatial dimensions to be the first two in the cube and providing a "transpose" utility to allow reorganizing files where this is not the case.

mAddCube -- Coadds the reprojected cubes in an inputlist to form an output mosaic with FITS header keywords specified in a header file.

mSubCube -- Creates a subimage (or "cutout") of a FITS file containing a data cube.

mShrinkCube -- Rescale the spatial dimension of a cube. Resampling or even averaging in the third dimension is generally not safe, so we do not attempt it.

Library directory names have been changed to reflect version numbers since most of these are outside packages that can be replaced by the user if desired (e.g. to change to a newer version of the WCS library if it has new projections).

Some modules (checkHdr.c, mAddExec.c, mBgModel.c, mCoverageCheck.c, mDiff.c, mMakeImg.c, mProject.c, mProjectPP.c, mPutHdr.c, mShrink.c, mSubimage.c) have been modified slightly to avoid messages from newer versions of compilers (especially on Mac OS X). No algorithmic changes; mostly proper handling of returns, etc.

We have augmented the "JPEG generator" with enough new functionality that we are rebranding it as a new tool, mViewer. mViewer support grayscale, pseudocolor and full color (three image) rendering into JPEG or PNG files. There are several overlays possible, including coordinate grids (of any sort and number) catalog overlays (scaled and colored symbols with several shapes), image metadata outlines, labels and custom markers, and so on. mJPEG remains in the distribution but we do not plan further development. The JPEG files contain AVM tags that allow them to be ingested into the World Wide Telescope.

This utility can be used standalone, in pipelines, or as the basis of an interactive (AJAX GUI) interaction toolkit. A beta version of the Python wrapper around mViewer has been included in the distribution.

There have been minor updates to several other modules:

  • Image metadata collection for mImgtbl ran into trouble with missing or invalid WCS keywords. Changed to handle more gracefully.
  • mBgModel had a realloc bug where it was point to the wrong array index.
  • An optional parameter was added to mMakeHdr to set a maximum number of pixels on an image side.
  • mOverlaps now checks to see if the image metadata already has the image four corners rather than (re)generating them.
  • mTblSort had a bug where an empty table would loop forever.

Finally, there have been a few additions of minor tools for which need arose:

  • mPad -- Pad a FITS image with null pixel regions (e.g. so mViewer can have a border).
  • mExamine-- Return basic information on a image and optionally on a cone region.
Montage v3.3 12/14/2010

The following modules have been updated. See the Change History for detailed descriptions.

New Utility:

Updated Modules:

Updated Utilities:

Montage v3.0 1/5/2007 The emphasis has been on solidifying Montage use in a distributed Grid environment to allow the building of large-scale mosaics from 2MASS, SDSS, and DPOSS.

See detailed Change History for a thorough description of updates.
New modules include:

Core Modules: Utilities:
Montage v2.2 7/20/2004 Makefiles have been updated and the CFITSIO library modified (see docs/ExternalLibraries.txt for details) to allow the use of 64-bit addressing (files larger than 2 GByte) on LINUX platforms.
Montage v2.1 7/1/2004 Changes have been made to several modules. The biggest change, however, is the addition of mTANHdr (and associated changed to mProjectPP) which allow the fast reprojection of non-tangent-plane projections if they can be approximated as distorted TAN images.
Montage v2.0.4 3/16/2004 -mAdd no longer allocates the entire output image up front, and so uses even less memory.
-level-only flag has been added to mBgModel.
-New module mShrink added to make scaled versions of an image (e.g. image with pixel scale 5.5 times larger than the original)
-New modules mRadHit and mRadHitExec added to try and remove "radiation hit" type artifacts from original unprojected images by comparing pixel values to local medians.
-New modules mDagTbls and mConcatFit added to aid in GRID computing use of Montage. The first generates a set of tables (lists of images, overlap analysis) for use in setting up a batch processing run. The second combines the output of difference fitting (presumably in this context done via separate threads) into a single table for use by mBgModel.
Montage v2.0.3 2/4/2004 mAdd has been updated to better manage memory and a fast reprojection (plane-to-plane) module has been added (mProjectPP).
Montage v2.0.2 1/13/2004 Fixed several problems with 'boundaries' library (used by mMakeHdr). Also fixed a realloc() bug in mMakeHdr.
Montage v2.0.1 11/25/2003 Fixed background matching (specifically mDiff bug) and made various other minor changes.
Montage v2.0 9/17/2003 Status file option added to all modules to support GRID (Montage-G DAG) processing. Fixed a couple of bugs in mProject: FITS reading was being done incorrectly (which caused occassional error conditions) and pixel "handedness" was sometime computed incorrectly for CD matrices.
Montage v1.7 5/30/03 Corrected defect reports from testing of version 1.6.
Montage v1.6 4/24/03 Added support for DSS projection. Corrected defect reports from testing of version 1.5.
Montage v1.5 04/01/03 Improved handling of command line parameters, using the Unix command getopt(). Path handling in mImgtbl modified to use filenames only; paths are fed in via arguments to individual modules.
Montage v1.4 01/27/03 Background matching improved.
Montage v1.3 10/03/02 Workaround for defect in WCS library affecting cylindrical projections; fix for LINUX defect in svc control library.
Montage v1.2 9/25/02 Ported to Linux
Montage v1.1-beta 7/27/02 Updated pixel overlap to remove repeated (within positional tolerance) points. Otherwise the Girard() calculation gets confused.
Montage v1.0 7/01/02 Initial limited release