X-shooter Pipeline Reference Manual 3.8.15
Macros | Functions | Variables
xsh_lingain.c File Reference
#include <cpl.h>
#include "xsh_detmon.h"
#include "xsh_detmon_lg.h"
#include "xsh_dfs.h"
#include "xsh_drl.h"
#include "xsh_msg.h"
#include "xsh_error.h"
#include "xsh_utils.h"
#include <xsh_data_instrument.h>
#include "xsh_parameters.h"
#include "xsh_badpixelmap.h"

Go to the source code of this file.

Macros

#define XSH_LINGAIN_ON_RAW(it)
 
#define XSH_LINGAIN_OFF_RAW(it)
 
#define XSH_LINGAIN_DET_LIN_INFO(it)
 
#define XSH_LINGAIN_GAIN_INFO(it)
 
#define XSH_LINGAIN_COEFFS_CUBE(it)
 
#define XSH_LINGAIN_BP_MAP_NL(it)
 
#define XSH_LINGAIN_RAW_BP_MAP_NL(it)
 
#define XSH_LINGAIN_AUTOCORR(it)
 
#define XSH_LINGAIN_DIFF_FLAT(it)
 
#define RECIPE_ID   "xsh_lingain"
 
#define RECIPE_AUTHOR   "Lander de Bilbao,A.Modigliani"
 
#define RECIPE_CONTACT   "amodigli@eso.org"
 
#define INSTREGEXP   "ESO INS SETUP ID"
 
#define PAFREGEXP   "^(" REGEXP "|" INSTREGEXP ")$"
 
#define NIR   TRUE
 
#define OPT   FALSE
 
#define XSH_PIX2PIX   CPL_TRUE
 
#define XSH_EXTS_RED   -1
 
#define XSH_BPMBIN   1
 
#define XSH_TOL   0.1
 

Functions

static int xsh_lingain_create (cpl_plugin *plugin)
 Setup the recipe options.
 
static int xsh_lingain_exec (cpl_plugin *plugin)
 Execute the plugin instance given by the interface.
 
static int xsh_lingain_destroy (cpl_plugin *plugin)
 Destroy what has been created by the 'create' function.
 
static int xsh_lingain (cpl_frameset *frameset, cpl_parameterlist *parlist)
 
cpl_error_code xsh_lingain_fill_parlist_default_opt (cpl_parameterlist *parlist)
 
cpl_error_code xsh_lingain_fill_parlist_default_nir (cpl_parameterlist *parlist)
 
static cpl_error_code xsh_lingain_set_saturation_limit (cpl_parameterlist *parlist, xsh_instrument *instrument)
 
int cpl_plugin_get_info (cpl_pluginlist *list)
 Build the list of available plugins, for this module.
 
static cpl_error_code xsh_params_set_defaults (cpl_parameterlist *pars, xsh_instrument *inst)
 

Variables

static char xsh_lingain_description_short [] = "Computes detector's gain/linearity-map"
 
static char xsh_lingain_description []
 

Macro Definition Documentation

◆ INSTREGEXP

#define INSTREGEXP   "ESO INS SETUP ID"

Definition at line 102 of file xsh_lingain.c.

◆ NIR

#define NIR   TRUE

Definition at line 105 of file xsh_lingain.c.

◆ OPT

#define OPT   FALSE

Definition at line 106 of file xsh_lingain.c.

◆ PAFREGEXP

#define PAFREGEXP   "^(" REGEXP "|" INSTREGEXP ")$"

Definition at line 104 of file xsh_lingain.c.

◆ RECIPE_AUTHOR

#define RECIPE_AUTHOR   "Lander de Bilbao,A.Modigliani"

Definition at line 98 of file xsh_lingain.c.

◆ RECIPE_CONTACT

#define RECIPE_CONTACT   "amodigli@eso.org"

Definition at line 99 of file xsh_lingain.c.

◆ RECIPE_ID

#define RECIPE_ID   "xsh_lingain"

Definition at line 97 of file xsh_lingain.c.

◆ XSH_BPMBIN

#define XSH_BPMBIN   1

Definition at line 109 of file xsh_lingain.c.

◆ XSH_EXTS_RED

#define XSH_EXTS_RED   -1

Definition at line 108 of file xsh_lingain.c.

◆ XSH_LINGAIN_AUTOCORR

#define XSH_LINGAIN_AUTOCORR (   it)
Value:
((it) == 0 ? XSH_AUTOCORR_UVB : \
(it) == 1 ? XSH_AUTOCORR_VIS : \
(it) == 2 ? XSH_AUTOCORR_NIR : \
"???")
#define XSH_AUTOCORR_NIR
Definition: xsh_dfs.h:372
#define XSH_AUTOCORR_VIS
Definition: xsh_dfs.h:371
#define XSH_AUTOCORR_UVB
Definition: xsh_dfs.h:370

Definition at line 87 of file xsh_lingain.c.

◆ XSH_LINGAIN_BP_MAP_NL

#define XSH_LINGAIN_BP_MAP_NL (   it)
Value:
((it) == 0 ? XSH_BP_MAP_NL_UVB : \
(it) == 1 ? XSH_BP_MAP_NL_VIS : \
(it) == 2 ? XSH_BP_MAP_NL_NIR : \
"???")
#define XSH_BP_MAP_NL_UVB
Definition: xsh_dfs.h:361
#define XSH_BP_MAP_NL_NIR
Definition: xsh_dfs.h:363
#define XSH_BP_MAP_NL_VIS
Definition: xsh_dfs.h:362

Definition at line 77 of file xsh_lingain.c.

◆ XSH_LINGAIN_COEFFS_CUBE

#define XSH_LINGAIN_COEFFS_CUBE (   it)
Value:
((it) == 0 ? XSH_COEFFS_CUBE_UVB : \
(it) == 1 ? XSH_COEFFS_CUBE_VIS : \
(it) == 2 ? XSH_COEFFS_CUBE_NIR : \
"???")
#define XSH_COEFFS_CUBE_UVB
Definition: xsh_dfs.h:333
#define XSH_COEFFS_CUBE_NIR
Definition: xsh_dfs.h:335
#define XSH_COEFFS_CUBE_VIS
Definition: xsh_dfs.h:334

Definition at line 72 of file xsh_lingain.c.

◆ XSH_LINGAIN_DET_LIN_INFO

#define XSH_LINGAIN_DET_LIN_INFO (   it)
Value:
((it) == 0 ? XSH_DET_LIN_INFO_UVB : \
(it) == 1 ? XSH_DET_LIN_INFO_VIS : \
(it) == 2 ? XSH_DET_LIN_INFO_NIR : \
"???")
#define XSH_DET_LIN_INFO_UVB
Definition: xsh_dfs.h:325
#define XSH_DET_LIN_INFO_VIS
Definition: xsh_dfs.h:326
#define XSH_DET_LIN_INFO_NIR
Definition: xsh_dfs.h:327

Definition at line 62 of file xsh_lingain.c.

◆ XSH_LINGAIN_DIFF_FLAT

#define XSH_LINGAIN_DIFF_FLAT (   it)
Value:
((it) == 0 ? XSH_DIFF_FLAT_UVB : \
(it) == 1 ? XSH_DIFF_FLAT_VIS : \
(it) == 2 ? XSH_DIFF_FLAT_NIR : \
"???")
#define XSH_DIFF_FLAT_UVB
Definition: xsh_dfs.h:374
#define XSH_DIFF_FLAT_NIR
Definition: xsh_dfs.h:376
#define XSH_DIFF_FLAT_VIS
Definition: xsh_dfs.h:375

Definition at line 92 of file xsh_lingain.c.

◆ XSH_LINGAIN_GAIN_INFO

#define XSH_LINGAIN_GAIN_INFO (   it)
Value:
((it) == 0 ? XSH_GAIN_INFO_UVB : \
(it) == 1 ? XSH_GAIN_INFO_VIS : \
(it) == 2 ? XSH_GAIN_INFO_NIR : \
"???")
#define XSH_GAIN_INFO_NIR
Definition: xsh_dfs.h:331
#define XSH_GAIN_INFO_VIS
Definition: xsh_dfs.h:330
#define XSH_GAIN_INFO_UVB
Definition: xsh_dfs.h:329

Definition at line 67 of file xsh_lingain.c.

◆ XSH_LINGAIN_OFF_RAW

#define XSH_LINGAIN_OFF_RAW (   it)
Value:
((it) == 0 ? XSH_LINEARITY_UVB_OFF : \
(it) == 1 ? XSH_LINEARITY_VIS_OFF : \
(it) == 2 ? XSH_LINEARITY_NIR_OFF : \
"???")
#define XSH_LINEARITY_VIS_OFF
Definition: xsh_dfs.h:389
#define XSH_LINEARITY_UVB_OFF
Definition: xsh_dfs.h:387
#define XSH_LINEARITY_NIR_OFF
Definition: xsh_dfs.h:391

Definition at line 57 of file xsh_lingain.c.

◆ XSH_LINGAIN_ON_RAW

#define XSH_LINGAIN_ON_RAW (   it)
Value:
((it) == 0 ? XSH_LINEARITY_UVB_ON : \
(it) == 1 ? XSH_LINEARITY_VIS_ON : \
(it) == 2 ? XSH_LINEARITY_NIR_ON : \
"???")
#define XSH_LINEARITY_NIR_ON
Definition: xsh_dfs.h:390
#define XSH_LINEARITY_UVB_ON
Definition: xsh_dfs.h:386
#define XSH_LINEARITY_VIS_ON
Definition: xsh_dfs.h:388

Definition at line 52 of file xsh_lingain.c.

◆ XSH_LINGAIN_RAW_BP_MAP_NL

#define XSH_LINGAIN_RAW_BP_MAP_NL (   it)
Value:
((it) == 0 ? XSH_RAW_BP_MAP_NL_UVB : \
(it) == 1 ? XSH_RAW_BP_MAP_NL_VIS : \
(it) == 2 ? XSH_RAW_BP_MAP_NL_NIR : \
"???")
#define XSH_RAW_BP_MAP_NL_UVB
Definition: xsh_dfs.h:366
#define XSH_RAW_BP_MAP_NL_VIS
Definition: xsh_dfs.h:367
#define XSH_RAW_BP_MAP_NL_NIR
Definition: xsh_dfs.h:368

Definition at line 82 of file xsh_lingain.c.

◆ XSH_PIX2PIX

#define XSH_PIX2PIX   CPL_TRUE

Definition at line 107 of file xsh_lingain.c.

◆ XSH_TOL

#define XSH_TOL   0.1

Definition at line 110 of file xsh_lingain.c.

Function Documentation

◆ cpl_plugin_get_info()

int cpl_plugin_get_info ( cpl_pluginlist *  list)

Build the list of available plugins, for this module.

Parameters
listthe plugin list
Returns
0 if everything is ok, -1 otherwise

Create the recipe instance and make it available to the application using the interface. This function is exported.

Definition at line 175 of file xsh_lingain.c.

References RECIPE_AUTHOR, RECIPE_CONTACT, RECIPE_ID, xsh_get_license(), xsh_lingain_create(), xsh_lingain_description, xsh_lingain_description_short, xsh_lingain_destroy(), and xsh_lingain_exec().

◆ xsh_lingain()

static int xsh_lingain ( cpl_frameset *  frameset,
cpl_parameterlist *  parlist 
)
static

◆ xsh_lingain_create()

static int xsh_lingain_create ( cpl_plugin *  plugin)
static

Setup the recipe options.

Parameters
pluginthe plugin
Returns
0 if everything is ok

Create the recipe instance and make it available to the application using the interface.

Definition at line 217 of file xsh_lingain.c.

References assure, check, RECIPE_ID, xsh_error_dump, xsh_init(), xsh_lingain_fill_parlist_default_opt(), xsh_parameters_decode_bp(), and xsh_parameters_generic().

Referenced by cpl_plugin_get_info().

◆ xsh_lingain_destroy()

static int xsh_lingain_destroy ( cpl_plugin *  plugin)
static

Destroy what has been created by the 'create' function.

Parameters
pluginthe plugin
Returns
0 if everything is ok

Definition at line 293 of file xsh_lingain.c.

References assure, xsh_error_reset, and xsh_free_parameterlist().

Referenced by cpl_plugin_get_info().

◆ xsh_lingain_exec()

static int xsh_lingain_exec ( cpl_plugin *  plugin)
static

Execute the plugin instance given by the interface.

Parameters
pluginthe plugin
Returns
0 if everything is ok

Definition at line 260 of file xsh_lingain.c.

References assure, xsh_error_dump, and xsh_lingain().

Referenced by cpl_plugin_get_info().

◆ xsh_lingain_fill_parlist_default_nir()

cpl_error_code xsh_lingain_fill_parlist_default_nir ( cpl_parameterlist *  parlist)

Definition at line 696 of file xsh_lingain.c.

References RECIPE_ID, XSH_BPMBIN, and xsh_detmon_lg_fill_parlist_nir_default().

Referenced by xsh_lingain().

◆ xsh_lingain_fill_parlist_default_opt()

cpl_error_code xsh_lingain_fill_parlist_default_opt ( cpl_parameterlist *  parlist)

◆ xsh_lingain_set_saturation_limit()

static cpl_error_code xsh_lingain_set_saturation_limit ( cpl_parameterlist *  parlist,
xsh_instrument instrument 
)
static

Definition at line 725 of file xsh_lingain.c.

References instrument, RECIPE_ID, XSH_ARM_NIR, and xsh_instrument_get_arm().

Referenced by xsh_lingain().

◆ xsh_params_set_defaults()

static cpl_error_code xsh_params_set_defaults ( cpl_parameterlist *  pars,
xsh_instrument inst 
)
static

Definition at line 318 of file xsh_lingain.c.

References XSH_ARM_UVB, xsh_instrument_get_arm(), and xsh_parameter_get_default_flag().

Referenced by xsh_lingain().

Variable Documentation

◆ xsh_lingain_description

char xsh_lingain_description[]
static
Initial value:
=
"This recipe computes detector linearity coefficients and gain\n\
Input Frames : \n\
arm = UVB-VIS: \n\
- A set of n RAW linearity frames (Format=RAW, n >=8, Tag = LINEARITY_arm_ON)\n\
- A set of n RAW bias frames (Format=RAW, n >=1, Tag = LINEARITY_arm_OFF)\n\
arm = NIR:\n\
- A set of n RAW linearity on frames (Format=RAW, n >=8, Tag = LINEARITY_arm_ON)\n\
- A set of n RAW linearity off frames (Format=RAW, n >=8, Tag = LINEARITY_arm_OFF)\n\
- [OPTIONAL] a static bad pixel map (PRO.CATG=BP_MAP_RP_arm) \n\
Note: on and off frames are taken in pairs sequence: OFF-ON-ON-OFF, \n\
at least 16 frames.\n\
Products : \n\
- A linearity map table, PRO.CATG = BP_MAP_LIN_NIR\n\
- A gain table, PRO.CATG = GAIN_INFO\n\
- A cube cointaining the linearity coefficients, PRO.CATG = COEFFS_CUBE_arm\n\
- A linearity map image (RAW format), PRO.CATG = RAW_BP_MAP_NL_arm\n\
- A linearity map image (PRE format), PRO.CATG = BP_MAP_NL_arm\n"

Definition at line 142 of file xsh_lingain.c.

Referenced by cpl_plugin_get_info().

◆ xsh_lingain_description_short

char xsh_lingain_description_short[] = "Computes detector's gain/linearity-map"
static

Definition at line 140 of file xsh_lingain.c.

Referenced by cpl_plugin_get_info(), and xsh_lingain().