31 #include "muse_scipost_calibrate_flux_z.h"
51 UNUSED_ARGUMENT(aParams);
53 cpl_table *response =
muse_table_load(aProcessing, MUSE_TAG_STD_RESPONSE, 0),
60 cpl_error_code rc = CPL_ERROR_NONE;
61 cpl_size iframe, nframes = cpl_frameset_get_size(inframes);
62 for (iframe = 0; iframe < nframes; iframe++) {
63 cpl_frame *frame = cpl_frameset_get_position(inframes, iframe);
64 const char *fn = cpl_frame_get_filename(frame);
68 if (pixtable == NULL) {
69 cpl_msg_error(__func__,
"NULL pixel table for %s", fn);
70 rc = CPL_ERROR_NULL_INPUT;
75 cpl_propertylist_erase_regexp(pixtable->
header,
"ESO QC ", 0);
77 if (rc != CPL_ERROR_NONE) {
78 cpl_msg_error(__func__,
"while muse_flux_calibrate(%s)",
79 cpl_frame_get_filename(frame));
84 MUSE_TAG_PIXTABLE_REDUCED,
88 cpl_frameset_delete(inframes);
90 cpl_table_delete(response);
91 cpl_table_delete(extinction);
92 cpl_table_delete(telluric);
double lambdamax
Cut off the data above this wavelength after loading the pixel table(s).
Structure definition of MUSE pixel table.
cpl_error_code muse_flux_calibrate(muse_pixtable *aPixtable, const cpl_table *aResponse, const cpl_table *aExtinction, const cpl_table *aTelluric)
Convert the input pixel table from counts to fluxes.
void muse_processing_append_used(muse_processing *aProcessing, cpl_frame *aFrame, cpl_frame_group aGroup, int aDuplicate)
Add a frame to the set of used frames.
muse_pixtable * muse_pixtable_load_restricted_wavelength(const char *aFilename, double aLambdaMin, double aLambdaMax)
Load a pixel table from file and cut down the wavelength range.
Structure to hold the parameters of the muse_scipost_calibrate_flux recipe.
cpl_table * muse_table_load(muse_processing *aProcessing, const char *aTag, unsigned char aIFU)
load a table according to its tag and IFU/channel number
cpl_error_code muse_processing_save_table(muse_processing *aProcessing, int aIFU, void *aTable, cpl_propertylist *aHeader, const char *aTag, muse_table_type aType)
Save a computed table to disk.
double lambdamin
Cut off the data below this wavelength after loading the pixel table(s).
void muse_pixtable_delete(muse_pixtable *aPixtable)
Deallocate memory associated to a pixel table object.
cpl_propertylist * header
The FITS header.
cpl_frameset * muse_frameset_find_tags(const cpl_frameset *aFrames, const cpl_array *aTags, unsigned char aIFU, cpl_boolean aInvert)
return frameset containing data from an IFU/channel with the given tag(s)