Common Pipeline Library Reference Manual
6.2
|
Macros | |
#define | CPL_DFS_PRO_CATG "ESO PRO CATG" |
The name of the Product Category key. More... | |
#define | CPL_DFS_PRO_SCIENCE "ESO PRO SCIENCE" |
The name of the Product Science key. More... | |
#define | CPL_DFS_PRO_TECH "ESO PRO TECH" |
The name of the Product Tech key. More... | |
#define | CPL_DFS_PRO_TYPE "ESO PRO TYPE" |
The name of the Product Type key. More... | |
Functions | |
cpl_error_code | cpl_dfs_save_imagelist (cpl_frameset *allframes, cpl_propertylist *header, const cpl_parameterlist *parlist, const cpl_frameset *usedframes, const cpl_frame *inherit, const cpl_imagelist *imagelist, cpl_type type, const char *recipe, const cpl_propertylist *applist, const char *remregexp, const char *pipe_id, const char *filename) |
Save an imagelist as a DFS-compliant pipeline product. More... | |
cpl_error_code | cpl_dfs_save_paf (const char *instrume, const char *recipe, const cpl_propertylist *paflist, const char *filename) |
Create a new PAF file. More... | |
cpl_error_code | cpl_dfs_save_propertylist (cpl_frameset *allframes, cpl_propertylist *header, const cpl_parameterlist *parlist, const cpl_frameset *usedframes, const cpl_frame *inherit, const char *recipe, const cpl_propertylist *applist, const char *remregexp, const char *pipe_id, const char *filename) |
Save a propertylist as a DFS-compliant pipeline product. More... | |
cpl_error_code | cpl_dfs_save_table (cpl_frameset *allframes, cpl_propertylist *header, const cpl_parameterlist *parlist, const cpl_frameset *usedframes, const cpl_frame *inherit, const cpl_table *table, const cpl_propertylist *tablelist, const char *recipe, const cpl_propertylist *applist, const char *remregexp, const char *pipe_id, const char *filename) |
Save a table as a DFS-compliant pipeline product. More... | |
cpl_error_code | cpl_dfs_setup_product_header (cpl_propertylist *header, const cpl_frame *product_frame, const cpl_frameset *framelist, const cpl_parameterlist *parlist, const char *recid, const char *pipeline_id, const char *dictionary_id, const cpl_frame *inherit_frame) |
Add product keywords to a pipeline product property list. More... | |
cpl_error_code | cpl_dfs_update_product_header (cpl_frameset *self) |
Perform any DFS-compliancy required actions (DATAMD5/PIPEFILE update) More... | |
#define CPL_DFS_PRO_CATG "ESO PRO CATG" |
The name of the Product Category key.
#define CPL_DFS_PRO_SCIENCE "ESO PRO SCIENCE" |
The name of the Product Science key.
#define CPL_DFS_PRO_TECH "ESO PRO TECH" |
The name of the Product Tech key.
#define CPL_DFS_PRO_TYPE "ESO PRO TYPE" |
The name of the Product Type key.
cpl_error_code cpl_dfs_save_imagelist | ( | cpl_frameset * | allframes, |
cpl_propertylist * | header, | ||
const cpl_parameterlist * | parlist, | ||
const cpl_frameset * | usedframes, | ||
const cpl_frame * | inherit, | ||
const cpl_imagelist * | imagelist, | ||
cpl_type | type, | ||
const char * | recipe, | ||
const cpl_propertylist * | applist, | ||
const char * | remregexp, | ||
const char * | pipe_id, | ||
const char * | filename | ||
) |
Save an imagelist as a DFS-compliant pipeline product.
allframes | The list of input frames for the recipe |
header | NULL, or filled with properties written to product header |
parlist | The list of input parameters |
usedframes | The list of raw/calibration frames used for this product |
inherit | NULL or product frames inherit their header from this frame |
imagelist | The imagelist to be saved |
type | The type used to represent the data in the file |
recipe | The recipe name |
applist | Propertylist to append to primary header, w. PRO.CATG |
remregexp | Optional regexp of properties not to put in main header |
pipe_id | PACKAGE "/" PACKAGE_VERSION |
filename | Filename of created product |
References cpl_ensure_code, CPL_ERROR_NONE, and CPL_ERROR_NULL_INPUT.
cpl_error_code cpl_dfs_save_paf | ( | const char * | instrume, |
const char * | recipe, | ||
const cpl_propertylist * | paflist, | ||
const char * | filename | ||
) |
Create a new PAF file.
instrume | Name of instrument in capitals (NACO, VISIR, etc.) |
recipe | Name of recipe |
paflist | Propertylist to save |
filename | Filename of created PArameter File |
The example below shows how to create a PAF from some FITS cards from the file ref_file and QC parameters in a propertylist qclist. Please note that qclist can be used also in calls to cpl_dfs_save_image() and cpl_dfs_save_table(). Error handling is omitted for brevity:
References cpl_ensure_code, CPL_ERROR_FILE_IO, cpl_error_get_code(), CPL_ERROR_NONE, and CPL_ERROR_NULL_INPUT.
cpl_error_code cpl_dfs_save_propertylist | ( | cpl_frameset * | allframes, |
cpl_propertylist * | header, | ||
const cpl_parameterlist * | parlist, | ||
const cpl_frameset * | usedframes, | ||
const cpl_frame * | inherit, | ||
const char * | recipe, | ||
const cpl_propertylist * | applist, | ||
const char * | remregexp, | ||
const char * | pipe_id, | ||
const char * | filename | ||
) |
Save a propertylist as a DFS-compliant pipeline product.
allframes | The list of input frames for the recipe |
header | NULL, or filled with properties written to product header |
parlist | The list of input parameters |
usedframes | The list of raw/calibration frames used for this product |
inherit | NULL or product frames inherit their header from this frame |
recipe | The recipe name |
applist | Propertylist to append to primary header, w. PRO.CATG |
remregexp | Optional regexp of properties not to put in main header |
pipe_id | PACKAGE "/" PACKAGE_VERSION |
filename | Filename of created product |
The FITS header of the created product is created from the provided applist and the cards copied by cpl_dfs_setup_product_header(), with exception of the cards whose keys match the provided remregexp.
The FITS data unit will be empty.
References CPL_ERROR_NONE, and CPL_TYPE_INVALID.
cpl_error_code cpl_dfs_save_table | ( | cpl_frameset * | allframes, |
cpl_propertylist * | header, | ||
const cpl_parameterlist * | parlist, | ||
const cpl_frameset * | usedframes, | ||
const cpl_frame * | inherit, | ||
const cpl_table * | table, | ||
const cpl_propertylist * | tablelist, | ||
const char * | recipe, | ||
const cpl_propertylist * | applist, | ||
const char * | remregexp, | ||
const char * | pipe_id, | ||
const char * | filename | ||
) |
Save a table as a DFS-compliant pipeline product.
allframes | The list of input frames for the recipe |
header | NULL, or filled with properties written to product header |
parlist | The list of input parameters |
usedframes | The list of raw/calibration frames used for this product |
inherit | NULL or product frames inherit their header from this frame |
table | The table to be saved |
tablelist | Optional propertylist to use in table extension or NULL |
recipe | The recipe name |
applist | Propertylist to append to primary header, w. PRO.CATG |
remregexp | Optional regexp of properties not to put in main header |
pipe_id | PACKAGE "/" PACKAGE_VERSION |
filename | Filename of created product |
References cpl_ensure_code, CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, and CPL_TYPE_INVALID.
cpl_error_code cpl_dfs_setup_product_header | ( | cpl_propertylist * | header, |
const cpl_frame * | product_frame, | ||
const cpl_frameset * | framelist, | ||
const cpl_parameterlist * | parlist, | ||
const char * | recid, | ||
const char * | pipeline_id, | ||
const char * | dictionary_id, | ||
const cpl_frame * | inherit_frame | ||
) |
Add product keywords to a pipeline product property list.
header | Property list where keywords must be written |
product_frame | Frame describing the product |
framelist | List of frames including all input frames |
parlist | Recipe parameter list |
recid | Recipe name |
pipeline_id | Pipeline unique identifier |
dictionary_id | PRO dictionary identifier |
inherit_frame | Frame from which header information is inherited |
CPL_ERROR_NONE
on success.CPL_ERROR_NULL_INPUT | An input pointer is NULL . |
CPL_ERROR_DATA_NOT_FOUND | The input framelist contains no input frames or a frame in the input framelist does not specify a file. In the former case the string "Empty set-of-frames" is appended to the error message returned by cpl_error_get_message(). |
CPL_ERROR_ILLEGAL_INPUT | The product frame is not tagged or not grouped as CPL_FRAME_GROUP_PRODUCT . A specified inherit_frame doesn't belong to the input frame list, or it is not in FITS format. |
CPL_ERROR_FILE_NOT_FOUND | A frame in the input framelist specifies a non-existing file. |
CPL_ERROR_BAD_FILE_FORMAT | A frame in the input framelist specifies an invalid file. |
This function checks the header associated to a pipeline product, to ensure that it is DICB compliant. In particular, this function does the following:
See the DICB PRO dictionary to have details on the mentioned PRO keywords.
References cpl_ensure_code, CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_FILE_NOT_FOUND, cpl_error_get_code(), CPL_ERROR_ILLEGAL_INPUT, CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, cpl_frame_get_filename(), cpl_frame_get_group(), cpl_frame_get_tag(), CPL_FRAME_GROUP_CALIB, CPL_FRAME_GROUP_PRODUCT, CPL_FRAME_GROUP_RAW, cpl_frameset_get_first_const(), cpl_frameset_get_next_const(), cpl_free(), cpl_msg_warning(), cpl_parameter_get_alias(), cpl_parameter_get_bool(), cpl_parameter_get_default_bool(), cpl_parameter_get_default_double(), cpl_parameter_get_default_int(), cpl_parameter_get_default_string(), cpl_parameter_get_double(), cpl_parameter_get_help(), cpl_parameter_get_int(), cpl_parameter_get_string(), cpl_parameter_get_type(), CPL_PARAMETER_MODE_CLI, cpl_parameterlist_get_first_const(), cpl_parameterlist_get_next_const(), cpl_propertylist_copy_property_regexp(), cpl_propertylist_delete(), cpl_propertylist_erase(), cpl_propertylist_erase_regexp(), cpl_propertylist_get_bool(), cpl_propertylist_get_string(), cpl_propertylist_get_type(), cpl_propertylist_has(), cpl_propertylist_load_regexp(), cpl_propertylist_new(), cpl_propertylist_set_comment(), cpl_propertylist_update_bool(), cpl_propertylist_update_int(), cpl_propertylist_update_string(), cpl_sprintf(), cpl_strdup(), CPL_TYPE_BOOL, CPL_TYPE_DOUBLE, CPL_TYPE_INT, and CPL_TYPE_STRING.
cpl_error_code cpl_dfs_update_product_header | ( | cpl_frameset * | self) |
Perform any DFS-compliancy required actions (DATAMD5/PIPEFILE update)
self | The list of frames with FITS products created by the recipe |
CPL_ERROR_NULL_INPUT | An input pointer is NULL . |
CPL_ERROR_DATA_NOT_FOUND | The input framelist contains a frame of type product with a missing filename. |
CPL_ERROR_BAD_FILE_FORMAT | The input framelist contains a frame of type product without a FITS card with key 'DATAMD5'. |
CPL_ERROR_FILE_IO | The input framelist contains a frame of type product for which the FITS card with key 'DATAMD5' could not be updated. |
References CPL_ERROR_NONE.