FORS Pipeline Reference Manual 4.9.20
|
Data Structures | |
struct | _fors_image |
Defines | |
#define | FORS_IMAGE_TYPE_MAX FLT_MAX |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | LIST_DEFINE |
#define | LIST_ELEM fors_image |
Functions | |
static int | max_filter (const float *ibuffer, float *obuffer, int length, int size) |
fors_image * | fors_image_new (cpl_image *data, cpl_image *variance) |
Create image. | |
fors_image * | fors_image_duplicate (const fors_image *image) |
Copy constructor. | |
void | fors_image_delete (fors_image **image) |
Deallocate image and set pointer to NULL. | |
void | fors_image_delete_const (const fors_image **image) |
Deallocate image and set pointer to NULL. | |
fors_image_list * | fors_image_load_list (const cpl_frameset *frames, const fors_image *bias, const fors_setting *setting, double *saturated) |
Load imagelist. | |
const fors_image_list * | fors_image_load_list_const (const cpl_frameset *frames, const fors_image *bias, const fors_setting *setting, double *saturated) |
Load imagelist. | |
fors_image * | fors_image_load (const cpl_frame *frame, const fors_image *bias, const fors_setting *setting, double *saturated) |
Load image. | |
void | fors_image_save (const fors_image *image, const cpl_propertylist *header, const char *filename) |
Save image. | |
void | fors_image_save_sex (const fors_image *image, const cpl_propertylist *header, const char *filename_dat, const char *filename_var, int radius) |
Save image in format useable by SExtractor. | |
int | fors_image_get_size_x (const fors_image *image) |
Get image width. | |
int | fors_image_get_size_y (const fors_image *image) |
Get image height. | |
const float * | fors_image_get_data_const (const fors_image *image) |
Get pointer to data buffer. | |
void | fors_image_abs (fors_image *image) |
Absolute value. | |
void | fors_image_square (fors_image *image) |
Squared. | |
void | fors_image_subtract (fors_image *left, const fors_image *right) |
Subtract images. | |
void | fors_image_multiply_noerr (fors_image *left, const cpl_image *right) |
Multiply images. | |
void | fors_image_divide_noerr (fors_image *left, cpl_image *right) |
Divide images. | |
void | fors_image_divide (fors_image *left, const fors_image *right) |
Divide images. | |
void | fors_image_multiply (fors_image *left, const fors_image *right) |
Multiply images. | |
void | fors_image_subtract_scalar (fors_image *image, double s, double ds) |
Subtract scalar. | |
void | fors_image_divide_scalar (fors_image *image, double s, double ds) |
Divide by scalar. | |
void | fors_image_multiply_scalar (fors_image *image, double s, double ds) |
Multiply by scalar. | |
void | fors_image_exponential (fors_image *image, double b, double db) |
Exponential. | |
double | fors_image_get_min (const fors_image *image) |
Get min data value. | |
double | fors_image_get_max (const fors_image *image) |
Get max data value. | |
double | fors_image_get_mean (const fors_image *image, double *dmean) |
Get mean data value. | |
double | fors_image_get_median (const fors_image *image, double *dmedian) |
Get median data value. | |
void | fors_image_crop (fors_image *image, int xlo, int ylo, int xhi, int yhi) |
Crop image. | |
cpl_image * | fors_image_filter_median_create (const fors_image *image, int xradius, int yradius, int xstart, int ystart, int xend, int yend, int xstep, int ystep, bool use_data) |
Smooth image. | |
cpl_image * | fors_image_flat_fit_create (fors_image *image, int step, int degree, float level) |
cpl_image * | fors_image_filter_max_create (const fors_image *image, int xradius, int yradius, bool use_data) |
Max filter image. | |
double | fors_image_get_stdev (const fors_image *image, double *dstdev) |
Get empirical stdev of data. | |
double | fors_image_get_stdev_robust (const fors_image *image, double cut, double *dstdev) |
Get robust empirical stdev of data. | |
double | fors_image_get_error_mean (const fors_image *image, double *dmean) |
Get mean of error bars. | |
fors_image * | fors_image_collapse_create (const fors_image_list *images) |
Average collapse. | |
fors_image * | fors_image_collapse_minmax_create (const fors_image_list *images, int low, int high) |
Minmax collapse. | |
fors_image * | fors_image_collapse_ksigma_create (const fors_image_list *images, int low, int high, int iter) |
Ksigma collapse. | |
fors_image * | fors_image_collapse_median_create (const fors_image_list *images) |
Median collapse. | |
void | fors_image_draw (fors_image *image, int type, double x, double y, int radius, double color) |
Draw on image. | |
Variables | |
const cpl_type | FORS_IMAGE_TYPE = CPL_TYPE_FLOAT |
Image data type. |
This object contains
For efficiency+convenience the error bars are internally represented as sigma^2 to avoid the repeated conversion between sigma <-> variance
#define cleanup |
do { \ double_list_delete(&sat_percent, double_delete); \ } while (0)
Definition at line 1890 of file fors_image.c.
#define cleanup |
do { \ cpl_propertylist_delete(header); \ cpl_table_delete(overscans); \ cpl_image_delete(temp); \ cpl_mask_delete(non_saturated); \ fors_setting_delete(&frame_setting); \ } while (0)
Definition at line 1890 of file fors_image.c.
#define cleanup |
do { \ cpl_image_delete(sigma); \ } while(0)
Definition at line 1890 of file fors_image.c.
#define cleanup |
do { \ cpl_image_delete(var_bkg); \ cpl_image_delete(sigma_bkg); \ } while(0)
Definition at line 1890 of file fors_image.c.
#define cleanup |
do { \ cpl_image_delete(temp); \ } while(0)
Definition at line 1890 of file fors_image.c.
#define cleanup |
do { \ fors_image_delete(&dupl); \ } while(0)
Definition at line 1890 of file fors_image.c.
#define cleanup |
do { \ cpl_image_delete(s22d12); \ } while(0)
Definition at line 1890 of file fors_image.c.
#define cleanup |
do { \ cpl_image_delete(temp); \ } while(0)
Definition at line 1890 of file fors_image.c.
#define cleanup |
do { \ cpl_image_delete(input); \ } while(0)
Definition at line 1890 of file fors_image.c.
#define cleanup |
do { \ cpl_mask_delete(rejected); \ cpl_image_delete(im); \ } while (0)
Definition at line 1890 of file fors_image.c.
#define cleanup |
do { \ cpl_imagelist_delete(datlist); \ cpl_imagelist_delete(varlist); \ } while (0)
Definition at line 1890 of file fors_image.c.
#define cleanup |
do { \ cpl_imagelist_delete(datlist); \ cpl_imagelist_delete(varlist); \ } while (0)
Definition at line 1890 of file fors_image.c.
fors_image* fors_image_new | ( | cpl_image * | data, |
cpl_image * | variance | ||
) |
Create image.
data | image data |
variance | image data error bars on the form sigma^2 |
Note: The ownership of the provided images is transferred to the new image object. The input images must therefore not be deallocated
Definition at line 128 of file fors_image.c.
References assure, FORS_IMAGE_TYPE, and fors_type_get_string().
Referenced by create_bias(), create_dark(), create_screen_flat(), create_sky_flat(), extract_sex(), fors_image_collapse_create(), fors_image_collapse_ksigma_create(), fors_image_collapse_median_create(), fors_image_collapse_minmax_create(), fors_image_duplicate(), fors_image_load(), fors_photometry(), test_divide(), test_exponential(), test_image(), test_median_filter(), and test_subtract().
fors_image* fors_image_duplicate | ( | const fors_image * | image | ) |
Copy constructor.
image | to duplicate |
Definition at line 172 of file fors_image.c.
References assure, and fors_image_new().
Referenced by extract_sex(), fors_fixed_pattern_noise(), fors_fixed_pattern_noise_bias(), fors_image_divide(), fors_img_screen_flat(), and write_qc().
void fors_image_delete | ( | fors_image ** | image | ) |
Deallocate image and set pointer to NULL.
image | to delete |
Definition at line 185 of file fors_image.c.
Referenced by extract_sex(), fors_image_delete_const(), fors_img_science(), fors_zeropoint(), test_image(), test_median_filter(), test_stack(), and write_qc().
void fors_image_delete_const | ( | const fors_image ** | image | ) |
Deallocate image and set pointer to NULL.
image | to delete |
Definition at line 200 of file fors_image.c.
References fors_image_delete().
Referenced by fors_img_science(), and fors_zeropoint().
fors_image_list* fors_image_load_list | ( | const cpl_frameset * | frames, |
const fors_image * | bias, | ||
const fors_setting * | setting, | ||
double * | saturated | ||
) |
Load imagelist.
frames | all provided frames are loaded |
bias | master bias image, or NULL |
setting | expected instrument setting |
saturated | (output) if non-NULL, overall saturation percentage. Defined as > 65534.4 or < 0.5 |
The frameset must contain a uniform set of frames.
See also fors_image_load().
Definition at line 257 of file fors_image.c.
References assure, and fors_image_load().
Referenced by fors_image_load_list_const(), fors_img_sky_flat(), and test_stack().
const fors_image_list* fors_image_load_list_const | ( | const cpl_frameset * | frames, |
const fors_image * | bias, | ||
const fors_setting * | setting, | ||
double * | saturated | ||
) |
Load imagelist.
frames | see fors_image_load_list() |
bias | see fors_image_load_list() |
setting | see fors_image_load_list() |
saturated | see fors_image_load_list() |
This function is the same as fors_image_load_list(), but returns an array of const images.
Definition at line 313 of file fors_image.c.
References fors_image_load_list().
Referenced by fors_bias(), fors_dark(), and fors_img_screen_flat().
fors_image* fors_image_load | ( | const cpl_frame * | frame, |
const fors_image * | bias, | ||
const fors_setting * | setting, | ||
double * | saturated | ||
) |
Load image.
frame | to load |
bias | master bias image, or NULL |
setting | expected instrument setting |
saturated | (output) If non-NULL, percentage of saturated pixels in the raw frame (before bias subtraction), defined as > 65534.4 or < 0.5 |
The provided bias image is subtracted and used to define the raw frame error bars. If NULL, the input frame is assumed to be a raw bias and the error bars are given by the read-out-noise as defined in the FITS header. If non-NULL, this bias image is subtracted and the residual flux is used to estimate the photonic noise.
This function currently does not do overscan area correction.
Definition at line 349 of file fors_image.c.
References assure, fors_frame_get_group_string(), fors_image_new(), fors_image_subtract(), fors_image_subtract_scalar(), FORS_IMAGE_TYPE, and fors_setting_verify().
Referenced by fors_dark(), fors_image_load_list(), fors_img_science(), fors_img_screen_flat(), fors_img_sky_flat(), fors_photometry(), fors_zeropoint(), test_bias(), test_dark(), test_image(), test_img_screen_flat(), and test_img_sky_flat().
void fors_image_save | ( | const fors_image * | image, |
const cpl_propertylist * | header, | ||
const char * | filename | ||
) |
Save image.
image | to save |
header | primary FITS header, or NULL |
filename | filename |
The image is saved to a FITS file in the format expected by fors_image_load()
Definition at line 584 of file fors_image.c.
References assure.
Referenced by create_bias(), create_dark(), create_screen_flat(), create_sky_flat(), dfs_save(), test_image(), and test_stack().
void fors_image_save_sex | ( | const fors_image * | image, |
const cpl_propertylist * | header, | ||
const char * | filename_dat, | ||
const char * | filename_var, | ||
int | radius | ||
) |
Save image in format useable by SExtractor.
image | to save |
header | primary FITS header, or NULL |
filename_dat | filename of data values |
filename_var | filename of variances |
radius | median filter radius used to determine background error map |
The image is saved to two separate FITS files
Definition at line 630 of file fors_image.c.
References assure, fors_image_filter_median_create(), fors_image_get_size_x(), and fors_image_get_size_y().
Referenced by extract_sex().
int fors_image_get_size_x | ( | const fors_image * | image | ) |
Get image width.
image | image |
Definition at line 703 of file fors_image.c.
References assure.
Referenced by extract_sex(), fors_fixed_pattern_noise(), fors_fixed_pattern_noise_bias(), fors_image_crop(), fors_image_save_sex(), fors_photometry(), remove_large_scale(), test_image(), and write_qc().
int fors_image_get_size_y | ( | const fors_image * | image | ) |
Get image height.
image | image |
Definition at line 716 of file fors_image.c.
References assure.
Referenced by extract_sex(), fors_fixed_pattern_noise(), fors_fixed_pattern_noise_bias(), fors_image_crop(), fors_image_save_sex(), fors_photometry(), remove_large_scale(), test_image(), and write_qc().
const float* fors_image_get_data_const | ( | const fors_image * | image | ) |
Get pointer to data buffer.
image | image |
Definition at line 728 of file fors_image.c.
References assure, and FORS_IMAGE_TYPE.
Referenced by write_qc().
void fors_image_abs | ( | fors_image * | image | ) |
Absolute value.
image | image |
Every pixel in the data image is set to its absolute value. The variance image is not touched
Definition at line 749 of file fors_image.c.
References assure.
void fors_image_square | ( | fors_image * | image | ) |
Squared.
image | image |
Every pixel in the data image is set to p_i := p_i^2
Definition at line 768 of file fors_image.c.
References assure.
Referenced by write_qc().
void fors_image_subtract | ( | fors_image * | left, |
const fors_image * | right | ||
) |
Subtract images.
left | image to be subtracted from |
right | image to subtract |
New variance image is computed as sigma_left**2 + sigma_right**2
Definition at line 797 of file fors_image.c.
References assure.
Referenced by fors_fixed_pattern_noise(), fors_fixed_pattern_noise_bias(), fors_image_load(), test_subtract(), and write_qc().
void fors_image_multiply_noerr | ( | fors_image * | left, |
const cpl_image * | right | ||
) |
Multiply images.
left | image to be change |
right | factor |
Data values and error bars change according to
data_i := data_i * factor_i sigma_i := sigma_i * factor_i
Definition at line 825 of file fors_image.c.
References assure.
void fors_image_divide_noerr | ( | fors_image * | left, |
cpl_image * | right | ||
) |
Divide images.
left | image to be divided |
right | divisor (modified! zero values are set to one) |
This function does not propagate the divisor error bars
Data values and error bars change according to
data_i := data_i / divisor_i sigma_i := sigma_i / divisor_i for divisor_i != 0
data_i := 1 sigma_i := infinity for divisor_i == 0
Definition at line 863 of file fors_image.c.
References assure.
Referenced by remove_large_scale(), and remove_large_scale_fit().
void fors_image_divide | ( | fors_image * | left, |
const fors_image * | right | ||
) |
Divide images.
left | image to be divided |
right | divisor |
Data values and error bars change according to
data := data1 / data2 sigma^2 := sigma1^2 / data2^2 + sigma2^2 data1^2 / data2^4
left and right may point to the same image, note however that the error propagation formula assumes uncorrelated noise
Division by zero does is not an error but is handled by setting
data_i := 1 sigma_i := infinity
Definition at line 925 of file fors_image.c.
References assure, and fors_image_duplicate().
Referenced by fors_img_science(), fors_zeropoint(), test_divide(), and write_qc().
void fors_image_multiply | ( | fors_image * | left, |
const fors_image * | right | ||
) |
Multiply images.
left | 1st factor (changed) |
right | 2nd factor |
Data values and error bars change according to
data1 := data1 * data2 sigma1^2 := sigma1^2 data2^2 + sigma2^2 data1^2
Definition at line 987 of file fors_image.c.
References assure.
Referenced by fors_photometry().
void fors_image_subtract_scalar | ( | fors_image * | image, |
double | s, | ||
double | ds | ||
) |
Subtract scalar.
image | to be divided |
s | scalar |
ds | error (one sigma) of s, a positive error bar is unsupported |
If ds is negative, data values and error bars change according to
data_i := data_i - s sigma_i := sigma_i
Definition at line 1023 of file fors_image.c.
References assure.
Referenced by fors_image_load(), and write_qc().
void fors_image_divide_scalar | ( | fors_image * | image, |
double | s, | ||
double | ds | ||
) |
Divide by scalar.
image | to be divided |
s | scalar |
ds | error (one sigma) of s, a positive error bar is unsupported for now |
If ds is negative, data values and error bars change according to
data_i := data_i / s sigma_i := sigma_i / s
Definition at line 1048 of file fors_image.c.
References assure.
Referenced by fors_img_science(), fors_img_sky_flat(), fors_photometry(), fors_zeropoint(), and write_qc().
void fors_image_multiply_scalar | ( | fors_image * | image, |
double | s, | ||
double | ds | ||
) |
Multiply by scalar.
image | to be multiplied |
s | scalar |
ds | error (one sigma) of s, a positive error bar is unsupported for now |
If ds is negative, data values and error bars change according to
data_i := data_i * s sigma_i := sigma_i * s
Definition at line 1074 of file fors_image.c.
References assure.
Referenced by fors_photometry(), and write_qc().
void fors_image_exponential | ( | fors_image * | image, |
double | b, | ||
double | db | ||
) |
Exponential.
image | to be exponentiated |
b | base |
db | error (one sigma) of b, a positive error bar is unsupported |
If ds is negative, data values and error bars change according to
data_i := b ^ data_i sigma_i := b ^ data_i ln(b) sigma_i
Definition at line 1103 of file fors_image.c.
References assure.
Referenced by fors_photometry(), and test_exponential().
double fors_image_get_min | ( | const fors_image * | image | ) |
Get min data value.
image | image |
Definition at line 1131 of file fors_image.c.
References assure.
Referenced by fors_zeropoint(), and test_image().
double fors_image_get_max | ( | const fors_image * | image | ) |
Get max data value.
image | image |
Definition at line 1146 of file fors_image.c.
References assure.
Referenced by test_image().
double fors_image_get_mean | ( | const fors_image * | image, |
double * | dmean | ||
) |
Get mean data value.
image | image |
dmean | (output) error of estimate |
Definition at line 1162 of file fors_image.c.
References assure.
Referenced by test_bias(), test_dark(), test_divide(), test_exponential(), test_image(), test_img_screen_flat(), test_img_sky_flat(), test_stack(), test_subtract(), and write_qc().
double fors_image_get_median | ( | const fors_image * | image, |
double * | dmedian | ||
) |
Get median data value.
image | image |
dmedian | (output) error of estimate |
Definition at line 1179 of file fors_image.c.
References assure.
Referenced by fors_image_get_stdev_robust(), fors_img_science(), fors_img_sky_flat(), fors_photometry(), fors_zeropoint(), remove_large_scale_fit(), test_bias(), test_img_screen_flat(), and write_qc().
void fors_image_crop | ( | fors_image * | image, |
int | xlo, | ||
int | ylo, | ||
int | xhi, | ||
int | yhi | ||
) |
Crop image.
image | image |
xlo | lower left x |
ylo | lower left y |
xhi | upper right x |
yhi | upper right y |
This function does a locale image extraction, that is the parts outside the rectangular region (xlo, ylo) - (xhi, yhi) are removed.
Coordinates are inclusive, counting from 1
Definition at line 1204 of file fors_image.c.
References assure, fors_image_get_size_x(), and fors_image_get_size_y().
Referenced by extract_sex(), fors_fixed_pattern_noise(), fors_fixed_pattern_noise_bias(), test_image(), and write_qc().
cpl_image* fors_image_filter_median_create | ( | const fors_image * | image, |
int | xradius, | ||
int | yradius, | ||
int | xstart, | ||
int | ystart, | ||
int | xend, | ||
int | yend, | ||
int | xstep, | ||
int | ystep, | ||
bool | use_data | ||
) |
Smooth image.
image | to filter |
xradius | half x window size |
yradius | half y window size |
xstart | x start |
ystart | y start |
xend | x end |
yend | y end |
xstep | x-distance between kernel sampling positions The value 1 gives a normal median filter. The center of the kernel is always sampled, therefore edge locations are conserved Note: periodic structure on the scale xstep is *not* smoothed out |
ystep | see xstep |
use_data | if true, the data values are filtered, otherwise the variance map is filtered |
Window size is (2 * xradius + 1) * (2 * yradius + 1)
At the image border, the median is computed using the available (fewer) pixels
Definition at line 1261 of file fors_image.c.
References assure, FORS_IMAGE_TYPE, and fors_tools_get_median_float().
Referenced by fors_image_save_sex(), remove_large_scale(), and test_median_filter().
cpl_image* fors_image_filter_max_create | ( | const fors_image * | image, |
int | xradius, | ||
int | yradius, | ||
bool | use_data | ||
) |
Max filter image.
image | to filter |
xradius | half x window size |
yradius | half y window size |
use_data | if true, the data values are filtered, otherwise the variance map is filtered |
Window size is (2 * xradius + 1) * (2 * yradius + 1)
At the image border, the max value is computed repeating the last found at half window size from the edge.
Definition at line 1494 of file fors_image.c.
References assure, and FORS_IMAGE_TYPE.
Referenced by extract_sex().
double fors_image_get_stdev | ( | const fors_image * | image, |
double * | dstdev | ||
) |
Get empirical stdev of data.
image | image |
dstdev | (output) error of estimate |
Definition at line 1569 of file fors_image.c.
References assure.
Referenced by fors_fixed_pattern_noise(), test_bias(), test_image(), test_stack(), and write_qc().
double fors_image_get_stdev_robust | ( | const fors_image * | image, |
double | cut, | ||
double * | dstdev | ||
) |
Get robust empirical stdev of data.
image | image |
cut | pixels outside median +- cut are ignored |
dstdev | (output) error of estimate |
Definition at line 1590 of file fors_image.c.
References assure, and fors_image_get_median().
Referenced by fors_fixed_pattern_noise_bias().
double fors_image_get_error_mean | ( | const fors_image * | image, |
double * | dmean | ||
) |
Get mean of error bars.
image | image |
dmean | (output) error of estimate |
The average is computed as
(1/N * sum_i sigma_i^2)^(1/2)
Definition at line 1633 of file fors_image.c.
References assure.
Referenced by test_bias(), test_dark(), test_divide(), test_img_screen_flat(), test_img_sky_flat(), test_stack(), and test_subtract().
fors_image* fors_image_collapse_create | ( | const fors_image_list * | images | ) |
Average collapse.
images | list of images to collapse |
Variance is computed as (sum_i var_i) / N*N
Definition at line 1665 of file fors_image.c.
References assure, fors_image_new(), and fors_imagelist_collapse_create().
Referenced by fors_stack_const().
fors_image* fors_image_collapse_minmax_create | ( | const fors_image_list * | images, |
int | low, | ||
int | high | ||
) |
Minmax collapse.
images | list of images to collapse |
low | number of low rejected values |
high | number of high rejected values |
Variance is computed as (sum_i var_i) / N*N
Definition at line 1731 of file fors_image.c.
References assure, and fors_image_new().
Referenced by fors_stack_const().
fors_image* fors_image_collapse_ksigma_create | ( | const fors_image_list * | images, |
int | low, | ||
int | high, | ||
int | iter | ||
) |
Ksigma collapse.
images | list of images to collapse |
low | lower number of sigmas |
high | higher number of sigmas |
iter | max number of iterations |
Variance is computed as (sum_i var_i) / N_i*N_i, where N_i is from the contribution map.
Definition at line 1787 of file fors_image.c.
References assure, fors_image_new(), and mos_ksigma_stack().
Referenced by fors_stack_const().
fors_image* fors_image_collapse_median_create | ( | const fors_image_list * | images | ) |
Median collapse.
images | list of images to collapse |
Variance is computed as f(N)^2 (sum_i var_i) / N*N
where f(N) is given by fors_utils_median_corr()
Definition at line 1839 of file fors_image.c.
References assure, fors_image_new(), fors_imagelist_collapse_create(), fors_imagelist_collapse_median_create(), and fors_utils_median_corr().
Referenced by fors_stack_const().
void fors_image_draw | ( | fors_image * | image, |
int | type, | ||
double | x, | ||
double | y, | ||
int | radius, | ||
double | color | ||
) |
Draw on image.
image | to draw on |
type | type of thing to draw |
x | position |
y | position |
radius | size of thing to draw |
color | pixel value used for drawing |
This function might be used for debugging purposes.
type 0: horizontal line type 1: vertical line type 2: circle
Definition at line 1908 of file fors_image.c.
References assure.
Referenced by fors_zeropoint().