31 #include "muse_scipost_calibrate_flux_z.h" 51 UNUSED_ARGUMENT(aParams);
54 MUSE_TAG_STD_RESPONSE, 0),
56 MUSE_TAG_STD_TELLURIC, 0);
58 MUSE_TAG_EXTINCT_TABLE, 0);
63 cpl_error_code rc = CPL_ERROR_NONE;
64 cpl_size iframe, nframes = cpl_frameset_get_size(inframes);
65 for (iframe = 0; iframe < nframes; iframe++) {
66 cpl_frame *frame = cpl_frameset_get_position(inframes, iframe);
67 const char *fn = cpl_frame_get_filename(frame);
71 if (pixtable == NULL) {
72 cpl_msg_error(__func__,
"NULL pixel table for %s", fn);
73 rc = CPL_ERROR_NULL_INPUT;
78 cpl_propertylist_erase_regexp(pixtable->
header,
"ESO QC ", 0);
83 if (rc != CPL_ERROR_NONE) {
84 cpl_msg_error(__func__,
"while muse_flux_calibrate(%s)",
85 cpl_frame_get_filename(frame));
90 MUSE_TAG_PIXTABLE_REDUCED,
94 cpl_frameset_delete(inframes);
98 cpl_table_delete(extinction);
cpl_error_code muse_postproc_revert_ffspec_maybe(muse_pixtable *aPt, const muse_table *aResponse)
Revert correction of on-sky data with the flat-field spectrum.
double lambdamax
Cut off the data above this wavelength after loading the pixel table(s).
cpl_error_code muse_flux_calibrate(muse_pixtable *aPixtable, const muse_table *aResponse, const cpl_table *aExtinction, const muse_table *aTelluric)
Convert the input pixel table from counts to fluxes.
Structure definition of MUSE pixel table.
muse_table * muse_processing_load_table(muse_processing *aProcessing, const char *aTag, unsigned char aIFU)
Load a MUSE table according to its tag and IFU/channel number.
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.
Structure to store a table together with a property list.
void muse_table_delete(muse_table *aTable)
Deallocate memory associated to a muse_table object.
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.
cpl_table * muse_processing_load_ctable(muse_processing *aProcessing, const char *aTag, unsigned char aIFU)
Load a CPL table according to its tag and IFU/channel number.
Structure to hold the parameters of the muse_scipost_calibrate_flux recipe.
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)