FORS_CALIB(7)

πŸ“¦ version 5.5.7, in ubuntu jammy, ubuntu noble

✨ FORS_CALIB ✨ β€” the fors recipes era πŸ’…

okay bestie, welcome to FORS_CALIB(7), part of the fors recipes family πŸŽ€. This is the one that figures out your extraction mask, and honestly? It's giving foundational. Sit down, hydrate, let's go πŸ¦‹


πŸ’– NAME πŸ’–

fors_calib β€” determination of the extraction mask. That's the whole vibe. ✨


🌸 SYNOPSIS 🌸

esorex fors_calib [OPTIONS] FILE.sof

🧚 DESCRIPTION 🧚

okay so, this recipe is the one that goes and identifies reference lines on your LSS, MOS and MXU arc lamp exposures, and it also traces the spectral edges on the corresponding flat field exposures. All that detective work is then used to determine the spectral extraction mask that gets applied in the scientific data reduction, which is performed with the recipe fors_science. So like, this is the setup bestie, fors_science is the main character later. πŸ‘‘

This recipe accepts both FORS1 and FORS2 frames, no gatekeeping. The input arc lamp and flat field exposures are assumed to be obtained quasi-simultaneously, so that they would be described by exactly the same instrument distortions. Like, same era, same distortions, that's the whole point. πŸ”₯

A line catalog must be specified β€” it contains the wavelengths of the reference arc lamp lines used for the wavelength calibration. A grism table (typically depending on the instrument mode, and in particular on the grism used) may also be specified: this table contains a default recipe parameter setting to control the way spectra are extracted for a specific instrument mode, as it is used for automatic run of the pipeline on Paranal and in Garching. If this table is specified, it will modify the default recipe parameter setting, with the exception of those parameters which have been explicitly modified on the command line. Command line stays winning, periodt. πŸ’…

If a grism table is not specified, the input recipe parameters values will always be read from the command line, or from an esorex configuration file if present, or from their generic default values (that are rarely meaningful 😭). Finally a master bias frame must be input to this recipe.

In the table below the MXU acronym can be read alternatively as MOS and LSS, with the exception of CURV_COEFF_LSS, CURV_TRACES_LSS, SPATIAL_MAP_LSS, SPECTRA_DETECTION_LSS, and and SLIT_MAP_LSS, which are never created. The products SPECTRA_DETECTION_MXU, SLIT_MAP_MXU, and DISP_RESIDUALS_MXU, are just created if the --check parameter is set to true. The product GLOBAL_DISTORTION_TABLE is just created if more than 12 separate spectra are found in the CCD. Not 12, not 11 β€” more than 12. 🫢

πŸ“ Input files πŸ“

  • SCREEN_FLAT_MXU β€” DO category: SCREEN_FLAT_MXU, Type: Raw, Explanation: flat field exposures, Required: Y
  • LAMP_MXU β€” DO category: LAMP_MXU, Type: Raw, Explanation: arc lamp exposure, Required: Y
  • MASTER_BIAS β€” DO category: MASTER_BIAS, Type: Calib, Explanation: master Bias frame, Required: Y
  • MASTER_LINECAT β€” DO category: MASTER_LINECAT, Type: Calib, Explanation: line catalog, Required: Y
  • GRISM_TABLE β€” DO category: GRISM_TABLE, Type: Calib, Explanation: grism table, Required: .

πŸ“ Output files πŸ“

  • MASTER_SCREEN_FLAT_MXU β€” Data type: FITS image, Explanation: combined (sum) flat field
  • MASTER_NORM_FLAT_MXU β€” Data type: FITS image, Explanation: normalised flat field
  • MAPPED_SCREEN_FLAT_MXU β€” Data type: FITS image, Explanation: wavelength calibrated flat field
  • MAPPED_NORM_FLAT_MXU β€” Data type: FITS image, Explanation: wavelength calibrated normalised flat
  • REDUCED_LAMP_MXU β€” Data type: FITS image, Explanation: wavelength calibrated arc spectrum
  • DISP_COEFF_MXU β€” Data type: FITS table, Explanation: inverse dispersion coefficients
  • DISP_RESIDUALS_MXU β€” Data type: FITS image, Explanation: residuals in wavelength calibration
  • DISP_RESIDUALS_TABLE_MXU β€” Data type: FITS table, Explanation: residuals in wavelength calibration
  • DELTA_IMAGE_MXU β€” Data type: FITS image, Explanation: offset vs linear wavelength calib
  • WAVELENGTH_MAP_MXU β€” Data type: FITS image, Explanation: wavelength for each pixel on CCD
  • SPECTRA_DETECTION_MXU β€” Data type: FITS image, Explanation: check for preliminary detection
  • SLIT_MAP_MXU β€” Data type: FITS image, Explanation: map of central wavelength on CCD
  • CURV_TRACES_MXU β€” Data type: FITS table, Explanation: spectral curvature traces
  • CURV_COEFF_MXU β€” Data type: FITS table, Explanation: spectral curvature coefficients
  • SPATIAL_MAP_MXU β€” Data type: FITS image, Explanation: spatial position along slit on CCD
  • SPECTRAL_RESOLUTION_MXU β€” Data type: FITS table, Explanation: resolution at reference arc lines
  • DETECTED_LINES_MXU β€” Data type: FITS table, Explanation: all the lines detected in the arc
  • ARC_RECTIFIED_MXU β€” Data type: FITS image, Explanation: the spatial rectified arc
  • SLIT_LOCATION_MXU β€” Data type: FITS table, Explanation: slits on product frames and CCD
  • GLOBAL_DISTORTION_TABLE β€” Data type: FITS table, Explanation: global distortions table
  • FLAT_SED_LSS β€” Data type: FITS image, Explanation: average SED for each of the slitsi

πŸ’… OPTIONS πŸ’…

twenty-three options, bestie. we're doing all of them. no skipping. 🌈

  • --dispersion <float> β€” expected spectral dispersion (Angstrom/pixel) (float; default: 0.0). The full name of this option for the EsoRex configuration file is fors.fors_calib.dispersion [default = 0.0].
  • --peakdetection <float> β€” initial peak detection threshold (ADU) (float; default: 0.0). The full name of this option for the EsoRex configuration file is fors.fors_calib.peakdetection [default = 0.0].
  • --wdegree <int> β€” degree of wavelength calibration polynomial (int; default: 0). The full name of this option for the EsoRex configuration file is fors.fors_calib.wdegree [default = 0].
  • --wradius <int> β€” search radius if iterating pattern-matching with first-guess method (int; default: 4). The full name of this option for the EsoRex configuration file is fors.fors_calib.wradius [default = 4].
  • --wreject <float> β€” rejection threshold in dispersion relation fit (pixel) (float; default: 0.7). The full name of this option for the EsoRex configuration file is fors.fors_calib.wreject [default = 0.7].
  • --wmode <int> β€” interpolation mode of wavelength solution applicable to LSS-like data (0 = no interpolation, 1 = fill gaps, 2 = global model) (int; default: 2). The full name of this option for the EsoRex configuration file is fors.fors_calib.wmode [default = 2].
  • --wmosmode <int> β€” interpolation mode of wavelength solution (0 = no interpolation, 1 = local (slit) solution, 2 = global model) (int; default: 0). The full name of this option for the EsoRex configuration file is fors.fors_calib.wmosmode [default = 0].
  • --ignore_lines <str> β€” catalog lines nearest to wavelengths in this list will be ignored for wavelength calibration (str; default: ´´). The full name of this option for the EsoRex configuration file is fors.fors_calib.ignore_lines [default = ].
  • --used_linesets <str> β€” linesets to use. Valid are Β΄standardΒ΄ and Β΄extendedΒ΄ (see column LINE_SET in the line catalogue) (str; default: Β΄standardΒ΄). The full name of this option for the EsoRex configuration file is fors.fors_calib.used_linesets [default = standard].
  • --cdegree <int> β€” degree of spectral curvature polynomial (int; default: -1). The full name of this option for the EsoRex configuration file is fors.fors_calib.cdegree [default = -1].
  • --cmode <int> β€” interpolation mode of curvature solution applicable to MOS-like data (0 = no interpolation, 1 = fill gaps, 2 = global model) (int; default: 1). The full name of this option for the EsoRex configuration file is fors.fors_calib.cmode [default = 1].
  • --startwavelength <float> β€” start wavelength in spectral extraction (float; default: 0.0). The full name of this option for the EsoRex configuration file is fors.fors_calib.startwavelength [default = 0.0].
  • --endwavelength <float> β€” end wavelength in spectral extraction (float; default: 0.0). The full name of this option for the EsoRex configuration file is fors.fors_calib.endwavelength [default = 0.0].
  • --slit_ident <bool> β€” attempt slit identification for MOS or MXU (bool; default: False). The full name of this option for the EsoRex configuration file is fors.fors_calib.slit_ident [default = False].
  • --stack_method <str> β€” frames combination method (str; default: Β΄sumΒ΄). The full name of this option for the EsoRex configuration file is fors.fors_calib.stack_method [default = sum].
  • --ksigma <str> β€” low and high threshold in ksigma method (str; default: Β΄-3.0,3.0Β΄). The full name of this option for the EsoRex configuration file is fors.fors_calib.ksigma [default = -3.0,3.0].
  • --kiter <int> β€” max number of iterations in ksigma method (int; default: 999). The full name of this option for the EsoRex configuration file is fors.fors_calib.kiter [default = 999].
  • --s_degree <int> β€” polynomial degree for the flat field fitting along spatial direction (int; default: -1). The full name of this option for the EsoRex configuration file is fors.fors_calib.s_degree [default = -1].
  • --sradius <int> β€” smooth box radius for flat field along spatial direction (int; default: -1). The full name of this option for the EsoRex configuration file is fors.fors_calib.sradius [default = -1].
  • --d_nknots <int> β€” number of knots in flat field fitting splines along dispersion direction (int; default: -1). The full name of this option for the EsoRex configuration file is fors.fors_calib.d_nknots [default = -1].
  • --dradius <int> β€” smooth box radius (median) for flat field along dispersion direction (int; default: 10). The full name of this option for the EsoRex configuration file is fors.fors_calib.dradius [default = 10].
  • --dradius_aver <int> β€” smooth box radius (average) for flat field along dispersion direction (performed after median smoothing) (int; default: -1). The full name of this option for the EsoRex configuration file is fors.fors_calib.dradius_aver [default = -1].
  • --fit_threshold <float> β€” threshold percentage for flat spline fitting with respect to the maximum (float; default: 0.01). The full name of this option for the EsoRex configuration file is fors.fors_calib.fit_threshold [default = 0.01].
  • --nonlinear_level <float> β€” level above which the detector is not linear (float; default: 60000.0). The full name of this option for the EsoRex configuration file is fors.fors_calib.nonlinear_level [default = 60000.0].
  • --max_nonlinear_ratio <float> β€” maximum allowed ratio of non-linear pixels per slit (float; default: 0.2). The full name of this option for the EsoRex configuration file is fors.fors_calib.max_nonlinear_ratio [default = 0.2].
Note that it is possible to create a configuration file containing these options, along with suitable default values. Please refer to the details provided by the 'esorex --help' command. 🫢

πŸ’– SEE ALSO πŸ’–

okay bestie, so like, if you wanna go deeper (and you know you do πŸ‘€), the full documentation for the fors pipeline is literally just sitting there as a PDF you can download from this URL:

ftp://ftp.eso.org/pub/dfs/pipelines/fors/fors-pipeline-manual-4.9.pdf

and if you want the big picture β€” like a whole overview of all the existing ESO pipelines, no cap β€” it's on this web page:

https://www.eso.org/sci/software/pipelines/

basic docs about the EsoRex program? those live in the esorex (1) man page. slay.

and yes, you can call the pipelines from python using the python-cpl package 🐍✨ β€” see:

https://packages.python.org/python-cpl/index.html

for further information, periodt.

the other recipes of the fors pipeline are, and I'm listing every single one because we don't gatekeep here:

  • fors_align_sky(7)
  • fors_align_sky_lss(7)
  • fors_bias(7)
  • fors_config(7)
  • fors_dark(7)
  • fors_detect_objects(7)
  • fors_detect_spectra(7)
  • fors_extract(7)
  • fors_extract_objects(7)
  • fors_extract_slits(7)
  • fors_flatfield(7)
  • fors_img_science(7)
  • fors_img_screen_flat(7)
  • fors_img_sky_flat(7)
  • fors_normalise_flat(7)
  • fors_photometry(7)
  • fors_pmos_calib(7)
  • fors_pmos_extract(7)
  • fors_pmos_science(7)
  • fors_remove_bias(7)
  • fors_resample(7)
  • fors_science(7)
  • fors_spec_mflat(7)
  • fors_subtract_sky(7)
  • fors_subtract_sky_lss(7)
  • fors_sumflux(7)
  • fors_trace_flat(7)
  • fors_wave_calib(7)
  • fors_wave_calib_lss(7)
  • fors_zeropoint(7)

🌈 VERSION 🌈

the whole vibe check says:

fors_calib 5.5.7

🫢 AUTHOR 🫢

this iconic human right here:

Carlo Izzo <usd-help@eso.org>


πŸ’Œ BUG REPORTS πŸ’Œ

bestie if something is not giving, please report any problems to usd-help@eso.org. alternatively, you may send a report to the ESO User Support Department <usd-help@eso.org>. either way, same inbox, we got you πŸ’…


πŸ“œ LICENSE πŸ“œ

okay so this is the legal bit and we do NOT skip it, fr fr.

This file is currently part of the FORS Instrument Pipeline Copyright (C) 2002-2010 European Southern Observatory

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA


and that's the whole page, bestie πŸŽ€ tysm for reading, this was fors_calib version 5.5.7, documented as FORS_CALIB(7). go forth and calibrate, you absolute main character πŸ‘‘βœ¨

πŸ“¦ where this page comes from