The input image, in, and the flat field image, flat, 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 flat field. In the event that the flat image is too small (i.e., pixels on the input image refer to pixels outside the range of the flat image), the function shall generate an error. Pixels which are negative or zero in the flat shall be masked in the input image with the value PM_MASK_FLAT. Negative pixels in the flat may be set to zero so that they are treated identically to zeroes. Any pixels masked in the flat shall be masked with corresponding values in the output. The function shall not normalize the flat; this responsibility is left to the caller. This function is basically equivalent to a divide (with psImageOp), but with care for the region that is divided, checking for negative pixels, and copying of the mask from the flat to the output.
Definition in file pmFlatField.h.
#include "pslib.h"
#include "pmAstrometry.h"
Include dependency graph for pmFlatField.h:

Go to the source code of this file.
Functions | |
| bool | pmFlatField (pmReadout *in, const pmReadout *flat) |
| Execute flat field module. | |
|
||||||||||||
|
Execute flat field module. Given an input image and a flat-field image, pmFlatField shall divide the input image by the flat field image.
|
1.4.5