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
};