FLAMES_CAL_ORDERPOS(7)

πŸ“¦
version 6.1.8 Β· 2 versions
, in debian bookworm, ubuntu noble

πŸ’– FLAMES_CAL_ORDERPOS πŸ’–

okay bestie, welcome to the manual for flames_cal_orderpos, a uves recipes page, and it is long, so we're doing this in two parts. part 1 starts now. grab a snack πŸ“


✨ NAME ✨

flames_cal_orderpos β€” the recipe that defines the uves-echelle-simultaneous calibration fibre order positions. that's the whole job. it does one thing and it does it gorgeously πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

esorex flames_cal_orderpos [OPTIONS] FILE.sof

πŸ¦‹ DESCRIPTION πŸ¦‹

so, what's the vibe? this recipe figures out the simultaneous calibration fibre order positions in a fibre-echelle image. the glow-up sequence is:

  1. orders get detected first, using a Hough transformation (yes, that's real, and yes, it's iconic) ✨
  2. then the orders get traced πŸ‘£
  3. then the positions get fitted with a global polynomial πŸ“ˆ

that's the whole arc. main character energy fr fr.

expected input frames, bestie, are:

  • simultaneous calibration fibre flat fields: FIB_ORDEF_RED
  • optionally, for each chip, a DRS setup table: DRS_TABLE_(REDL|REDU) β€” this one's for backward compatibility 🫢
  • optionally, a guess order table: FIB_ORD_GUE_(REDL|REDU)
  • optionally, a master bias: MASTER_BIAS_(REDL|REDU)
heads up: the recipe processes only the first raw frame found. no cap. it's not gonna go through all of them for you.

the outputs are two order tables, FIB_ORD_TAB_(REDL|REDU), and they contain these columns:

  • X β€” position along x
  • Order β€” relative order number
  • Y β€” order line centroid location
  • Yfit β€” the fitted order location
  • dY β€” uncertainty of Y
  • dYfit_Square β€” variance of Yfit
  • Residual β€” Y - Yfit
  • Residual_Square β€” Residual^2
  • OrderRMS β€” root mean squared residual of the initial one-dimensional linear fit of order

the bivariate fit polynomial itself lives in table extension no. 2 πŸ“¦

the 3rd table extension holds a table that defines the active fibre traces and their positions (this exists to support FLAMES/UVES, iykyk), plus 2 image frames: FIB_ORDEF_(REDL|REDU). slay 🌈


πŸ’… OPTIONS πŸ’…

bestie. there are 24 of these. we are not skipping a single one. each one gets its own bullet, and every EsoRex config name is right there where you need it πŸ”₯

  • --backsubdegx <int> β€” degree (in x) of the polynomial used to estimate the background when mode=poly. (int; default: 2). EsoRex config name: flames_cal_orderpos.preproc.backsubdegx [default = 2].
  • --backsubdegy <int> β€” degree (in y) of the polynomial used to estimate the background when mode=poly. (int; default: 2). EsoRex config name: flames_cal_orderpos.preproc.backsubdegy [default = 2].
  • --backsubgrid <int> β€” number of grid points (in the x- and y-direction) used to estimate the background when mode=poly. (int; default: 50). EsoRex config name: flames_cal_orderpos.preproc.backsubgrid [default = 50].
  • --backsubkappa <float> β€” the value of kappa in the one-sided kappa-sigma clipping used to estimate the background when mode=poly. (float; default: 4.0). EsoRex config name: flames_cal_orderpos.preproc.backsubkappa [default = 4.0].
  • --backsubradiusy <int> β€” the height (in pixels) of the background sampling window is (2*radiusy + 1). note: this parameter is not corrected for binning. (int; default: 2). EsoRex config name: flames_cal_orderpos.preproc.backsubradiusy [default = 2].
  • --debug <bool> β€” whether or not to save intermediate results to the local directory. (bool; default: False). EsoRex config name: uves.debug [default = False].
  • --defpol1 <int> β€” the degree of the bivariate fit in the cross dispersion direction. if it's negative, the degree gets optimized to give the best fit. (int; default: -1). EsoRex config name: flames_cal_orderpos.reject.defpol1 [default = -1].
  • --defpol2 <int> β€” the degree of the bivariate fit in the order number. if it's negative, the degree gets optimized to give the best fit. (int; default: -1). EsoRex config name: flames_cal_orderpos.reject.defpol2 [default = -1].
  • --kappa <float> β€” used for kappa-sigma clipping of the final polynomial fit. if it's negative, no clipping is done. (float; default: 4.0). EsoRex config name: flames_cal_orderpos.reject.kappa [default = 4.0].
  • --maxgap <float> β€” if an order line drops below the detection threshold, the order tracing algorithm will try to jump a gap of maximum size maxgap multiplied by the image width. (float; default: 0.2). EsoRex config name: flames_cal_orderpos.trace.maxgap [default = 0.2].
  • --maxrms <float> β€” when fitting the orders with straight lines, this is the maximum allowed RMS relative to the median RMS of all orders. (float; default: 100.0). EsoRex config name: flames_cal_orderpos.reject.maxrms [default = 100.0].
  • --maxslope <float> β€” maximum possible line slope. (float; default: 0.2). EsoRex config name: flames_cal_orderpos.hough.maxslope [default = 0.2].
  • --minslope <float> β€” minimum possible line slope. this should be the physical slope on the chip, i.e. not taking binning factors into account β€” the recipe handles the binning part itself. (float; default: 0.0). EsoRex config name: flames_cal_orderpos.hough.minslope [default = 0.0].
  • --minthresh <float> β€” the minimum threshold value is (min + minthres*(max - min)). here min and max are the lowest and highest pixel values in the central bin of the order. (float; default: 0.2). EsoRex config name: flames_cal_orderpos.trace.minthresh [default = 0.2].
  • --mmethod <str> β€” background subtraction method, pick your fighter: if it equals median, the background is sampled using the median of a sub-window; if it's minimum, the minimum sub-window value is used; if it's no, no background subtraction is done at all. (str; default: median). EsoRex config name: flames_cal_orderpos.preproc.mmethod [default = median].
  • --plotter <str> β€” any plots the recipe produces get redirected to whatever command you put here. the plotting command must contain the substring gnuplot and must be able to parse gnuplot syntax on its standard input. valid examples include gnuplot -persist and cat > mygnuplot$$.gp. want finer control over plotting options? write an executable script, e.g. my_gnuplot.pl, that runs gnuplot after setting the gnuplot options you want (like set terminal pslatex color). to turn plotting off completely, set this parameter to no. (str; default: no). EsoRex config name: uves.plotter [default = no].
  • --process_chip <str> β€” for RED arm data, process the redl chip, the redu chip, or both chip(s). (str; default: both). EsoRex config name: uves.process_chip [default = both].
  • --pthres <float> β€” in automatic mode, or if the number of orders to detect is read from a guess table, the detection of new lines stops once the intensity of a candidate line drops to less than pthres times the intensity of the previous detection. (float; default: 0.2). EsoRex config name: flames_cal_orderpos.hough.pthres [default = 0.2].
  • --radx <int> β€” half X size of the median filtering window. (int; default: 2). EsoRex config name: flames_cal_orderpos.preproc.radx [default = 2].
  • --rady <int> β€” half Y size of the median filtering window. (int; default: 1). EsoRex config name: flames_cal_orderpos.preproc.rady [default = 1].
  • --samplewidth <int> β€” separation of sample traces (used by the Hough transform) in the input image. (int; default: 50). EsoRex config name: flames_cal_orderpos.hough.samplewidth [default = 50].
  • --sloperes <int> β€” resolution (width in pixels) of Hough space. (int; default: 120). EsoRex config name: flames_cal_orderpos.hough.sloperes [default = 120].
  • --tracestep <int> β€” the step size used when tracing the orders. (int; default: 10). EsoRex config name: flames_cal_orderpos.trace.tracestep [default = 10].
  • --use_guess_tab <int> β€” if a guess order table is provided, this parameter sets how it gets used: 0 means no usage at all; 1 means use it to set the lower/upper Y raws where orders are searched; 2 means the order table tries to fully match the guess. (int; default: 1). EsoRex config name: flames_cal_orderpos.preproc.use_guess_tab [default = 1].
πŸ’‘ also, you can totally create a configuration file containing these options along with suitable default values. for the details on that, check what esorex --help tells you. 🫢

πŸ‘€ SEE ALSO πŸ‘€

the full documentation for the uves pipeline can be downloaded as a PDF using this URL:

ftp://ftp.eso.org/pub/dfs/pipelines/uves/uves-pipeline-manual-6.1.8.pdf

an overview of all the existing ESO pipelines lives on this web page: https://www.eso.org/sci/software/pipelines/.

basic documentation about the EsoRex program is in the esorex (1) man page.

you can also call the pipelines from python using the python-cpl package β€” see https://packages.python.org/python-cpl/index.html for more info 🌈

the other recipes of the uves pipeline, all of them, in their full glory:


⭐ VERSION ⭐

flames_cal_orderpos 6.1.8


πŸ‘‘ AUTHOR πŸ‘‘

Jonas M. Larsen <cpl@eso.org>


πŸ’€ BUG REPORTS πŸ’€

please report any problems to cpl@eso.org. alternatively, you may send a report to the ESO User Support Department <usd-help@eso.org>. they want to hear from you, bestie 🫢


part 1 done ✨ part 2 is on its way, don't go anywhere πŸ’œ

🌈 LICENSE 🌈

okay bestie, legal o'clock, but make it cute πŸ’… this file is part of the FLAMES/UVES Pipeline and the copyright situation is:

Copyright (C) 2004, 2005, 2006, 2007 European Southern Observatory πŸ’–

so here's the vibe: this program is free software, and 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. pick your fighter, both are valid, slay ✨

and the way that this program is distributed is literally in the hope that it will be useful, BUT 🫒 β€”

WITHOUT ANY WARRANTY β€” like, none, not even a little. no cap. not even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. it's giving "you're on your own bestie" 😭 if you need the receipts, go read the GNU General Public License for more details.

also you should have received a copy of the GNU General Public License along with this program πŸ“œ and if somehow you didn't (not you forgetting to check, it's fine, it happens), you can write to:

Free Software Foundation, Inc.
51 Franklin St, Fifth Floor
Boston, MA  02111-1307  USA

iconic address fr fr, go send them a lil letter πŸ’Œ


and that's a wrap on the whole page, bestie!! πŸŽ€ this was flames_cal_orderpos, version 6.1.8, aka FLAMES_CAL_ORDERPOS(7) β€” the manual page itself. tysm for reading all the way down to the license, that's real main character energy πŸ‘‘ go forth and order those positions, mwah πŸ’‹πŸ¦‹

πŸ“¦ where this page comes from