/** @file  pmMaskBadPixels.h
 *
 *  @brief Given an input image, a bad pixel mask, a corresponding value in the bad pixel mask to mask, a
 *  saturation level, and a growing radius, mask in the input image those pixels in the bad pixel mask that
 *  match the value to mask.
 *
 *  Given an input image, in, a bad pixel mask, a corresponding value in the bad pixel mask to mask in the
 *  input image, maskVal, a saturation level, and a growing radius, pmMaskBadPixels shall mask in the input
 *  image those pixels in the bad pixel mask that match the value to mask. Note that the input image, in, is
 *  modified in-place. All pixels in the mask which satisfy the maskVal shall have their corresponding pixels
 *  masked in the input image, in. All pixels which satisfy the growVal shall have their corresponding
 *  pixels, along with all pixels within the grow radius masked. Pixels which have flux greater than sat shall
 *  also be masked, but not grown. Note that the input image, in, and the mask need not be the same size,
 *  since the input image may already have been trimmed (following overscan subtraction), but the function
 *  shall use the offsets in the image (in->x0 and in->y0) to determine the appropriate offsets to obtain the
 *  correct pixel on the mask. In the event that the mask image is too small (i.e., pixels on the input image
 *  refer to pixels outside the range of the mask image), the function shall generate an error.
 *
 *  @author Ross Harman, MHPCC
 *
 *  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
 *  @date $Date: 2006-06-10 02:59:23 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
 */
#ifndef PM_MASK_BAD_PIXELS_H
#define PM_MASK_BAD_PIXELS_H

#include "pslib.h"
#include "pmFPA.h"

/** Execute bad pixels module.
 *
 *
 *  @return  bool: True or false for success or failure
 */

bool pmMaskBadPixels(pmReadout *input, pmReadout *mask, psMaskType maskVal);

#endif
