VISIR_OLD_IMG_COMBINE(7)

📦
version 4.4.2 · 2 versions
, in debian bookworm, ubuntu noble

💖 visir_old_img_combine(7) 💖

okay so bestie, welcome to the visir recipes section of the manual — this one is all about visir_old_img_combine, and it's a long one so it's split into parts. Sit down, hydrate, let's go. 🫶


✨ NAME ✨

visir_old_img_combine — Old DRS detector: Images combination recipe. literally what it says on the tin, no cap. 🎀


🌸 SYNOPSIS 🌸

esorex visir_old_img_combine [OPTIONS] FILE.sof

that's the whole vibe. esorex, the recipe name, some options, and a sof file. 💅


🦋 DESCRIPTION 🦋

so this recipe recombines the data you observed in chopping/nodding or chopping or nodding modes into one single combined image, and it can optionally use cross-correlation methods to do it. it's giving ✨glow up for your frames✨.

the files listed in the Set Of Frames (the sof-file) must be tagged like this:

  • VISIR-observation-file.fits IM_OBS_CHO_NOD_JIT or
  • VISIR-observation-file.fits IM_OBS_CHO_JIT or
  • VISIR-observation-file.fits IM_OBS_NOD_JIT or
  • VISIR-observation-file.fits IM_OBS_DIR_JIT

like, those tags are non-negotiable. the vibe check will fail otherwise. 😭

and then the corresponding primary product will have a FITS card ´HIERARCH ESO PRO CATG´ with a value of:

  • IMG_OBS_COMBINED_CNJ or
  • IMG_OBS_COMBINED_CJ or
  • IMG_OBS_COMBINED_NJ or
  • IMG_OBS_COMBINED_DJ

and the corresponding beam-collapsed product will have a FITS card ´HIERARCH ESO PRO CATG´ with a value of:

  • IMG_OBS_ONEBEAM_CNJ or
  • IMG_OBS_ONEBEAM_CJ or
  • IMG_OBS_ONEBEAM_NJ or
  • IMG_OBS_ONEBEAM_DJ

(match the suffix to the mode, bestie, it's giving consistency 👑)

Additionally, a bad pixel map with a PRO.CATG of IMG_BPM may be added to the Set Of Frames with tag: BPM. so if you've got a BPM lying around, it can come to the party too. 🎉


💅 OPTIONS 💅

okay here come the flags. every single one. no skipping, we're not that kind of girl.

  • --nod <str> — an optional ASCII specification of the nodding positions, for when they're straight up missing from the FITS-file 🙈. the file has to have one line per input FITS-file, and each line is an integer (which is literally ignored, don't stress about it) followed by a 0 or 1 to indicate object or sky. (str; default: ´NONE´). the full name of this option for the EsoRex configuration file is visir.visir_old_img_combine.nodding [default = NONE].
  • --auto_bpm <bool> — automatic detection and correction of bad pixels. it just... handles it. iconic. (bool; default: True). the full name of this option for the EsoRex configuration file is visir.visir_old_img_combine.auto_bpm [default = True].
  • --g <bool> — automatic filtering of glitches. bye bye little gremlin pixels 💀. (bool; default: False). the full name of this option for the EsoRex configuration file is visir.visir_old_img_combine.rem_glitch [default = False].
  • --p <bool> — automatic purging of half-cycle images whose median deviates more than a factor three from the mean of the medians of half-cycle images, or whose standard deviation deviates more than a factor three from the mean of their standard deviations. yeah, it's a whole statistical situation. (bool; default: False). the full name of this option for the EsoRex configuration file is visir.visir_old_img_combine.purge_bad [default = False].
  • --union <bool> — combine images using their union, as opposed to their intersection. ⚠️ this one is deprecated and ignored, so go look at --combine_method instead, bestie. (bool; default: True). the full name of this option for the EsoRex configuration file is visir.visir_old_img_combine.union [default = True].
  • --rej <str> — each resulting pixel is the average of the corresponding (interpolated) pixel value in each jittered image. a positive value, n1, for the first of the two integers means: for each pixel, the smallest n1 pixel values get ignored in the averaging. similarly, a positive value, n2, for the second of the two integers means: for each pixel, the largest n2 pixel values get ignored in the averaging. so it's clipping from both ends, fr fr. (str; default: ´0-0´). the full name of this option for the EsoRex configuration file is visir.visir_old_img_combine.rej [default = 0-0].
  • --plot <int> — the recipe can produce a number of predefined plots. zero means none of the plots are produced, while increasing values (e.g. 1 or 2) increase the number of plots produced. if the plotting fails, a warning is produced and the recipe just keeps going, main character energy, no drama. the default behaviour of the plotting is to use gnuplot (with option -persist). the recipe currently produces 1D-plots using gnuplot commands. you can control the actual plotting-command the recipe uses to create the plot by setting the environment variable CPL_PLOTTER. currently, if CPL_PLOTTER is set it must contain the string ´gnuplot´. setting it to ´cat > my_gnuplot_$$.txt´ causes a number of ASCII-files to be created, which each produce a plot when given as standard input to gnuplot (e.g. later or on a different computer). a finer control of the plotting options can be obtained by writing an executable script, e.g. my_gnuplot.pl, that executes gnuplot after setting the desired gnuplot options (e.g. set terminal pslatex color) and then setting CPL_PLOTTER to my_gnuplot.pl. the predefined plots include plotting of images. images can be plotted not only with gnuplot, but also using the pnm format. this is controlled with the environment variable CPL_IMAGER. if CPL_IMAGER is set to a string that does not contain the word gnuplot, the recipe will generate the plot in pnm format. e.g. setting CPL_IMAGER to ´display - &´ will produce a gray-scale image using the image viewer display. (int; default: 0). the full name of this option for the EsoRex configuration file is visir.visir_old_img_combine.plot [default = 0].
  • --off <str> — an optional ASCII specification of the offsets, for when the ones in FITS-headers are missing or wrong 😭. the file must consist of one line per input pair of FITS-files, and each line must consist of two numbers which represent the shift in pixels of that image relative to the first image. the first line should thus comprise two zeros. correct FITS-header offsets mean that the i´th X offset can be gotten from Xoffset_0 - Xoffset_i, where Xoffset_i is the value of ESO SEQ CUMOFFSETX and likewise for Y. (str; default: ´NONE´). the full name of this option for the EsoRex configuration file is visir.visir_old_img_combine.offsets [default = NONE].
  • --ref <bool> — user-defined refining of the image offsets. see the options objs and xcorr for the details, bestie. (bool; default: False). the full name of this option for the EsoRex configuration file is visir.visir_old_img_combine.refine [default = False].
  • --objs <str> — the shift and add of images needs anchor points, which are typically bright objects. these are normally detected automatically, but with user-defined refining of offsets enabled, they must be provided by you through an ASCII file containing one line per anchor point, with each line consisting of its x and y coordinate (in pixels). this file is ignored when user-defined refining of offsets is disabled. (str; default: ´NONE´). the full name of this option for the EsoRex configuration file is visir.visir_old_img_combine.objects [default = NONE].
  • --xcorr <str> — if user-defined refining of offsets is enabled, a cross-correlation of the images is performed. to speed this process up, the cross-correlation is performed only on smaller rectangles around the anchor points. the first two parameters are the half-size of this rectangle in pixels. the second pair is the maximum shift in x and y (pixels) evaluated by the cross-correlation on the rectangle. used only if user-defined refining of offsets is enabled. (str; default: ´10-10-25-25´). the full name of this option for the EsoRex configuration file is visir.visir_old_img_combine.xcorr [default = 10-10-25-25].
  • --combine_method <str> — combine images using one of: 1) Onto the first image (first); 2) Their union (union); 3) Their intersection (inter). NB: only the ´first´-method produces an image product with WCS coordinates. a successful ´first´-method always produces a combined image with dimensions equal to those of the input images. for the ´union´-method the result image is at least as large as the input images, while for the ´inter´-method the result image is at most as large as the input images. (str; default: ´union´). the full name of this option for the EsoRex configuration file is visir.visir_old_img_combine.comb_meth [default = union].
  • --destripe_iterations <int> — max number of destriping iterations (0 to disable destriping). horizontal destriping is done first, and if no horizontal striping is detected, vertical destriping is performed. (int; default: 15). the full name of this option for the EsoRex configuration file is visir.visir_old_img_combine.nstripe [default = 15].
  • --destripe_morpho <bool> — destripe with morphological cleaning. glow up those stripes ✨. (bool; default: False). the full name of this option for the EsoRex configuration file is visir.visir_old_img_combine.mstripe [default = False].
  • --eccmax <float> — the maximum eccentricity allowed in the combination of the three (in parallel nod/chopping) or four (in perpendicular nod/chopping) beams. in parallel mode, three perfectly aligned points spaced with the chopnod throw will have eccentricity 0, while in perpedicular mode a square with the chopnod throw as the side length will have eccentricity 0. (float; default: 0.25). the full name of this option for the EsoRex configuration file is visir.visir_old_img_combine.eccmax [default = 0.25].

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. 🫶

(and yes bestie, this page keeps going — there's more where that came from ✨)

👀 SEE ALSO 👀

okay bestie, if you wanna go deep deep on the whole visir pipeline, the full documentation is out there as a PDF and you can just grab it here:

ftp://ftp.eso.org/pub/dfs/pipelines/visir/visir-pipeline-manual-1.4.pdf

and if you want the big-picture ✨vibe check✨ on all the ESO pipelines that exist in the world, that's chillin' right here:

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

basic documentation about the EsoRex program? that lives at the esorex(1) man page, obviously 💅

and listen — you can literally call the pipelines from python using the python-cpl package. the way that's even a thing?? obsessed. go look:

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

the other recipes of the visir pipeline, aka the rest of the girlies, are:

  • visir_img_dark(7)
  • visir_img_ff(7)
  • visir_img_reduce(7)
  • visir_img_trans(7)
  • visir_old_img_phot(7)
  • visir_old_spc_obs(7)
  • visir_old_spc_obs_ech(7)
  • visir_old_spc_phot(7)
  • visir_old_spc_phot_ech(7)
  • visir_old_spc_wcal(7)
  • visir_old_spc_wcal_ech(7)
  • visir_old_util_destripe(7)
  • visir_spc_reduce(7)
  • visir_util_apply_calib(7)
  • visir_util_clip(7)
  • visir_util_convert_weight(7)
  • visir_util_detect_shift(7)
  • visir_util_img_std_cat(7)
  • visir_util_join(7)
  • visir_util_qc(7)
  • visir_util_repack(7)
  • visir_util_run_swarp(7)
  • visir_util_spc_std_cat(7)
  • visir_util_spc_txt2fits(7)
  • visir_util_undistort(7)

🌈 VERSION 🌈

visir_old_img_combine 4.4.2 — that's the one, that's her 💖


👑 AUTHOR 👑

Lars Lundin — <https://support.eso.org> 🫶


😭 BUG REPORTS 😭

if something's acting up, pls pls pls report it to <https://support.eso.org>. and if that's not your vibe, you can also send a report straight to the ESO User Support Department at <usd-help@eso.org> 📬 they wanna hear from you fr fr.


📜 LICENSE 📜

this file is part of the VISIR Instrument Pipeline Copyright (C) 2004, 2005 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. slay 💅

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 02111-1307 USA.


and that's the whole page, bestie 🎀 this was visir_old_img_combine, version 4.4.2, living under the name VISIR_OLD_IMG_COMBINE(7) — go forth and combine those old images, you absolute icon 🦋✨💖

📦 where this page comes from