/** @file censor.h
 *
 *  @brief censorObjects rejects objects from smf files that land on magic masks
 *
 *  @ingroup censor
 *
 *  @author IfA
 *  @version $Revision: 1.49 $ $Name: not supported by cvs2svn $
 *  @date $Date: 2009-02-09 21:25:34 $
 *  Copyright 2009 Institute for Astronomy, University of Hawaii
 */

# ifndef CENSOR_H
# define CENSOR_H

# include <stdio.h>
# include <string.h>
# include <strings.h>  // for strcasecmp
# include <unistd.h>   // for unlink
# include <pslib.h>
# include <psmodules.h>
# include <ppStats.h>
# include "censorErrorCodes.h"

/// @addtogroup censor
/// @{

# define CENSOR_RECIPE "CENSOR" ///< Name of the recipe to use

pmConfig *censorArguments (int argc, char **argv);
bool censorParseCamera (pmConfig *config);
bool censorLoop (pmConfig *config);
bool checkInputLoop (pmConfig *config);
bool censorReadout (pmReadout *readout, pmConfig *config, const pmFPAview *view, bool badMaskFile);
void censorCleanup (pmConfig *config);
bool censorBadFileByView (bool badFile, pmFPAfile *file, pmConfig *config, pmFPAview *view);

// Return version strings.
psString          censorVersion(void);
psString          censorSource(void);
psString          censorVersionLong(void);
bool              censorVersionHeader(psMetadata *header);
bool              censorVersionHeaderFull(psMetadata *header);
void              censorVersionPrint(void);

///@}
# endif /* CENSOR_H */
