Function Arguments
/*-***********************************************************************/ /* */ /* mProjectCube */ /* */ /* Montage is a set of general reprojection / coordinate-transform / */ /* mosaicking programs. Any number of input images can be merged into */ /* an output FITS file. The attributes of the input are read from the */ /* input files; the attributes of the output are read a combination of */ /* the command line and a FITS header template file. */ /* */ /* This module, mProjectCube, processes a single input image and */ /* projects it onto the output space. It's output is actually a pair */ /* of FITS files, one for the sky flux the other for the fractional */ /* pixel coverage. Once this has been done for all input images, */ /* mAdd can be used to coadd them into a composite output. */ /* */ /* Each input pixel is projected onto the output pixel space and the */ /* exact area of overlap is computed. Both the total "flux" and the */ /* total sky area of input pixels added to each output pixel is */ /* tracked, and the flux is appropriately normalized before writing to */ /* the final output file. This automatically corrects for any multiple */ /* coverages that may occur. */ /* */ /* In order to deal efficiently with cubes, mProjectCube differs from */ /* mProject in one major way. Rather than try to minimize the amount */ /* of memory used, mProjectCube reads the whole cube in up front and */ /* then reprojects all of it. While mProject could read a line at a */ /* time this would result in significant I/O thrashing and slowdown. */ /* */ /* char *input_file FITS file to reproject */ /* int hdu Optional HDU offset for input file */ /* char *output_file Reprojected FITS file */ /* char *template_file FITS header file used to define the desired */ /* output */ /* */ /* char *weight_file Optional pixel weight FITS file (must match */ /* input) */ /* */ /* double fixedWeight A weight value used for all pixels */ /* double threshold Pixels with values below this level treated */ /* as blank */ /* */ /* double drizzle Optional pixel area "drizzle" factor */ /* double fluxScale Scale factor applied to all pixels */ /* int energyMode Pixel values are total energy rather than */ /* energy density */ /* int expand Expand output image area to include all of */ /* the input pixels */ /* int fullRegion Do not "shrink-wrap" output area to non-blank */ /* pixels */ /* int debug Debugging output level */ /* */ /*************************************************************************/ struct mProjectCubeReturn *mProjectCube(char *input_file, int hduin, char *output_file, char *template_file, char *weight_file, double fixedWeight, double threshold, double drizzle, double fluxScale, int energyMode, int expand, int fullRegion, int debugin)
Return Structure
struct mProjectCubeReturn { int status; // Return status (0: OK, 1:ERROR) char msg [1024]; // Return message (for error return) char json[4096]; // Return parameters as JSON string double time; // Run time (sec) };