FLAMES_CAL_ORDERPOS(7)
π 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:
- orders get detected first, using a Hough transformation (yes, that's real, and yes, it's iconic) β¨
- then the orders get traced π£
- 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 xOrderβ relative order numberYβ order line centroid locationYfitβ the fitted order locationdYβ uncertainty of YdYfit_Squareβ variance of YfitResidualβY - YfitResidual_SquareβResidual^2OrderRMSβ 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 whenmode=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 whenmode=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 whenmode=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 whenmode=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 sizemaxgapmultiplied 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)). hereminandmaxare 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 equalsmedian, the background is sampled using the median of a sub-window; if it'sminimum, the minimum sub-window value is used; if it'sno, 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 substringgnuplotand must be able to parse gnuplot syntax on its standard input. valid examples includegnuplot -persistandcat > 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 (likeset terminal pslatex color). to turn plotting off completely, set this parameter tono. (str; default:no). EsoRex config name:uves.plotter [default = no].--process_chip <str>β for RED arm data, process theredlchip, thereduchip, orbothchip(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 thanpthrestimes 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:0means no usage at all;1means use it to set the lower/upper Y raws where orders are searched;2means 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:
flames_cal_mkmaster(7)flames_cal_predict(7)flames_cal_prep_sff_ofpos(7)flames_cal_wavecal(7)flames_obs_redchain(7)flames_obs_scired(7)flames_utl_unpack(7)uves_cal_cd_align(7)uves_cal_mbias(7)uves_cal_mdark(7)uves_cal_mflat(7)uves_cal_mflat_combine(7)uves_cal_mkmaster(7)uves_cal_orderpos(7)uves_cal_predict(7)uves_cal_response(7)uves_cal_tflat(7)uves_cal_wavecal(7)uves_obs_redchain(7)uves_obs_scired(7)uves_utl_ima_arith(7)uves_utl_remove_crh_single(7)
β 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 ofMERCHANTABILITYorFITNESS 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
- debian bookworm: cpl-plugin-uves-doc 6.1.8+dfsg-2 Β· GPL-v2+
- ubuntu noble: cpl-plugin-uves-doc 6.1.8+dfsg-2build3 Β· GPL-v2+
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms