Caveats
General Caveats:
- See the list of supported projections for a list of projections that have been formally tested by Montage. Other projection combinations are processed at user's risk.
- 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"] - The copy of the WCS library included with the Montage code is from WCSTools v3.6.4. We have not thoroughly tested (and do not support) any other version of the WCS library. If you would prefer to use your own copy of the library, you should use the most recent version available, as versions prior to 3.3.4 will result in difficulties handling the ZPN projection and processing CCD distortion parameters.
- 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.
- A variable definition in some of the Montage modules can cause a segmentation fault under MacOS 10.2.x, because the default stacksize limit in this OS is quite low. If you have this problem, you might want to change the stacksize limit in the shell in which you are running Montage, by either typing "limit stacksize 8M" into your shell, or adding this to your .cshrc file. If you are using sh or bash, you would type "ulimit -s 8192" to do the same thing (increasing the stack size to 8MB), and this could be put in your .profile file.
mImgtbl:
- We recommend use of the "-c" option when running mImgtbl to include the locations of the four corners of each image in the output metadata table. Some other modules may require the corner locations to function correctly.
mProjectPP and mTanHdr:
- mProjectPP is only suitable for use on projections which can be approximated by tangent-plane projections (TAN, SIN, ZEA, STG, ARC), and is therefore not suited for images covering large portions of the sky. Also note that it does not directly support changes in coordinate system (i.e. equatorial to galactic coordinates), though these changes can be facilitated by the use of an alternate header.
mAdd:
- Although the memory limitation for output images has been overcome in versions 2.x and above of Montage, it is still possible (though unlikely) to create an out-of-memory situation due to the size and number of input images. mAdd builds the output image one row at a time, and stores every pixel from any input image that contributes to that row in memory.
- If you have a large enough mosaic, it is almost always more efficient (and often easier on the user) to tile it. There are tools in Montage to help with this and these have been brought together under mAddExec. In fact, even if you want a single output image, it may be faster to do it in two steps: mAddExec to create a set of tiles, and then mAdd to make a final mosaic from these tiles. There is absolutely no loss of information in doing this.
mOverlaps:
- mOverlaps generates a list of images whose outer boundaries overlap. This does not guarantee that any image pixels within those images actually overlap; the overlap regions may only contain blank pixels, especially in images that have been rotated a significant amount.
This eventually will result in a number of images showing up as "failed" when running subsequent programs like mDiffExec, but this will not have any effect on the final mosaic.
mMakeHdr:
- Due to some numerical approximation, the "North Up" bounding box calculated when the -n switch is on can be skewed a fraction of a degree.
Note about ANSI Compliance:
Montage uses getopt to parse command line arguments. getopt is a UNIX system utility compliant with IEEE Standard 1003.1-2001. If Montage modules are compiled with the "-ansi" switch, all but mCoverageCheck, mHdrCheck, and mSubimage will return messages such as:
mAdd: mAdd.c: In function `main': mAdd.c:144: `opterr' undeclared (first use in this function) mAdd.c:144: (Each undeclared identifier is reported only once mAdd.c:144: for each function it appears in.) mAdd.c:151: `optarg' undeclared (first use in this function) mAdd.c:165: `optind' undeclared (first use in this function) make: *** [mAdd.o] Error 1
Montage still builds and runs correctly. The messages are returned because the header files for getopt do not declare it as external. The solution is simply to add these lines to those modules that return the messages:
extern char *optarg;
extern int optind, opterr;
They will be included in the next distribution of Montage.