XSH_RESPON_SLIT_NOD(7)

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

✨ XSH_RESPON_SLIT_NOD ✨

okay bestie, welcome to the XSH_RESPON_SLIT_NOD(7) page from the xshoo recipes manual πŸ’… yes the title is literally the whole vibe: XSH_RESPON_SLIT_NOD(7) on the left, xshoo recipes in the middle, XSH_RESPON_SLIT_NOD(7) again on the right, she's symmetrical, she's iconic, periodt.


🌸 NAME 🌸

xsh_respon_slit_nod β€” bestie this one reduces STD star frames when you're in SLIT configuration and nod mode 🫢


πŸŽ€ SYNOPSIS πŸŽ€

esorex xsh_respon_slit_nod [OPTIONS] FILE.sof

no cap, that's the whole summoning ritual: call esorex, hand her the recipe name, maybe some [OPTIONS], and a FILE.sof to chew on πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so real talk: this recipe reduces science exposure in SLIT configuration and NOD mode ✨ like that's her whole job, that's her main character energy.

πŸ’œ Input Frames :

she's not low-maintenance, she has a whole checklist. here's what she wants sliding into her .sof:

  • A set of n Science frames ( n even ), Tag = OBJECT_SLIT_NOD_arm β€” yes the count has to be even, she's not doing math on an odd number, that's the rules πŸ”₯
  • Spectral format table (Tag = SPECTRAL_FORMAT_TAB_arm)
  • [UVB,VIS] A master bias frame (Tag = MASTER_BIAS_arm) β€” note the lil bracket situation: UVB and VIS only, okay? πŸ‘€
  • A master flat frame (Tag = MASTER_FLAT_SLIT_arm)
  • An order table frame (Tag = ORDER_TABLE_EDGES_SLIT_arm)
  • [poly mode] A wave solution frame (Tag = WAVE_TAB_2D_arm)
  • [poly mode] A wave map frame (Tag = WAVE_MAP_arm)
  • [poly mode] A disp table frame (Tag = DISP_TAB_arm)
  • [physical model mode] A model cfg table (Format = TABLE, Tag = XSH_MOD_CFG_TAB_arm)
  • [OPTIONAL] A telluric model catalog (Tag = TELL_MOD_CAT_arm arm=VIS,NIR) β€” optional bestie, but she'll take it if you've got it πŸ’…
  • A standard star fluxes catalog (Tag = FLUX_STD_CATALOG_arm Type = FLX)
  • A table to set response sampling points (Tag = RESP_FIT_POINTS_CAT_arm)
  • [OPTIONAL] An atmospheric extinction table (Tag = ATMOS_EXT_arm) β€” and okay, listen: if provided this is the one used to flux calibrate the spectra. like, it overrides, it's the chosen one, no cap πŸ‘‘

🌈 Products :

and here's what she gives you back, the whole glow-up lineup:

  • [If STD is in catal] The response function (Tag = PREFIX_RESPONSE_ORDER1D_SLIT_arm)
  • [If STD is in catal] The response function (Tag = PREFIX_RESPONSE_MERGE1D_SLIT_arm)
  • PREFIX_ORDER2D_arm (2 dimension)
  • PREFIX_ORDER1D_arm (1 dimension)
  • PREFIX_MERGE2D_arm (2 dimension)
  • PREFIX_MERGE1D_arm (1 dimension)
  • PREFIX_WAVE_MAP_arm, wave map image
  • PREFIX_SLIT_MAP_arm, slit map image
  • [If STD is in catal] Flux calibrated order-by-order 2D spectrum (Tag = PREFIX_FLUX_ORDER2D_arm)
  • [If STD is in catal] Flux calibrated order-by-order 1D spectrum (Tag = PREFIX_FLUX_ORDER1D_arm)
  • [If STD is in catal] Flux calibrated merged 2D spectrum (Tag = PREFIX_FLUX_MERGE2D_arm)
  • [If STD is in catal] Flux calibrated merged 1D spectrum (Tag = PREFIX_FLUX_MERGE1D_arm)
  • [If STD is in catal] The efficiency (Tag = EFFICIENCY_SLIT_arm)

and then the lil plot twist about that PREFIX thing: where PREFIX is SCI, FLUX, TELL if input raw DPR.TYPE contains OBJECT or FLUX or TELLURIC 🧚 so she's literally picking her own name based on the vibes of the input, iykyk.


more coming bestie, hold on πŸ’–

✨ OPTIONS ✨

okay bestie, this is the part where we go through EVERY. SINGLE. KNOB. πŸŽ›οΈ no skimming, no "you'll figure it out" β€” we're listing all of them, and every one of them has a full name for the EsoRex config file so you can go write your own config and be that girl. πŸ’…


  • --keep-temp <str> β€” if you set it to no, the temporary files get yeeted. (str; default: no). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.keep-temp [default = no].
  • --debug-level <str> β€” extra xshooter debug level, and it has to be one of none, low, medium, high. (str; default: none). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.debug-level [default = none].
  • --time-stamp <bool> β€” throws a timestamp onto the product file name, so your outputs don't all look like twins. (bool; default: False). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.time-stamp [default = False].
  • --decode-bp <int> β€” the integer version of the bits that count as bad when it's decoding the bad pixel mask pixel values. the codes you'll actually bump into: 0: good pixel, 8: pick-up noise, 16: cosmic-ray removed, 32: cosmic-ray unremoved, 128: calibration file defect, 256: hot pixel, 512: dark pixel, 4096: A/D converted saturation, 32768: non linear pixel, 1048576: extrapolated flux in NIR, 4194304: Interpolated flux during extraction. (int; default: 1741684735). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.decode-bp [default = 1741684735].
  • --pre-overscan-corr <int> β€” the pre-overscan correction vibe check. 0: no correction, 1: mean overscan correction, 2: mean prescan correction, 3: (mean pre+mean overscan)/2 correction. (int; default: 1). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.pre-overscan-corr [default = 1].
  • --stack-method <str> β€” the method used to build the master frame. (str; default: median). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.stack-method [default = median].
  • --klow <float> β€” the kappa used to clip low level values, and it only matters when the method is set to mean. (float; default: 5.0). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.klow [default = 5.0].
  • --khigh <float> β€” the kappa used to clip high level values, again only when the method is set to mean. (float; default: 5.0). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.khigh [default = 5.0].
  • --removecrhsingle-sigmalim <float> β€” the Poisson fluctuation threshold used to flag CRHs (go read van Dokkum, PASP,113,2001,p1420-27, it's giving academic). (float; default: 20.0). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.removecrhsingle-sigmalim [default = 20.0].
  • --removecrhsingle-flim <float> β€” the minimum contrast between the Laplacian image and the fine structure image that a point needs to have before it gets flagged as a CRH (again, van Dokkum, PASP,113,2001,p1420-27). (float; default: 2.0). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.removecrhsingle-flim [default = 2.0].
  • --removecrhsingle-niter <int> β€” max number of iterations, literally just that. (int; default: 4). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.removecrhsingle-niter [default = 4].
  • --rectify-kernel <str> β€” the name of the interpolation kernel used, and your options are: tanh, sinc, sinc2, lanczos, hamming, hann. (str; default: tanh). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.rectify-kernel [default = tanh].
  • --rectify-radius <float> β€” the rectify interpolation radius, measured in bin units. (float; default: 2.0). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.rectify-radius [default = 2.0].
  • --rectify-bin-lambda <float> β€” wavelength step in the output spectrum, in nm. (float; default: -1.0). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.rectify-bin-lambda [default = -1.0].
  • --rectify-bin-slit <float> β€” spatial step along the slit in the output spectrum, in arcsec. (float; default: -1.0). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.rectify-bin-slit [default = -1.0].
  • --rectify-fast <bool> β€” fast if TRUE, where Rect[B-A] = -Rect[A-B], and in that case only entire pixel shifts get applied. (bool; default: True). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.rectify-fast [default = True].
  • --localize-method <str> β€” the localization method used to detect the object centroid and height on the slit: MANUAL, MAXIMUM, GAUSSIAN. (str; default: MANUAL). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.localize-method [default = MANUAL].
  • --localize-chunk-nb <int> β€” how many chunks in the full spectrum are used to localize the object. (int; default: 10). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.localize-chunk-nb [default = 10].
  • --localize-thresh <float> β€” the threshold relative to the peak intensity, below which the edges of the object get detected for MAXIMUM localization. (float; default: 0.1). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.localize-thresh [default = 0.1].
  • --localize-deg-lambda <int> β€” the degree in lambda in the localization polynomial expression slit=f(lambda), and it's only used for MAXIMUM and GAUSSIAN. (int; default: 0). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.localize-deg-lambda [default = 0].
  • --localize-slit-position <float> β€” object position on the slit for MANUAL localization, in arcsec. (float; default: 0.0). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.localize-slit-position [default = 0.0].
  • --localize-slit-hheight <float> β€” object half height on the slit for MANUAL localization, in arcsec. (float; default: 2.0). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.localize-slit-hheight [default = 2.0].
  • --localize-kappa <float> β€” the kappa value used for sigma clipping in the localization polynomial fit. (float; default: 3.0). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.localize-kappa [default = 3.0].
  • --localize-niter <int> β€” how many iterations of sigma clipping happen in the localization polynomial fit. (int; default: 3). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.localize-niter [default = 3].
  • --localize-use-skymask <bool> β€” TRUE if we wanna mask sky lines using the SKY_LINE_LIST file. (bool; default: False). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.localize-use-skymask [default = False].
  • --localize-nod-throw <float> β€” the step (arcsec) between the A and B images in nodding mode. (float; default: 0.0). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.localize-nod-throw [default = 0.0].
  • --extract-method <str> β€” the method used for extraction: LOCALIZATION, NOD. (str; default: NOD). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.extract-method [default = NOD].
  • --stdextract-interp-hsize <int> β€” half size of the mask used to define the object cross order profile. (int; default: 30). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.stdextract-interp-hsize [default = 30].
  • --combinenod-throwlist <str> β€” name of the ascii file holding the list of throw shifts with respect to the first exposure. (str; default: throwlist.asc). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.combinenod-throwlist [default = throwlist.asc].
  • --combinenod-method <str> β€” the combination method for nodded frames: MEDIAN, MEAN. (str; default: MEAN). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.combinenod-method [default = MEAN].
  • --max-slit <float> β€” Lower Slit Limit (localize and extract. yes, that's exactly how it reads, we're keeping it. (float; default: 5.7). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.max-slit [default = 5.7].
  • --min-slit <float> β€” Upper Slit Limit (localize and extract. same energy, same dangling paren. (float; default: -5.3). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.min-slit [default = -5.3].
  • --correct-tellurics <bool> β€” TRUE if we apply telluric correction during the response computation. (bool; default: True). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.correct-tellurics [default = True].
  • --correct-sky-by-median <bool> β€” TRUE if the resampled spectrum at each wavelength gets median subtracted to remove sky lines. (bool; default: True). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.correct-sky-by-median [default = True].
  • --scale-combine-nod-method <int> β€” frame scaling when nod frames are combined: 0 (no-scaling); 1 (scaling). (int; default: 1). full name in the EsoRex config file is xsh.xsh_respon_slit_nod.scale-combine-nod-method [default = 1].

🫢 and yes, bestie, you can absolutely make a configuration file holding all these options plus whatever default values you like. the details live in what the esorex --help command tells you. go look. it's giving self-sufficient. πŸ’–

πŸ’– SEE ALSO πŸ’–

okay bestie, here's the ✨ extended universe ✨ of this recipe β€” the full tea:

  • The complete documentation for the xshoo pipeline can be downloaded as a PDF file from this URL right here:
ftp://ftp.eso.org/pub/dfs/pipelines/xshoo/xshoo-pipeline-manual-12.1.pdf
  • Wanna see the whole landscape of ESO pipelines? There's a web page for that, and it's giving directory-of-everything:
https://www.eso.org/sci/software/pipelines/
  • The basic lore on the EsoRex program lives in the esorex (1) man page. go read it, it's the parent figure here 🫢
  • And yes, you can call the pipelines from python using the python-cpl package πŸ’… β€” more info lives here:
https://packages.python.org/python-cpl/index.html

⭐ VERSION ⭐

xsh_respon_slit_nod 3.5.3 πŸŽ€


πŸ‘‘ AUTHOR πŸ‘‘

P.Goldoni, L.Guglielmi, R. Haigron, F. Royer, D. Bramich A. Modigliani <amodigli@eso.org>

(these are the icons who made it happen, we stan 🌈)


🚨 BUG REPORTS 🚨

found a bug? bestie, please don't suffer in silence 😭 β€” report any problems to amodigli@eso.org.

Alternatively, you may send a report to the ESO User Support Department <usd-help@eso.org>. two whole doors, pick your fav 🫢


πŸ“œ LICENSE πŸ“œ

okay so legally speaking β€” here's the whole thing, every word, no skipping:

This file is part of the X-shooter Instrument Pipeline Copyright (C) 2006 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA


and that's a wrap on xsh_respon_slit_nod, bestie πŸ¦‹βœ¨ this is page xsh_respon_slit_nod, version 3.5.3, and it's filed under XSH_RESPON_SLIT_NOD(7) β€” aka the man page title itself πŸŽ€ go forth and reduce them nodding slits, you got this πŸ’…πŸ‘‘

πŸ“¦ where this page comes from