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


Reply via email to