FORS Pipeline Reference Manual
4.12.5
|
Macros | |
#define | WCS_KEYS "^((CRVAL|CRPIX|CTYPE|CDELT)[0-9]|RADECSYS|CD[0-9]_[0-9])$" |
#define | cleanup |
#define | cleanup |
#define | cleanup |
#define | cleanup |
Functions | |
static char * | strlower (char *s) |
char * | dfs_generate_filename (const char *category) |
static void | errorstate_dump_one (unsigned self, unsigned first, unsigned last) |
Dump a single CPL error. More... | |
void | fors_begin (cpl_frameset *frames, const char *description_short) |
Start recipe execution. More... | |
int | fors_end (const cpl_frameset *frames, cpl_errorstate before_exec) |
End recipe execution. More... | |
void | fors_dfs_set_groups (cpl_frameset *set) |
Set the group as RAW or CALIB in a frameset. More... | |
const char * | fors_dfs_pipeline_version (const cpl_propertylist *header, const char **instrument_version) |
Get pipeline and instrument versions. More... | |
int | dfs_get_parameter_int (cpl_parameterlist *parlist, const char *name, const cpl_table *defaults) |
Reading a recipe integer parameter value. More... | |
double | dfs_get_parameter_double (cpl_parameterlist *parlist, const char *name, const cpl_table *defaults) |
Reading a recipe double parameter value. More... | |
const char * | dfs_get_parameter_string (cpl_parameterlist *parlist, const char *name, const cpl_table *defaults) |
Reading a recipe string parameter value. More... | |
int | dfs_get_parameter_bool (cpl_parameterlist *parlist, const char *name, const cpl_table *defaults) |
Reading a recipe boolean parameter value. More... | |
int | dfs_get_parameter_bool_const (const cpl_parameterlist *parlist, const char *name) |
int | dfs_get_parameter_int_const (const cpl_parameterlist *parlist, const char *name) |
double | dfs_get_parameter_double_const (const cpl_parameterlist *parlist, const char *name) |
const char * | dfs_get_parameter_string_const (const cpl_parameterlist *parlist, const char *name) |
cpl_image * | dfs_load_image (cpl_frameset *frameset, const char *category, cpl_type type, int ext, int calib) |
Loading image data of given category. More... | |
cpl_table * | dfs_load_table (cpl_frameset *frameset, const char *category, int ext) |
Loading table data of given category. More... | |
cpl_propertylist * | dfs_load_header (cpl_frameset *frameset, const char *category, int ext) |
Loading header associated to data of given category. More... | |
static void | dfs_save (cpl_frameset *frameset, const void *object, fors_type type, const char *category, cpl_propertylist *header, const cpl_parameterlist *parlist, const char *recipename, const cpl_frame *inherit_frame) |
Save DFS product. More... | |
void | fors_dfs_save_image (cpl_frameset *frameset, const cpl_image *image, const char *category, cpl_propertylist *header, const cpl_parameterlist *parlist, const char *recipename, const cpl_frame *inherit_frame) |
Save DFS product (image) More... | |
void | fors_dfs_save_image_mask (cpl_frameset *frameset, const cpl_image *image, const cpl_image *mask, const char *category, cpl_propertylist *header, const cpl_parameterlist *parlist, const char *recipename, const cpl_frame *inherit_frame) |
Save DFS product (image) More... | |
void | fors_dfs_save_image_err (cpl_frameset *frameset, const fors_image *image, const char *category, cpl_propertylist *header, const cpl_parameterlist *parlist, const char *recipename, const cpl_frame *inherit_frame) |
Save DFS product (image) with it error data. More... | |
void | fors_dfs_save_image_err_mask (cpl_frameset *frameset, const fors_image *image, const cpl_image *mask, const char *category, cpl_propertylist *header, const cpl_parameterlist *parlist, const char *recipename, const cpl_frame *inherit_frame) |
Save DFS product (image) with it error data and a bad pixel mask. More... | |
void | fors_dfs_add_wcs (cpl_propertylist *header, const cpl_frame *frame, const fors_setting *setting) |
add WCS keywords to header More... | |
void | fors_dfs_add_exptime (cpl_propertylist *header, const cpl_frame *frame, double exptime) |
Add keyword EXPTIME to header. More... | |
void | fors_dfs_save_table (cpl_frameset *frameset, const cpl_table *table, const char *category, cpl_propertylist *header, const cpl_parameterlist *parlist, const char *recipename, const cpl_frame *inherit_frame) |
Save DFS product (table) More... | |
int | dfs_save_image (cpl_frameset *frameset, const cpl_image *image, const char *category, cpl_propertylist *header, const cpl_parameterlist *parlist, const char *recipename, const char *version) |
Saving image data of given category. More... | |
int | dfs_save_table (cpl_frameset *frameset, const cpl_table *table, const char *category, cpl_propertylist *header, const cpl_parameterlist *parlist, const char *recipename, const char *version) |
Saving table data of given category. More... | |
int | dfs_equal_keyword (cpl_frameset *frameset, const char *keyword) |
Saving table data of given category. More... | |
cpl_error_code | dfs_save_table_ext (cpl_table *table, const char *tag, cpl_propertylist *extheader) |
Save a table in a extension (different from the first one) More... | |
cpl_error_code | dfs_save_image_ext (cpl_image *image, const char *tag, cpl_propertylist *extheader) |
Save an image in a extension. More... | |
cpl_error_code | dfs_save_image_null (cpl_frameset *frameset, cpl_parameterlist *parlist, const char *tag, const char *recipename, const char *version) |
Save a product with an empty primary extension. More... | |
The module fors_dfs collects medium level functions related to DFS data IO.
#define cleanup |
Definition at line 1346 of file fors_dfs.c.
#define cleanup |
Definition at line 1346 of file fors_dfs.c.
|
static |
Dump a single CPL error.
self | The number of the current error to be dumped |
first | The number of the first error to be dumped |
last | The number of the last error to be dumped |
This is a callback function to cpl_errorstate_dump()
Definition at line 108 of file fors_dfs.c.
Referenced by fors_end().
void fors_begin | ( | cpl_frameset * | frames, |
const char * | description_short | ||
) |
Start recipe execution.
frames | recipe input frameset |
description_short | recipe short description |
This function classifies and prints the input frames. It exists in order to avoid duplicating these recipe independent steps in every recipe.
Definition at line 191 of file fors_dfs.c.
References fors_dfs_set_groups(), and fors_frameset_print().
Referenced by fors_dark_exec(), fors_img_science_exec(), fors_img_screen_flat_exec(), fors_img_sky_flat_exec(), fors_photometry_exec(), fors_recipe_exec(), and fors_zeropoint_exec().
int fors_end | ( | const cpl_frameset * | frames, |
cpl_errorstate | before_exec | ||
) |
End recipe execution.
frames | recipe output frameset |
before_exec | CPL error state at recipe execution start |
The function prints the product frames successfully produced by the recipe, including the frame tags.
If a CPL error is set, the error history since recipe execution start is printed.
Definition at line 219 of file fors_dfs.c.
References errorstate_dump_one(), and fors_frame_print().
Referenced by fors_bias_exec(), fors_dark_exec(), fors_img_science_exec(), fors_img_screen_flat_exec(), fors_img_sky_flat_exec(), fors_photometry_exec(), fors_recipe_exec(), and fors_zeropoint_exec().
void fors_dfs_set_groups | ( | cpl_frameset * | set | ) |
Set the group as RAW or CALIB in a frameset.
set | the input frameset |
Definition at line 257 of file fors_dfs.c.
References assure.
Referenced by fors_begin().
const char* fors_dfs_pipeline_version | ( | const cpl_propertylist * | header, |
const char ** | instrument_version | ||
) |
Get pipeline and instrument versions.
header | raw header |
instrument_version | (output) if non-NULL, newly allocated instrument name |
Definition at line 345 of file fors_dfs.c.
References assure.
Referenced by dfs_save(), and fors_setting_new_level().
int dfs_get_parameter_int | ( | cpl_parameterlist * | parlist, |
const char * | name, | ||
const cpl_table * | defaults | ||
) |
Reading a recipe integer parameter value.
parlist | The input parameter list |
name | The parameter name |
defaults | The defaults table |
This function is just a wrapper to the basic CPL function cpl_parameter_get_int()
, but if a defaults table is passed then the parameter value is searched in that table. If it is found, the parameter value will be modified also on the input parameter list before being returned, so that it would appear on the recipe products headers. If the parameter is not found, then the parameter value is simply read from the input parameter list. If a defaults table is not specified, then this function works exactly as the function cpl_parameter_get_int()
.
Definition at line 392 of file fors_dfs.c.
Referenced by dfs_get_parameter_int_const(), and vimos_calib_impl().
double dfs_get_parameter_double | ( | cpl_parameterlist * | parlist, |
const char * | name, | ||
const cpl_table * | defaults | ||
) |
Reading a recipe double parameter value.
parlist | The input parameter list |
name | The parameter name |
defaults | The defaults table |
This function is just a wrapper to the basic CPL function cpl_parameter_get_double()
, but if a defaults table is passed then the parameter value is searched in that table. If it is found, the parameter value will be modified also on the input parameter list before being returned, so that it would appear on the recipe products headers. If the parameter is not found, then the parameter value is simply read from the input parameter list. If a defaults table is not specified, then this function works exactly as the function cpl_parameter_get_double()
.
Definition at line 489 of file fors_dfs.c.
Referenced by dfs_get_parameter_double_const(), and vimos_calib_impl().
const char* dfs_get_parameter_string | ( | cpl_parameterlist * | parlist, |
const char * | name, | ||
const cpl_table * | defaults | ||
) |
Reading a recipe string parameter value.
parlist | The input parameter list |
name | The parameter name |
defaults | The defaults table |
This function is just a wrapper to the basic CPL function cpl_parameter_get_string()
, but if a defaults table is passed then the parameter value is searched in that table. If it is found, the parameter value will be modified also on the input parameter list before being returned, so that it would appear on the recipe products headers. If the parameter is not found, then the parameter value is simply read from the input parameter list. If a defaults table is not specified, then this function works exactly as the function cpl_parameter_get_string()
.
Definition at line 587 of file fors_dfs.c.
Referenced by dfs_get_parameter_string_const(), and vimos_calib_impl().
int dfs_get_parameter_bool | ( | cpl_parameterlist * | parlist, |
const char * | name, | ||
const cpl_table * | defaults | ||
) |
Reading a recipe boolean parameter value.
parlist | The input parameter list |
name | The parameter name |
defaults | The defaults table |
This function is just a wrapper to the basic CPL function cpl_parameter_get_bool()
, but if a defaults table is passed then the parameter value is searched in that table. If it is found, the parameter value will be modified also on the input parameter list before being returned, so that it would appear on the recipe products headers. If the parameter is not found, then the parameter value is simply read from the input parameter list. If a defaults table is not specified, then this function works exactly as the function cpl_parameter_get_bool()
.
Definition at line 686 of file fors_dfs.c.
Referenced by dfs_get_parameter_bool_const(), and vimos_calib_impl().
int dfs_get_parameter_bool_const | ( | const cpl_parameterlist * | parlist, |
const char * | name | ||
) |
Definition at line 781 of file fors_dfs.c.
References dfs_get_parameter_bool().
int dfs_get_parameter_int_const | ( | const cpl_parameterlist * | parlist, |
const char * | name | ||
) |
Definition at line 791 of file fors_dfs.c.
References dfs_get_parameter_int().
Referenced by fors_extract_method_new(), and fors_stack_method_new().
double dfs_get_parameter_double_const | ( | const cpl_parameterlist * | parlist, |
const char * | name | ||
) |
Definition at line 801 of file fors_dfs.c.
References dfs_get_parameter_double().
Referenced by fors_identify_method_new(), and fors_stack_method_new().
const char* dfs_get_parameter_string_const | ( | const cpl_parameterlist * | parlist, |
const char * | name | ||
) |
Definition at line 811 of file fors_dfs.c.
References dfs_get_parameter_string().
Referenced by fors_extract_method_new(), and fors_stack_method_new().
cpl_image* dfs_load_image | ( | cpl_frameset * | frameset, |
const char * | category, | ||
cpl_type | type, | ||
int | ext, | ||
int | calib | ||
) |
Loading image data of given category.
frameset | The input set-of-frames |
category | The category of the image to load |
type | The data type of the loaded image |
ext | The FITS file extension to access (first = 0) |
calib | 1 = calibration file, 0 = raw file |
This function is just a wrapper to the basic CPL functions cpl_frameset_find()
and cpl_image_load()
, as they typically are called every time an image should be loaded by a recipe. Error checking and proper messaging are also included here, to give a more readable look to the main recipe code.
In case of any error, a NULL
pointer is returned. The error codes that are set in this case are the same set by the above mentioned CPL functions. The "where" string (accessible via a call to cpl_error_get_where()
) is not modified by this function, and therefore the function where the failure occurred is also reported.
Definition at line 845 of file fors_dfs.c.
Referenced by vimos_calib_impl().
cpl_table* dfs_load_table | ( | cpl_frameset * | frameset, |
const char * | category, | ||
int | ext | ||
) |
Loading table data of given category.
frameset | The input set-of-frames |
category | The category of the table to load |
ext | The FITS file extension to access (first = 0) |
This function is just a wrapper to the basic CPL functions cpl_frameset_find()
and cpl_table_load()
, as they typically are called every time a table should be loaded by a recipe. Error checking and proper messaging are also included here, to give a more readable look to the main recipe code.
In case of any error, a NULL
pointer is returned. The error codes that are set in this case are the same set by the above mentioned CPL functions. The "where" string (accessible via a call to cpl_error_get_where()
) is not modified by this function, and therefore the function where the failure occurred is also reported.
Definition at line 901 of file fors_dfs.c.
Referenced by vimos_calib_impl().
cpl_propertylist* dfs_load_header | ( | cpl_frameset * | frameset, |
const char * | category, | ||
int | ext | ||
) |
Loading header associated to data of given category.
frameset | The input set-of-frames |
category | The category of the frame containing the header |
ext | The FITS file extension to access (first = 0) |
This function is just a wrapper to the basic CPL functions cpl_frameset_find()
and cpl_propertylist_load()
, as they typically are called every time a header should be loaded by a recipe. Error checking and proper messaging are also included here, to give a more readable look to the main recipe code.
In case of any error, a NULL
pointer is returned. The error codes that are set in this case are the same set by the above mentioned CPL functions. The "where" string (accessible via a call to cpl_error_get_where()
) is not modified by this function, and therefore the function where the failure occurred is also reported.
Definition at line 951 of file fors_dfs.c.
Referenced by vimos_calib_impl().
|
static |
Save DFS product.
type | CPL_FRAME_TYPE_IMAGE or CPL_FRAME_TYPE_TABLE |
object | must be of type fors_image or cpl_table, depending on the parameter type |
Definition at line 983 of file fors_dfs.c.
References fors_dfs_pipeline_version(), and fors_image_save().
Referenced by fors_dfs_save_image(), fors_dfs_save_image_err(), fors_dfs_save_image_err_mask(), fors_dfs_save_image_mask(), and fors_dfs_save_table().
void fors_dfs_save_image | ( | cpl_frameset * | frameset, |
const cpl_image * | image, | ||
const char * | category, | ||
cpl_propertylist * | header, | ||
const cpl_parameterlist * | parlist, | ||
const char * | recipename, | ||
const cpl_frame * | inherit_frame | ||
) |
Save DFS product (image)
frameset | see dfs_save_image() |
image | image (containing data and error bars) to save |
category | see dfs_save_image() |
header | see dfs_save_image() |
parlist | see dfs_save_image() |
recipename | see dfs_save_image() |
raw_frame | any raw frame used for this product |
This function is the same as dfs_save_image(), except the image is saved using fors_image_save().
The instrument version number is determined from the header of the input raw frame.
Definition at line 1148 of file fors_dfs.c.
References dfs_save().
void fors_dfs_save_image_mask | ( | cpl_frameset * | frameset, |
const cpl_image * | image, | ||
const cpl_image * | mask, | ||
const char * | category, | ||
cpl_propertylist * | header, | ||
const cpl_parameterlist * | parlist, | ||
const char * | recipename, | ||
const cpl_frame * | inherit_frame | ||
) |
Save DFS product (image)
frameset | see dfs_save_image() |
image | image (containing data and error bars) to save |
mask | bad pixel mask with bad pixel codes |
category | see dfs_save_image() |
header | see dfs_save_image() |
parlist | see dfs_save_image() |
recipename | see dfs_save_image() |
raw_frame | any raw frame used for this product |
This function is the same as dfs_save_image(), except the image is saved using fors_image_save().
The instrument version number is determined from the header of the input raw frame.
Definition at line 1183 of file fors_dfs.c.
References dfs_save().
void fors_dfs_save_image_err | ( | cpl_frameset * | frameset, |
const fors_image * | image, | ||
const char * | category, | ||
cpl_propertylist * | header, | ||
const cpl_parameterlist * | parlist, | ||
const char * | recipename, | ||
const cpl_frame * | inherit_frame | ||
) |
Save DFS product (image) with it error data.
frameset | see dfs_save_image() |
image | image (containing data and error bars) to save |
category | see dfs_save_image() |
header | see dfs_save_image() |
parlist | see dfs_save_image() |
recipename | see dfs_save_image() |
raw_frame | any raw frame used for this product |
This function is the same as dfs_save_image(), except the image is saved using fors_image_save().
The instrument version number is determined from the header of the input raw frame.
Definition at line 1235 of file fors_dfs.c.
References dfs_save().
void fors_dfs_save_image_err_mask | ( | cpl_frameset * | frameset, |
const fors_image * | image, | ||
const cpl_image * | mask, | ||
const char * | category, | ||
cpl_propertylist * | header, | ||
const cpl_parameterlist * | parlist, | ||
const char * | recipename, | ||
const cpl_frame * | inherit_frame | ||
) |
Save DFS product (image) with it error data and a bad pixel mask.
frameset | see dfs_save_image() |
image | image (containing data and error bars) to save |
mask | bad pixel mask with bad pixel codes |
category | see dfs_save_image() |
header | see dfs_save_image() |
parlist | see dfs_save_image() |
recipename | see dfs_save_image() |
raw_frame | any raw frame used for this product |
This function is the same as dfs_save_image(), except the image is saved using fors_image_save().
The instrument version number is determined from the header of the input raw frame.
TODO: Use dfs_save for all the stuff
Definition at line 1271 of file fors_dfs.c.
References dfs_save().
void fors_dfs_add_wcs | ( | cpl_propertylist * | header, |
const cpl_frame * | frame, | ||
const fors_setting * | setting | ||
) |
add WCS keywords to header
header | to write to |
frame | get keywords from this frame |
Definition at line 1309 of file fors_dfs.c.
References assure.
void fors_dfs_add_exptime | ( | cpl_propertylist * | header, |
const cpl_frame * | frame, | ||
double | exptime | ||
) |
Add keyword EXPTIME to header.
header | to write to |
frame | get keyword from this frame |
If frame is NULL, a keyword EXPTIME is created in header with the value given in exptime. Otherwise, the value is read from the header of frame. In case of error (i.e., the keyword EXPTIME doesn't exist in frame), nothing is done (and the error is reset).
Definition at line 1363 of file fors_dfs.c.
void fors_dfs_save_table | ( | cpl_frameset * | frameset, |
const cpl_table * | table, | ||
const char * | category, | ||
cpl_propertylist * | header, | ||
const cpl_parameterlist * | parlist, | ||
const char * | recipename, | ||
const cpl_frame * | inherit_frame | ||
) |
Save DFS product (table)
Definition at line 1403 of file fors_dfs.c.
References dfs_save().
int dfs_save_image | ( | cpl_frameset * | frameset, |
const cpl_image * | image, | ||
const char * | category, | ||
cpl_propertylist * | header, | ||
const cpl_parameterlist * | parlist, | ||
const char * | recipename, | ||
const char * | version | ||
) |
Saving image data of given category.
frameset | The input set-of-frames (to be upgraded) |
image | The image to save |
category | The category of the image to save |
header | Header to input to cpl_dfs_setup_product_header() |
parlist | The recipe parameter list |
recipename | The name of the recipe |
version | The version of the pipeline |
This function is just a wrapper to the basic CPL functions that are routinely called every time an image product must be saved to disk by a recipe. Error checking and proper messaging are also included here, to give a more readable look to the main recipe code.
The output file name will be derived from the specified category by lowercasing it and by appending the suffix ".fits". The new image is properly logged in the input set-of-frames in case of success.
The error codes that are set in this case are the same set by the above mentioned CPL functions. The "where" string (accessible via a call to cpl_error_get_where()
) is not modified by this function, and therefore the function where the failure occurred is also reported.
Definition at line 1447 of file fors_dfs.c.
Referenced by vimos_calib_impl().
int dfs_save_table | ( | cpl_frameset * | frameset, |
const cpl_table * | table, | ||
const char * | category, | ||
cpl_propertylist * | header, | ||
const cpl_parameterlist * | parlist, | ||
const char * | recipename, | ||
const char * | version | ||
) |
Saving table data of given category.
frameset | The input set-of-frames (to be upgraded) |
table | The table to save |
category | The category of the table to save |
header | Header to input to cpl_dfs_setup_product_header() |
parlist | The recipe parameter list |
recipename | The name of the recipe |
version | The version of the pipeline |
This function is just a wrapper to the basic CPL functions that are routinely called every time a table product must be saved to disk by a recipe. Error checking and proper messaging are also included here, to give a more readable look to the main recipe code.
The output file name will be derived from the specified category by lowercasing it and by appending the suffix ".fits". The new table is properly logged in the input set-of-frames in case of success.
The error codes that are set in this case are the same set by the above mentioned CPL functions. The "where" string (accessible via a call to cpl_error_get_where()
) is not modified by this function, and therefore the function where the failure occurred is also reported.
Definition at line 1574 of file fors_dfs.c.
Referenced by vimos_calib_impl().
int dfs_equal_keyword | ( | cpl_frameset * | frameset, |
const char * | keyword | ||
) |
Saving table data of given category.
frameset | The input set-of-frames |
keyword | The keyword that should be identical in all frames |
The specified FITS header keyword should be identical in all the input frames. Only the FITS primary header is examined. If keyword is missing this is considered a case of identical keywords. Only integer and string keywords are compared: in case of other types 0 is always returned. If a file is not FITS, it is ignored.
Definition at line 1685 of file fors_dfs.c.
Referenced by vimos_calib_impl().
cpl_error_code dfs_save_table_ext | ( | cpl_table * | table, |
const char * | tag, | ||
cpl_propertylist * | extheader | ||
) |
Save a table in a extension (different from the first one)
table | Table to save |
tag | PRO.CATG of the table |
extheader | Header for the extension or NULL |
Definition at line 1813 of file fors_dfs.c.
cpl_error_code dfs_save_image_ext | ( | cpl_image * | image, |
const char * | tag, | ||
cpl_propertylist * | extheader | ||
) |
Save an image in a extension.
image | Image to save |
tag | PRO.CATG of the image |
extheader | Header for the extension or NULL |
Definition at line 1852 of file fors_dfs.c.
cpl_error_code dfs_save_image_null | ( | cpl_frameset * | frameset, |
cpl_parameterlist * | parlist, | ||
const char * | tag, | ||
const char * | recipename, | ||
const char * | version | ||
) |
Save a product with an empty primary extension.
frameset | Frameset |
parlist | Parlist |
tag | PRO.CATG of the product |
recipename | Name of the recipe |
version | Version |
Definition at line 1895 of file fors_dfs.c.