CR2RE Pipeline Reference Manual 1.6.8
Functions
Hdrl_response

Functions

hdrl_parameter * hdrl_response_telluric_evaluation_parameter_create (const hdrl_spectrum1Dlist *telluric_models, hdrl_data_t w_step, cpl_size half_win, cpl_boolean normalize, cpl_boolean shift_in_log_scale, const cpl_bivector *quality_areas, const cpl_bivector *fit_areas, hdrl_data_t lmin, hdrl_data_t lmax)
 ctor for the hdrl_parameter for the telluric evaluation
 
hdrl_parameter * hdrl_response_fit_parameter_create (const cpl_size radius, const cpl_array *fit_points, const hdrl_data_t wrange, const cpl_bivector *high_abs_regions)
 ctor for the hdrl_parameter for the final interpolation of the response
 
hdrl_response_result * hdrl_response_compute (const hdrl_spectrum1D *obs_s, const hdrl_spectrum1D *ref_s, const hdrl_spectrum1D *E_x, const hdrl_parameter *telluric_par, const hdrl_parameter *velocity_par, const hdrl_parameter *calc_par, const hdrl_parameter *fit_par)
 Computation of the response.
 
const hdrl_spectrum1D * hdrl_response_result_get_final_response (const hdrl_response_result *res)
 Getter for the final response contained inside the hdrl_response_result.
 
const hdrl_spectrum1D * hdrl_response_result_get_selected_response (const hdrl_response_result *res)
 Getter for the selected response contained inside the hdrl_response_result.
 
const hdrl_spectrum1D * hdrl_response_result_get_raw_response (const hdrl_response_result *res)
 Getter for the raw response contained inside the hdrl_response_result.
 
const hdrl_spectrum1D * hdrl_response_result_get_corrected_obs_spectrum (const hdrl_response_result *res)
 Getter for the corrected observed spectrum contained in hdrl_response_result.
 
cpl_size hdrl_response_result_get_best_telluric_model_idx (const hdrl_response_result *res)
 Getter of the index of the telluric model used for telluric correction contained in hdrl_response_result.
 
hdrl_data_t hdrl_response_result_get_avg_diff_from_1 (const hdrl_response_result *res)
 Getter of the value |mean - 1|, where mean is the average of the ratio between the corrected observed spectrum and its smoothed fit.
 
hdrl_data_t hdrl_response_result_get_stddev (const hdrl_response_result *res)
 Getter of the standard deviation of the ratio between the corrected observed spectrum and its smoothed fit.
 
hdrl_data_t hdrl_response_result_get_telluric_shift (const hdrl_response_result *res)
 Getter of the shift applied to the telluric model.
 
hdrl_data_t hdrl_response_result_get_doppler_shift (const hdrl_response_result *res)
 Getter of the doppler shift used to correct the model.
 
void hdrl_response_result_delete (hdrl_response_result *res)
 Destructor for hdrl_response_result.
 

Detailed Description

Function Documentation

◆ hdrl_response_compute()

hdrl_response_result * hdrl_response_compute ( const hdrl_spectrum1D *  obs_s,
const hdrl_spectrum1D *  ref_s,
const hdrl_spectrum1D *  E_x,
const hdrl_parameter *  telluric_par,
const hdrl_parameter *  velocity_par,
const hdrl_parameter *  calc_par,
const hdrl_parameter *  fit_par 
)

Computation of the response.

Parameters
obs_sObserved spectrum
ref_sReference std star spectrum
E_xAtmospheric Extinction
telluric_parTelluric correction parameter, NULL if telluric correction is skipped. See hdrl_response_telluric_evaluation_parameter_create for details.
velocity_parDoppler shift estimation and compensation. NULL if compensation has to be skipped. See hdrl_spectrum1D_shift_fit_parameter_create for more details.
calc_parParameter for the core computation of the response, e.g. exposure time. See hdrl_response_parameter_create for more details.
fit_parParameter for the final interpolation of the response, see hdrl_response_fit_parameter_create for more details.
Returns
hdrl_response_result or NULL in case of error, see below.

Possible cpl-error-code set in this function:

  • CPL_ERROR_NULL_INPUT: if any among calc_par, fit_par or the spectra are NULL
  • CPL_ERROR_ILLEGAL_OUTPUT: Any of the algorithmical steps can fail. This usually means that the output of that step can be NULL, if that is the case we abort triggering a CPL_ERROR_ILLEGAL_OUTPUT

Definition at line 459 of file hdrl_response.c.

References hdrl_parameter_delete(), hdrl_response_core_compute(), hdrl_spectrum1D_compute_shift_fit(), hdrl_spectrum1D_delete(), hdrl_spectrum1D_get_wavelength(), hdrl_spectrum1D_resample_interpolate_parameter_create(), and hdrl_spectrum1D_resample_on_array().

◆ hdrl_response_fit_parameter_create()

hdrl_parameter * hdrl_response_fit_parameter_create ( const cpl_size  radius,
const cpl_array *  fit_points,
const hdrl_data_t  wrange,
const cpl_bivector *  high_abs_regions 
)

ctor for the hdrl_parameter for the final interpolation of the response

Parameters
radiusRadius of the median filter used to smooth the response before the final interpolation
fit_pointsMedian points where the fit will be calculated
wrangeRange around the median point where the median is calculated
high_abs_regionsHigh absorption regions that should be skipped when calculating the fit. If NULL no skipping is done.
Returns
hdrl_parameter or NULL in case of error, see below.

Possible cpl-error-code set in this function:

  • CPL_ERROR_NULL_INPUT: if any of the required pointers are NULL
  • CPL_ERROR_ILLEGAL_INPUT: radius or wrange is less or equal 0

Definition at line 403 of file hdrl_response.c.

◆ hdrl_response_result_delete()

void hdrl_response_result_delete ( hdrl_response_result *  res)

Destructor for hdrl_response_result.

Parameters
reshdrl_response_result to be destroyed

Definition at line 757 of file hdrl_response.c.

References hdrl_spectrum1D_delete().

◆ hdrl_response_result_get_avg_diff_from_1()

hdrl_data_t hdrl_response_result_get_avg_diff_from_1 ( const hdrl_response_result *  res)

Getter of the value |mean - 1|, where mean is the average of the ratio between the corrected observed spectrum and its smoothed fit.

Parameters
reshdrl_response_result
Returns
the value |mean - 1|, where mean is the average of the ratio between the corrected observed spectrum and its smoothed fit. This value can be used to assess the quality of the match of the telluric model with the provided observed spectrum. If telluric correction was disabled the output of this function is not defined.

Possible cpl-error-code set in this function:

  • CPL_ERROR_NULL_INPUT: res is NULL

Definition at line 684 of file hdrl_response.c.

◆ hdrl_response_result_get_best_telluric_model_idx()

cpl_size hdrl_response_result_get_best_telluric_model_idx ( const hdrl_response_result *  res)

Getter of the index of the telluric model used for telluric correction contained in hdrl_response_result.

Parameters
reshdrl_response_result
Returns
the index (0-based) of the telluric model used for telluric correction. If telluric correction was disabled the output of this function is not defined.

Possible cpl-error-code set in this function:

  • CPL_ERROR_NULL_INPUT: res is NULL

Definition at line 662 of file hdrl_response.c.

◆ hdrl_response_result_get_corrected_obs_spectrum()

const hdrl_spectrum1D * hdrl_response_result_get_corrected_obs_spectrum ( const hdrl_response_result *  res)

Getter for the corrected observed spectrum contained in hdrl_response_result.

Parameters
reshdrl_response_result
Returns
the observed spectrum corrected by the telluric model. If telluric correction was disabled the output of this function is not defined.

Possible cpl-error-code set in this function:

  • CPL_ERROR_NULL_INPUT: res is NULL

Definition at line 643 of file hdrl_response.c.

◆ hdrl_response_result_get_doppler_shift()

hdrl_data_t hdrl_response_result_get_doppler_shift ( const hdrl_response_result *  res)

Getter of the doppler shift used to correct the model.

Parameters
reshdrl_response_result
Returns
the doppler shift used to correct the model. If doppler corection was disabled the output of this function is not defined.

Possible cpl-error-code set in this function:

  • CPL_ERROR_NULL_INPUT: res is NULL

Definition at line 744 of file hdrl_response.c.

◆ hdrl_response_result_get_final_response()

const hdrl_spectrum1D * hdrl_response_result_get_final_response ( const hdrl_response_result *  res)

Getter for the final response contained inside the hdrl_response_result.

Parameters
reshdrl_response_result
Returns
response or NULL in case of error. The final response is the final product of the algorithm.

Possible cpl-error-code set in this function:

  • CPL_ERROR_NULL_INPUT: res is NULL

Definition at line 586 of file hdrl_response.c.

◆ hdrl_response_result_get_raw_response()

const hdrl_spectrum1D * hdrl_response_result_get_raw_response ( const hdrl_response_result *  res)

Getter for the raw response contained inside the hdrl_response_result.

Parameters
reshdrl_response_result
Returns
the raw response or NULL in case of error. The raw response is the ratio between the observed spectrum and the reference one, corrected for e.g. gain, atmospheric extinction, etc.

Possible cpl-error-code set in this function:

  • CPL_ERROR_NULL_INPUT: res is NULL

Definition at line 625 of file hdrl_response.c.

◆ hdrl_response_result_get_selected_response()

const hdrl_spectrum1D * hdrl_response_result_get_selected_response ( const hdrl_response_result *  res)

Getter for the selected response contained inside the hdrl_response_result.

Parameters
reshdrl_response_result
Returns
selected response or NULL in case of error. The selected response is the raw response sampled in the fit points. This response is going then to be interpolated, creating the final response.

Possible cpl-error-code set in this function:

  • CPL_ERROR_NULL_INPUT: res is NULL

Definition at line 606 of file hdrl_response.c.

◆ hdrl_response_result_get_stddev()

hdrl_data_t hdrl_response_result_get_stddev ( const hdrl_response_result *  res)

Getter of the standard deviation of the ratio between the corrected observed spectrum and its smoothed fit.

Parameters
reshdrl_response_result
Returns
the standard deviation of the ratio between the corrected observed spectrum and its smoothed fit. This value can be used to assess the quality of the match of the telluric model with the provided observed spectrum. If telluric correction was disabled the output of this function is not defined.

Possible cpl-error-code set in this function:

  • CPL_ERROR_NULL_INPUT: res is NULL

Definition at line 706 of file hdrl_response.c.

◆ hdrl_response_result_get_telluric_shift()

hdrl_data_t hdrl_response_result_get_telluric_shift ( const hdrl_response_result *  res)

Getter of the shift applied to the telluric model.

Parameters
reshdrl_response_result
Returns
shift applied to the selected telluric model. This value can be used to assess the quality of the match of the telluric model with the provided observed spectrum. If telluric correction was disabled the output of this function is not defined.

Possible cpl-error-code set in this function:

  • CPL_ERROR_NULL_INPUT: res is NULL

Definition at line 726 of file hdrl_response.c.

◆ hdrl_response_telluric_evaluation_parameter_create()

hdrl_parameter * hdrl_response_telluric_evaluation_parameter_create ( const hdrl_spectrum1Dlist *  telluric_models,
hdrl_data_t  w_step,
cpl_size  half_win,
cpl_boolean  normalize,
cpl_boolean  shift_in_log_scale,
const cpl_bivector *  quality_areas,
const cpl_bivector *  fit_areas,
hdrl_data_t  lmin,
hdrl_data_t  lmax 
)

ctor for the hdrl_parameter for the telluric evaluation

Parameters
telluric_modelsThe available telluric models
w_stepSampling step to use when upsampling model and observed spectrum to calculate the cross correlations
half_winHalf the search window to be used to find the peak of the cross correlation
normalizeCPL_TRUE if the cross correlation should be normalized, CPL_FALSE otherwise
shift_in_log_scaleCPL_TRUE if the cross correlation has to be calculated in logarithmic scale. CPL_FALSE otherwise.
quality_areasAreas where the quality of the fit of the telluric model has to be evaluated.
fit_areasAreas where the median points are extracted from, in order to generate the final quality parameters of the telluric model
lminMinimum wavelength used to calculate the cross-correlation (in log scale if shift_in_log_scale = TRUE)
lmaxMaximum wavelength used to calculate the cross-correlation (in log scale if shift_in_log_scale = TRUE)
Returns
hdrl_parameter or NULL in case of error, see below.

Possible cpl-error-code set in this function:

  • CPL_ERROR_NULL_INPUT: if any of the pointers are NULL
  • CPL_ERROR_ILLEGAL_INPUT: if w_step <= 0 or half_win <= 0 or lmin >= lmax

Definition at line 347 of file hdrl_response.c.

References hdrl_spectrum1Dlist_duplicate().