Function Arguments
/*-***********************************************************************/ /* */ /* mFixNaN */ /* */ /* 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, mFixNaN, converts NaNs found in the image to some */ /* other value (given by the user) or ranges of values to NaNs */ /* */ /* char *input_file FITS file to fix */ /* char *output_file Fixed FITS file */ /* */ /* int boundaries Some projections (e.g. Aitoff) have regions */ /* of the image that are non-physical but which */ /* may have non-blank values (e.g. 0 instead of */ /* NaN). If this flag is on, check for that and */ /* convert those pixels to proper NaNs. */ /* */ /* int haveVal This flag indicates that NaNs should be */ /* converted to a different value. */ /* */ /* double NaNvalue The value associated with the above flag. */ /* This is for situations where the NaNs in the */ /* image are incorrectly used. */ /* */ /* int nMinMax The next five arguments define a set of value */ /* ranges which will be converted to NaNs. This */ /* one is the count of these ranges. */ /* */ /* double *minblank The "ranges" can either have min/max values */ /* or can be just an upper (max) value (i.e. */ /* with a min of -Infinity) or a lower (min) */ /* value (i.e. with a max of +Infinity). This */ /* array of values are the minumums. */ /* */ /* int *ismin This array is a set of booleans indicating */ /* whether each min value above is part of a */ /* min/max range (0) or a standalone lower limit */ /* (in which case the corresponding max is */ /* ignored). */ /* */ /* double *maxblank Max values for min/max ranges or standalone */ /* upper limits. */ /* */ /* int *ismax Booleans indicating whether each max value is */ /* part of a min/max range (0) or a standalone */ /* upper limit (1). */ /* */ /* int debug Debugging output level */ /* */ /*************************************************************************/ struct mFixNaNReturn *mFixNaN(char *input_file, char *output_file, int boundaries, int haveVal, double NaNvalue, int nMinMax, double *minblank, int *ismin, double *maxblank, int *ismax, int debug)
Return Structure
struct mFixNaNReturn { int status; // Return status (0: OK, 1:ERROR) char msg [1024]; // Return message (for error return) char json[4096]; // Return parameters as JSON string int rangeCount; // Number of pixels found in the range(s) specified int nanCount; // Number of NaN pixels found int boundaryCount; // Number of pixels found in "boundary" regions };