Dear all, I am happy to share the 22nd stable release of GNU Astronomy Utilities (Gnuastro) :-).
Gnuastro is an official GNU package, consisting of various command-line programs, C/C++ library functions and GNU Makefile extensions for the manipulation and analysis of (astronomical) data. All the programs share the same basic command-line user interface (modeled on GNU Cretan's). For the Gnuastro web page, hands-on tutorials (recommended place to start using Gnuastro), list of Gnuastro's library, Gnuastro's programs and Makefile extensions please see the links below respectively: https://www.gnu.org/s/gnuastro https://www.gnu.org/s/gnuastro/manual/html_node/Tutorials.html https://www.gnu.org/s/gnuastro/manual/html_node/Gnuastro-library.html https://www.gnu.org/s/gnuastro/manual/html_node/Gnuastro-programs-list.html https://www.gnu.org/software/gnuastro/manual/html_node/Makefile-extensions.html There have been 91 commits by 8 people in the 23 weeks since 0.22, see [1] below for the full list. For all the new features, as well as changes and bug fixes, see the NEWS file entry for this version; shown in [2] below. Here are the compressed source and the GPG detached signature for this release. To uncompress Lzip tarballs, see [3]. To check the validity of the tarballs using the GPG detached signature (*.sig) see [4]. See [5] for the list of software used to bootstrap this tarball. https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.23.tar.lz (4.7MB) https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.23.tar.gz (7.6MB) https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.23.tar.lz.sig (833B) https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.23.tar.gz.sig (833B) Here are the SHA1 and SHA256 checksums (other ways to check if the tarball you download is what we distributed). Just note that the SHA256 checksum is base64 encoded, instead of the hexadecimal encoding that most checksum tools default to (see [6] on how to generate it). 48e548e90a71c1f61bf7a2c8a7b6ced909ff1533 gnuastro-0.23.tar.gz +X53X/tZgcY/it++lY/Ov5FHwT8OfpZAfd398zs/dwI= gnuastro-0.23.tar.gz 6bd4f19ece4ae742ec63435b105fa9c01aa1e89c gnuastro-0.23.tar.lz 2FM92kROTjs1d4de0VmJkrbMCYPICVStsAFtReMEoaM= gnuastro-0.23.tar.lz If any of Gnuastro's programs or libraries are useful in your work, please don't forget to cite _and_ acknowledge them. For citation and acknowledgment guidelines, run the relevant programs with a `--cite' option (it can be different for different programs, so run it for all the programs you use). Citations _and_ acknowledgments are vital for the continued work on Gnuastro, so please don't forget to support us by doing so. For the full list of Gnuastro papers, see https://ui.adsabs.harvard.edu/public-libraries/0QdYMuVCQdmygEh0Vs_4Ew (requires Javascript). Best wishes, Mohammad -- Dr. Mohammad Akhlaghi Staff Researcher Centro de Estudios de Física del Cosmos de Aragón (CEFCA), Plaza San Juan 1, Planta 2, Teruel 44001, Spain [1] Thanks to everyone who has contributed! The following people contributed changes to this release (the number in parenthesis is the number of Git commits): Boud Roukema (2) Elham Saremi (1) Faezeh Bidjarchian (2) Giacomo Lorenzetti (6) Mohammad Akhlaghi (60) Raul Infante-Sainz (12) Sepideh Eskandarlou (7) Thorsten Alteholz (1) The following people provided comments, suggestions or found bugs: Dennis Williamson Fernando Buitrago Alonso Greg Wooledge Hamed Altafi Jesús Vega Juan Castillo Ramírez Mathias Urbano Ooldooz Kabood Paola Dimauro Phil Wyett Rahna Payyasseri Thanduparackal Raul Infante-Sainz Sepideh Eskandarlou Takashi Ichikawa Zahra Sharbaf [2] Noteworthy changes in release 0.23: ** New publications - https://ui.adsabs.harvard.edu/abs/2024RNAAS...8..168E by Eskandarlou and Akhlaghi describing the newly added polar plot capability of 'astscript-radial-profile' (see the figure in the paper). ** New features *** Arithmetic --append: if the output file already exists, don't delete it, add the outputs as extra HDUs (by default, the output file is deleted). If the output does not exist, then this option has no affect. - New operators (also available in "Column Arithmetic" of the Table program): - jy-to-wavelength-flux-density: converts Janskys to wavelength flux density (erg/cm^2/s/Å) at the given wavelength. - filter-madclip-mean: filter/smooth the input using MAD-clipped mean. - filter-madclip-median: filter/smooth the input using MAD-clipped median. - free: free (from memory) the top operand on the stack of operands. This is useful in combination with operators that produce more than one output operand. - madclip-maskfilled: mask (set to NaN) all input elements that are outliers (defined by MAD-clipping). Combined with the stacking operators this allows removing large contiguous outliers in your final stacked datasets. - siglclip-maskfilled: similar to 'madclip-maskfilled', but defining outliers by Sigma-clipping. - zeropoint-change: change the zero point of the input data set to a new zero point. *** Statistics --concentration: measure the "concentration" of values in a distribution around the median. See the book for the full description of this option. *** astscript-fits-view --globalhdu: use the same HDU in any number of input files (with the short format of '-g'); similar to the same option in Arithmetic or ConvertType. --ds9region: load any number of DS9 region files (separated by comas and given to this option) into the DS9 window that will be opened. This was added by Giacomo Lorenzetti. - The default DS9 'sls' colormap contrast and bias are adjusted so the largest value does not have a white color, but is dark red. This was done because white is DS9's default color for blank pixels and out-of-image regions; making the pixels with the largest value invisible. *** astscript-radial-profile --polar: generate a 2D polar plot in the same region of the image that the 1D radial profile has been calculate over. The polar plot is a mapping/projection of pixels into an azimuthal angle vs. radius grid, highlighting features that have polar symmetry (for example spiral arms in galaxies or diffraction spikes in the PSF). This feature was implemented by Sepideh Eskdandarlou. *** astscript-psf-scale-factor --nocentering: disable sub-pixel centering of the desired star before finding the scale factor; added by Sepideh Eskandarlou and Raul Infante-Sainz. *** Makefile extensions - $(ast-text-prev TARGET, LIST): select the word that is previous to 'TARGET' in a list of words. See the minimal working example in the book for more. - $(ast-text-prev-batch TARGET, NUM, LIST): select the previous "batch" of 'NUM' words (in relation to the batch that contains 'TARGET'). This is useful for steps in your pipelines were you need to limit the parallelization to batches. See the minimal working example in the book for more. - $(ast-text-prev-batch-by-ram TARGET, NEEDED_RAM_GB, LIST): select the previous batch of words in 'LIST' such that the total consumed RAM by all the parallel executions does not exceed the available RAM when Make starts. Like 'ast-text-prev-batch', this is useful for steps in a pipeline that require a large amount of RAM (thus not allowing parallel execution), but this is more generic and adapts to different systems with very different RAM and/or CPU threads. See the minimal working example in the book for more. *** Library - gal_statistics_concentration: measure the concentration of values around the median; see the book for the details. - gal_units_jy_to_wavelength_flux_density: convert Janskys to wavelength flux density. - gal_units_zeropoint_change: change the zero point of the input data set to an output zero point. ** Removed features There are no removed features in this release. ** Changed features *** All programs - System configuration files are installed in 'PREFIX/etc/gnuastro/', ('PREFIX/' is the installation directory of Gnuastro; when installing from source, and if no '--prefix' is given to the './configure script, it is '/usr/local'). Until now, the configuration files of Gnuastro's programs were installed in 'PREFIX/etc/'. But that was a top-level directory for the configuration files of all the programs within the operating system. Therefore the old method would unnecessarily populate that already crowded directory, and finding Gnuastro's configuration files could become non-trivial. This was suggested by Phil Wyett. - User configuration files are installed in '$HOME/.local/etc/gnuastro/' instead of '$HOME/.local/etc/'. See the description of system configuration files above for more. *** Arithmetic - The following operators will output two operands: the main statistic and the number of inputs used in each pixel: 'sigclip-mean', 'sigclip-median', 'sigclip-std', 'sigclip-mad', 'madclip-mean', 'madclip-median', 'madclip-std', 'madclip-mad'. See the book for full examples on how to work with this (in summary: use '--writeall' to also write the numbers image in the output or use 'swap free' to free it). - Removed operators: - 'madclip-number' and 'sigclip-number': because the numbers image will be returned with any clipping stacking operator. - 'madclip-fill-mad', 'sigclip-fill-mad', 'madclip-fill-std', 'sigclip-fill-std', 'madclip-fill-mean', 'sigclip-fill-mean', 'madclip-fill-median', 'sigclip-fill-median', 'madclip-fill-std', 'sigclip-fill-std': because the newly added and more general operators ('madclip-maskfilled' and 'sigclip-maskfilled') can be combined with any of the stacking operators to produce these as well as many other useful scenarios. *** ConvertType - Standard input (stdin) is only checked when no input file has been specified. Until now, the 'stdin' would be checked all the time, and if anything was present there, it would be taken as the first color channel. But this could cause problems in shell loops that parse the standard input (for example, see https://lists.gnu.org/archive/html/help-bash/2024-02/msg00074.html). Also, it would rarely happen that when the three RGB color channels are necessary, the first would be from the standard input, and the other two as files. The new behavior is much more similar to the behavior of other command-line programs like AWK or SED. This issue was reported by Jesús Vega and Raul Infante-Sainz and solved with the help of Greg Wooledge and Dennis Williamson. *** CosmicCalculator - The names of spectral lines which include their rest frame wavelength is rounded to the nearest integer. For example the OIII line at wavelength of 5006.84 Angstroms is now called O-III-5007. Until now,it was confusingly/wrongly called O-III-5006! *** Library - speclines.h: marcos specifying spectral lines have been corrected to round wavelengths to nearest integer (see description of changes in CosmicCalculator). For example the old 'GAL_SPECLINES_O_III_5006' is now called 'GAL_SPECLINES_O_III_5007'. *** astscript-fits-view - The short format of the '--ds9geometry' option is '-G' (until now it was '-g'). This was necessary to allow the '-g' of this script to have a similar behavior to the other Gnuastro programs that take multiple inputs (like Arithmetic or ConvertType) and '-g' is short for '--globalhdu' (so the same HDU is opened in all the inputs). ** Bugs fixed - bug #65255: description of CosmicCalculator's '--arcsectandist' didn't specify if it is in physical or comoving coordinates. Found and fixed by Boud Roukema. - bug #65267: 'astscript-fits-view' created incorrect call to ds9 when the number of input files was more than the specified HDUs. - bug #65269: 'astscript-color-faint-gray' and 'astscript-psf-stamp' use a coma as the decimal point on some operating systems. Reported by Jesús Vega and fixed by Raul Infante-Sainz. - bug #65377: MakeCatalog's suggested command when labeled image has negative values (and MakeCatalog crashes) is wrong. Reported by Zahra Sharbaf. - bug #65382: Radial profile script truncates the azimuthal angle when the maximum requested azimuthal range is above 360 degrees. Reported by Fernando Buitrago Alonso and fixed by Raul Infante-Sainz. - bug #63064: Statistics crashes when all pixels are NaN. Reported by Raul Infante-Sainz and fixed with help of Thorsten Alteholz. - bug #65494: Crop segmentation fault with older CFITSIOs (three word version format). Reported by Giacomo Lorenzetti. - bug #65571: Crop returns successfully when no output was made. Reported by Sepideh Eskandarlou. - bug #65561: Projections to infinity cause very long running time in Warp. Found and fixed by Giacomo Lorenzetti. - bug #63026: Warp translation adds one extra pixel even if it is not requested. Reported by Raul Infante-Sainz and fixed by Giacomo Lorenzetti. - bug #65672: ./developer-build exits silently when some options are given an empty value. Found and fixed by Giacomo Lorenzetti. - bug #65673: Arithmetic creates a metadata FITS file a HDU with no data) even when the output is not FITS (plain-text or on the standard output). Reported by Sepideh Eskandarlou. - bug #65743: Arithmetic's collapse-number mistakenly calculating collapse-median instead. Reported by Sepideh Eskandarlou. - bug #65801: astscript-fits-view could not properly parse the short versions of the '--ds9geometry', '--ds9extra', '--ds9center' and '--ds9mode' when the value was touching the short option name. Found and fixed by Giacomo Lorenzetti. - bug #65822: MakeProfiles does not write negative values with --replace. - bug #65833: Convolve crashes when the kernel only has a single element. - bug #65847: make check FAILs on color-faint-gray script when libjpeg not found. Reported by Takashi Ichikawa. - bug #65853: Statistics crashes with the --ontile option. - bug #65862: Output directory ignored when Statistics is called with the '--ontile' option. - bug #65935: Arithmetic crashes with constants like speed of light. - bug #65939: Column numbers in plain-text table metadata with +100 columns incorrectly written for the first 9 (single-digit) columns; found with the help of Sepideh Eskandarlou. - bug #65941: Name of spectral lines with wavelength were not rounded to smallest nearest integer (see description of change in CosmicCalculator). [3] Lzip has better compression ratio and archival features compared to the '.gz' or '.xz' formats. Therefore Gnuastro's alpha/test releases are only in this format, but for historical reasons we also include `.gz' tarballs in the official releases. If you don't have Lzip (you can check with `lzip --version' command), download and install it from its webpage: https://www.nongnu.org/lzip/lzip.html If Lzip is present and you use GNU Tar, then the single command below should uncompress and un-pack the tarball: $ tar xf gnuastro-0.23.tar.lz If the command above doesn't work, you have to un-compress and un-pack it with two separate commands (or use a pipe to feed the output of the first into the second: `lzip -cd gnuastro-0.23.tar.lz | tar -xf -'): $ lzip -d gnuastro-0.23.tar.lz $ tar xf gnuastro-0.23.tar [4] Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this: gpg --verify gnuastro-0.23.tar.gz.sig The signature should match the fingerprint of the following key: pub rsa4096 2018-12-08 [SC] 52B0 4484 D806 C90D CB52 7249 71E8 9901 2D17 4B66 uid [ unknown] Mohammad Akhlaghi <moham...@akhlaghi.org> If that command fails because you don't have the required public key, or that public key has expired, try the following commands to retrieve or refresh it, and then rerun the 'gpg --verify' command. gpg --recv-keys 71E899012D174B66 As a last resort to find the key, you can try the official GNU keyring: wget -q https://ftp.gnu.org/gnu/gnu-keyring.gpg gpg --keyring gnu-keyring.gpg --verify gnuastro-0.23.tar.gz.sig [5] This tarball was bootstrapped (created) with the tools below. Note that you don't need these to build Gnuastro from the tarball, these are the tools that were used to make the tarball itself. They are only mentioned here to be able to reproduce/recreate this tarball later. Texinfo 7.1 Autoconf 2.72 Automake 1.16.5 Help2man 1.49.3 ImageMagick 7.1.1-34 Gnulib v1.0-502-g460775b418 Autoconf archives v2023.02.20-50-geb940c6 The dependencies to build Gnuastro from this tarball on your system are described here: https://www.gnu.org/s/gnuastro/manual/html_node/Dependencies.html [6] To get the base64 SHA256 checksum, you can use the command below (assuming you already have the 'openssl' command-line program). cat gnuastro-0.23.tar.lz \ | openssl dgst -binary -sha256 | openssl base64 -A