Function Arguments
/*-***********************************************************************/ /* */ /* mProjectPP */ /* */ /* 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, mProjectPP, 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. */ /* */ /* mProjectPP is a "special case" version of mProject and can be used */ /* only where the input and output images have tangent-plane */ /* projections (e.g. TAN, SIN) or where they can be approximated by */ /* a "pseudo-TAN" header as determined by mTANHdr. */ /* */ /* 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. */ /* */ /* The input can come from from arbitrarily disparate sources. It is */ /* assumed that the flux scales in the input images match, but this is */ /* not required (leading to some interesting combinations). */ /* */ /* 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 weights below this level treated */ /* as blank */ /* */ /* char *borderstr Optional string that contains either a border */ /* width or comma-separated "x1,y1,x2,y2, ..." */ /* pairs defining a pixel region polygon where */ /* we keep only the data inside. */ /* */ /* char *altin Alternate psuedo-TAN header for input. */ /* char *altout Alternate psuedo-TAN header for output. */ /* */ /* double drizzle Optional pixel area "drizzle" factor */ /* double fluxScale Scale factor applied to all pixels */ /* 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 mProjectPPReturn *mProjectPP(char *input_file, int hduin, char *ofile, char *template_file, char *weight_file, double fixedWeight, double threshold, char *borderstr, char *altin, char *altout, double drizzle, double fluxScale, int expand, int fullRegion, int debugin)
Return Structure
struct mProjectPPReturn { 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) };