Gnuastro 0.24 released

Mohammad Akhlaghi <[email protected]> Thu, 27 Nov 2025 02:25:39 +0100
Newsgroups gmane.org.fsf.announce
Message-ID <[email protected]>
Dear all,

I am very happy to announce the 24th release (version 0.24) of
GNU Astronomy Utilities (Gnuastro). There have been 125 commits
by 11 people (see [1]) in the 71 weeks since version 0.23 (for
the most noteworthy updates see [2]).

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 Coreutils). See the Gnuastro webpage
for more details: https://www.gnu.org/s/gnuastro

Below are the links to download the compressed source for this
release in two formats. To uncompress Lzip tarballs, see [3]. To
check the validity of the tarballs using the GPG detached
signature (*.sig) see [4] and using SHA checksums see [5]. In [6]
you can see the list of software used to bootstrap this tarball.

   https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.24.tar.lz (4.9MB)
   https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.24.tar.gz (7.9MB)

A copy of the PDF manual and tarball of every release is also
placed on Zenodo to register a DOI for this release and help in
citations. For example see how the manual of Gnuastro 0.23 is
cited in https://arxiv.org/abs/2510.12940 . The DOI for version
0.24 is:

   https://doi.org/10.5281/zenodo.17726900

If any of Gnuastro's programs or libraries are useful in your
work, please don't forget to cite the relevant publications in
your publications. For citation 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). For
the full list of Gnuastro's citable resources, see
https://ui.adsabs.harvard.edu/public-libraries/0QdYMuVCQdmygEh0Vs_4Ew
(requires Javascript).

Cheers,
Mohammad

--

https://akhlaghi.org
Staff researcher at CEFCA,
Lead of ARRAKIHS mission data reduction pipeline





[1] Thanks to everyone who has contributed!

The following people contributed changes to this release:

   Barış Güngör (1)
   Boud Roukema (1)
   Faezeh Bidjarchian (2)
   Giacomo Lorenzetti (13)
   Haleh Mesgari (2)
   Ignacio Ruiz Cejudo (1)
   Mohammad Akhlaghi (92)
   Rahna Payyasseri (1)
   Raul Infante-Sainz (10)
   Samane Raji (1)
   Sepideh Eskandarlou (1)

The following people provided comments, suggestions or found
bugs:

   Alejandro Camazón Pinilla
   Alejandro Lumbreras-Calle
   Antonio Diaz Diaz
   Benson Muite
   Carlos Marrero de La Rosa
   David Valls-Gabaud
   Elizabeth Sola
   Faezeh Bidjarchian
   Hok Kan (Ronald) Tsang
   Joseph Putko
   Ole Streicher
   Phil Wyett
   Rahna Payyasseri Thanduparackal
   Rafael Guzman
   Raul Infante-Sainz
   Samane Raji
   Sepideh Eskandarlou


[2] Noteworthy changes since version 0.23 (from the 'NEWS' file
within the tarball).

** New publications

   - https://arxiv.org/abs/2510.12940 by Eskandarlou et al. that
     describes the latest status of our scripts to extract and
     subtract the extended PSF of bright stars in the J-PLUS
     survey. See Figure 1 (for an outline of the flow chart) and
     Figure 6 (on a nice demo of the effect). It builds upon
     Infante-Sainz et al. 2020 (which was the basis for Gnuastro's
     'astscript-psf-*' scripts) and like that paper, this one is
     also fully reproducible so you can go inside its public
     source code to check every step (see Section 6 for the
     links).

** New features

*** Arithmetic

   - New Operators: similar operators are grouped; groups are
     sorted alphabetically by first operator in the group

     - filter-minimum:
     - filter-maximum:
     - filter-sigclip-std:
     - filter-madclip-mad:
     - filter-sigclip-std:
     - filter-madclip-mad:
       Replace each pixel with the respective statistic of the
       pixels in the given filter size. These are useful when you
       need to measure the spread of nearby pixels (in the
       presence of outliers).

     - label-area:
     - label-minimum:
     - label-maximum:
       Given a labeled and a values image do the requested
       measurements on the label and set the label's pixels to the
       output of the measurement in the output. For example, if
       you want to remove all labels with an area less than 3, you
       can use the 'label-area' option followed by the 'gt'
       (greater-than) operator. Until now, to do this, we needed
       to run MakeCatalog, extract the rows, and write loops to
       remove the labels one by one (which was slow, in efficient
       and could by buggy). These new operators greatly simply
       such operations while significantly improving the
       speed. See example usages within the book.

     - luminosity-to-mag:
     - mag-to-luminosity:
       Convert apparent magnitude to luminosity and
       vice-versa. Implemented by Sepideh Eskandarlou.

     - madclip-all:
     - sigclip-all:
       Return all available statistics after clipping outliers
       (mean, std, median and MAD and number of used datasets).

     - sblim-diff: calculate the expected difference in surface
       brightness limit (purely based on exposed area (of the
       telescope) and exposure time (assuming the same filter, sky
       conditions and assuming no correlated noise). This can be
       used for planning projects with different telescopes, but
       be careful about filters and atmosphere.

*** ConvertType

   --cmapblankcolor: Name of color to use for blank values when
     showing single-channel images through a colorbar. This is
     very useful in scenarios where you don't want your audience
     to confuse NaN pixels with pixels that have data. For example
     if you use the Viridis colormap, you can set
     '--cmapblankcolor=white' or '--cmapblankcolor=red' (which do
     not exist in the Viridis color map). Note that this option
     does not apply to the "gray" colormap because that is single
     channel. To get the list of recognized colors in Gnuastro run
     'astconvertt --listcolors'. This was suggested by Sepideh
     Eskandarlou.

   --cmappgfplots: create a second output file containing the
     PGFPlots colormap definition for single-channel data that are
     to be displayed through a colormap. PGFPlots is a powerful
     plot creation package within LaTeX to create high-quality
     plots and figures in your papers, slides or reports. With
     this option, you can use Gnuastro colormaps that are not
     available in PGFPlots. The "Annotations for figure in paper"
     section of the book has a fully working example of the usage
     of PGFPlots in combination with Gnuastro for high-quality
     figure generation.

*** MakeCatalog

   --novalinerror: ignore pixel in the values image when
     calculating the variance of each label's pixel: only use the
     pixel's value in the '--instd' image (which can also be the
     variance with the '--variance' option). This is useful in
     scenarios where the STD/variance image is not just the sky
     STD/Variance, but also has the signal's contribution.

   --mean-error: Measure the error of the mean for each label
     (object or clump).

   --meta-measures: new option to print metameasurements
     (measurements on measurements) as keywords in the 0th HDU of
     the output. These include the measured surface brightness
     limit, the noise-based magnitude limit and the confusion
     limit. Until now, only the first was always automatically
     measured, but from this version, if you need to call this
     option to get it (the keyword names have also changed, see
     "MakeCatalog output keywords" section of the book). For more,
     see the newly added section in the book called
     "Metameasurements on full input".

   --nml-sigma and --nml-area: the multiple of standard deviation
     and area (in square arcseconds) to use for the noise-based
     magnitude limit (also called "detection limit" by some
     authors).

   --cnl-with-objects: measure the confusion limit using objects
     instead of clumps (only recommended if you are not generating
     your labels with Segment).

   --cnl-check: add an extra HDU to the output that contains the
     distances to the nearest neighbor of each row used in the
     confusion limit.

*** Match

   - Ambiguous matches (multiple counterparts in other catalog
     within aperture) will not be present in the main output. When
     present, the ambiguous rows of the second input will be
     listed in a dedicated HDU of the output (called
     'FLAGGED-IN-2ND'). A dedicated new section (called
     "Unambiguous matching") has been added to the book that
     describes the intricacies of this new behavior.

   --arrange: the arrangement of the match output. Until now, the
     Match program only had the 'inner' arrangement (known in SQL
     as "INNER JOIN"). From this version, other arrangements are
     also available and fully described (with example tables and
     short tutorials) in the newly added "Arranging match output"
     section of the book. A short summary of the new arrangements
     is given below:

     - full: known as "FULL OUTER JOIN" in SQL. Its output has
       both the matched rows and the non-matched rows in one
       catalog.

     - outer: known as "RIGHT OUTER JOIN" in SQL. Its output has
       the same number of rows as the second (query) input catalog
       to Match, giving the ability to find the (possibly
       repeated) matching rows from the first (reference)
       catalog. See the demo for a real-world example.

     - outer-within-aperture: similar to 'outer', but if the
       nearest reference catalog entry is more distant than the
       given aperture, it will be NaN/blank in the output.

*** Statistics

  - Polynomial fitting is now possible for 2D inputs: given either
    as an image (assuming the pixel's horizontal and vertical
    positions are the independent variables) or as a three columns
    (where the first two are independent variables). A new "Two
    dimensional polynomial fitting" section has been added in the
    book to demonstrate its usage.

*** astscript-ds9-region

   --fontsize: new option to allow setting the font size of the
     values within the name column (given to '--namecol'). The
     values of the name column are printed as text on top of each
     region in DS9.

*** astscript-fits-view

   --topcat4k (or '-k') option is added for easy display on 4K
     monitors (where the TOPCAT window can be very small by
     default).

*** astscript-radial-profile

   --azimuth option can be called multiple times so the profile is
     generated over discrete azimuthal regions of the input. For
     example if called with '--azimuth=30,50 --azimuth=210,250',
     the profile (or polar plot if requested) will be generated
     only using pixels within these two azimuthal ranges (all
     other pixels are ignored). Suggested and implemented by
     Ignacio Ruiz Cejudo.

*** Makefile extensions

   - $(ast-text-next TARGET, LIST): returns the next word (after
     TARGET) in the input LIST; see the documentation for more.

   - $(ast-text-next-words TARGET, NUM, LIST): returns the next
     NUM words after TARGET from LIST.

*** Library

   - gal_data_append_second_array_to_first_free: for easily
     appending (adding the contents of the second array into the
     first) in single-dimensional datasets.

   - gal_dimension_image_to_table: function to extract all
     non-blank elements of an image and save them into a table
     with their pixel coordinates (first two columns) and pixel
     value.

   - GAL_FIT_MATRIX_INVALID:
   - GAL_FIT_MATRIX_POLYNOMIAL_1D:
   - GAL_FIT_MATRIX_POLYNOMIAL_2D:
   - GAL_FIT_MATRIX_POLYNOMIAL_2D_TPV:
     Macros to identify different types of fitting matrices.

   - GAL_FIT_MATRIX_NUMBER_1D:
   - GAL_FIT_MATRIX_NUMBER_ALL:
     The number of 1D matrices and total matrices used in fitting.

   - gal_fit_polynomial_tikhonov: new function to perform a
     regularized fit using Tikhonov regression, wrapping over the
     GNU Scientific Library (GSL) functions.

   - gal_kdtree_range: returns the list of points that are within
     a given radius of the given point. Implemented by Barış
     Güngör.

   - gal_label_measure: Replace a label with measured values over
     it (see description of newly added 'label-*' operators in
     Arithmetic).

   - gal_list_sizetsizetf64_add:
   - gal_list_sizetsizetf64_pop:
   - gal_list_sizetsizetf64_free:
     New functions to use a new list type that includes a 'size_t'
     and a 'double'.

   - gal_statistics_minimums_three: return the three smallest
     values of the given dataset.

   - gal_statistics_range_double: return the difference between
     the minimum and maximum as a double-precision floating point
     of a dataset (with any type).

   - gal_tile_per_label: create an array/list of tiles that cover
     the separate labels within the input.

   - gal_table_sort: sort the given table by a given column.

   - gal_units_sblim_diff: calculate the difference in surface
     brightness limit only assuming a different effective radius
     of a different telescope and/or a different exposure time.

   - gal_units_mag_to_luminosity:
   - gal_units_luminosity_to_mag:
     Convert the observed magnitude of an object to luminosity and
     vice-versa.

   - gal_units_wavelength_flux_density_to_jy: convert given
     wavelength flux density (erg/s/cm^2/A) to Janskys.

** Removed features

   - Nothing has been removed in this release.

** Changed features

*** Book

   - The term "stack" was used in two contexts within the
     Arithmetic program: referring both to the stack of operands
     during its operation and the coadding process (when we add
     many images to make a deeper one). When talking about the
     latter scenario, the book now uses the term "Coadd" (which is
     also commonly used in the optical astronomical community).

   - The sub-sections of MakeCatalog's old "Quantifying
     measurement limits" section (which described individual
     source errors as well as metameasures over the whole image)
     have been distributed in other/new sub-sections following
     MakeCatalog's new approach to metameasures as described above
     in the new '--meta-measures' option.

*** All programs

   --cite: also prints the citation for the Gnuastro book/manual
     (using the Zenodo DOI for that release).

*** Arithmetic

   - Operators:

     - interpolate-minofregion:
     - interpolate-maxofregion:
       Now take three operands (in order of popping): the outer
       connectivity, the inner connectivity and the image with
       blank pixels. Until now, it took only the inner
       connectivity and the outer connectivity was hard-coded to
       the maximum of the input's dimensions. This was necessary
       because it can happen that the most permissive outer
       connectivity may be too loose in some usage scenarios. To
       get the same output as before in your existing scripts, add
       a '2' before the operator (for an image) or (3 for a cube).

     - madclip-*: when the MAD is zero (median is repeated; mostly
       occurs on integer inputs), an alternative to the MAD will
       be used (difference between the two differing values just
       before and after the median in a sorted array). This
       greatly helps the usability of MAD-clipping on integer
       datasets with small scatter (where the median can be
       repeated a lot).

   --append: when called with this option, Arithmetic will not
     write its run-time option values in the 0-th HDU.

   --metaname: can now accept multiple values (names of each HDU
     for multi-output calls of Arithmetic).

   --metaunit: similar to '--metaname'

   --metacomment: similar to '--metaname'

*** Crop

   - The log-file name (created when run with '--log') is based on
     the output file name (see the description of '--log' under
     the Crop program for the details) and is a FITS table with a
     suffix '-log.fits'. Until now, the log file was always called
     'astcrop.log' and it was created in the running
     directory. This would cause problems for parallel
     executions. Also, it was a plain-text file which is less
     efficient: slower to read and write and would be larger for
     longer catalog inputs.

*** MakeCatalog

   - The output should always be a FITS file. This was necessary
     because with the metameasures, more and more tables may be
     requested by the user. Also, keywords are becoming more
     important and and supporting both text and FITS was becoming
     a major development overhead because plain-text doesn't
     support multiple tables per file or keywords.

   - All the metadata keywords of all the tables are now written
     in the 0th HDU. Until now, they were written in all the
     produced tables that was inefficient and confusing; this is
     part of an already started project for all Gnuastro programs
     to write all their metadata in the 0th HDU. The new
     "MakeCatalog output keywords" section in the book fully
     describes all the output keywords, please check that section
     for all the new keyword names. The most significant is the
     surface brightness limit keyword(s), that have now been
     distributed and renamed to fit the new metameasure structure.

   --sbl-sigma: new name for the old '--sfmagnsigma', as part of
     the process to standardize metameasures.

   --sbl-area: new name for the old '--sfmagarea', as part of the
     process to standardize metameasures.

   --forcereadstd has been removed in favor of the more general
     '--meta-measure' option. This is because it was only useful
     for calculating the surface brightness limit (which is a
     metameasure).

*** Match

   - Ambiguous matches (when more than one object is within the
     given aperture) are flagged and kept in a new HDU of the
     output. A new "Unambiguous matching" section has been added
     in the "Match" section of the book to describe this important
     feature.

   - Output can only be in FITS format. Until this version, the
     output could be plain-text also. However, plain-text tables
     can only be a single table, so multiple files where necessary
     when multiple tables were created. Managing all the files in
     the various run-time scenarios was causing a significant
     slow-down of the development and was also bugging (for
     example '--logasoutput' which was not thread-safe). If a
     plain-text format is necessary in your pipelines, you can
     call Gnuastro's Table program to convert the given HDU into
     plain-text.

   --outcols: can now be invoked multiple times in one
     command. Until this version it was only possible to call it
     once, causing inconveniently long options for large
     tables. This was suggested by Sepideh Eskandarlou.

*** astscript-ds9-region

   - The default coordinate system to write WCS coordinates for
     DS9 is now ICRS. Until now, it was FK5 (based on the default
     system that DS9 would propose for writing regions). But DS9's
     latest versions have changed to ICRS, so we are also doing
     the same here. In practice, the difference is very small and
     only relevant for extremely precise positioning.

*** astscript-pointing-simulate

   --coadd-operator: new name for '--stack-operator'.

*** astscript-zeropoint

   - The default matching radius for stars has been changed to 0.5
     arcseconds. Until this version it was 0.2 arcseconds.

   - If less than three stars are matched between the reference
     and query catalogs, the script will abort with an elaborate
     error message (guiding you on how to fix the problem. This is
     because the result will not statistically reliable.

*** Library

   - gal_blank_remove: new 'free_if_all_blank' to enable optional
     freeing of the input array when all elements are blank.

   - gal_kdtree_nearest_neighbor: new name of
     'gal_kdtree_nearest_neighbour' which was in British English
     (Gnuastro uses American English).

   - gal_match_kdtree: a new 'arrange' and 'flag' argument have
     been added to define the arrangement of the output.

   - gal_match_sort_based: a new 'flag' argument has been added
     that will be filled if there are ambiguous matches.

   - gal_table_write_log: a new 'format' argument is added to
     allow setting the format of the table (until now, it was
     always plain-text).

   - New names for the fitting library functions (old -->
     new). This is because (as described in the new features), the
     fitting functions have generalized to also accept 2D inputs.
     - gal_fit_1d_linear --> gal_fit_linear_1d
     - gal_fit_1d_polynomial --> gal_fit_polynomial
     - gal_fit_1d_polynomial_robust --> gal_fit_polynomial_robust
     - gal_fit_1d_linear_estimate --> gal_fit_linear_no_constant_1d
     - gal_fit_1d_linear_no_constant --> gal_fit_linear_no_constant_1d

** Bugs fixed

   - bug #66043: One pixel offset in PSF subtraction.

   - bug #66216: NaN values in MakeProfile outputs for very small
     profiles (smaller than a pixel even after accounting for the
     truncation factor). Reported by Alejandro Camazón Pinilla.

   - bug #66262: color-faint-gray crashes when using
     --graykernelfwhm. Found and fixed by Samane Raji.

   - bug #66280: Convolve's check images not in same directory as
     output.

   - bug #66303: astscript-color-faint-gray crashes if using 4th
     channel. Reported by Elizabeth Sola and fixed by Raul
     Infante-Sainz.

   - bug #66308: Library's 'gal_wcs_img_to_world' and
     'gal_wcs_world_to_img' returned inverse names when the
     operation was not in-place. Found and fixed by Giacomo
     Lorenzetti.

   - bug #66309: Match crashes if kdtree is not set. Found and
     fixed by Giacomo Lorenzetti.

   - bug #66572: MakeProfiles continues adding pixels after
     truncation when the profile is small (a couple of pixels),
     and the gradient is strong.

   - bug #66588: Arithmetic's 'trim' operator does not produce 0x0
     image when all the image is blank.

   - bug #66657: gal_fits_img_read not passing hdu_option_name;
     found with the help of Sepideh Eskandarlou.

   - bug #66693: MakeProfile crashes with segmentation fault with
     when --customimg is given and the oversampling factor is
     larger than 1.

   - bug #66867: Example added in book to show how to remove
     outputs of Query's '--overlapwith' option when sources
     outside of the image are also retrieved (for example due to a
     rotated image or the server not accounting for spherical
     distortion). Reported by Raul Infante-Sainz.

   - bug #66869: Crop segmentation fault leading to unpredictable
     return values. Reported by Raul Infante-Sainz.

   - bug #67105: astscript-radial-profile produced unreasonable
     output when undersample was given as one. Reported by Samane
     Raji and fixed by Raul Infante-Sainz.

   - bug #67106: Crash during build when Ghostscript is not
     present. Reported by Faezeh Bidjarchian.

   - #67128: Maskfilled operators wrong output with zero scatter
     (can happen in integer images, for example in the creation of
     master dark frames).

   - bug #67190: Sorting an empty plain-text table gives
     segmentation fault. Reported by Sepideh Eskandarlou.

   - bug #67191: Arithmetic does not parse '-inf' as a number on
     the command-line and complains with an invalid '-i' option!
     Reported by Sepideh Eskandarlou.

   - bug #67204: Table's --equal operator cannot be called
     multiple times on same column with different values.

   - bug #67232: Building failure on i686 architectures (32-bit).
     Reported by Benson Muite and fixed by Giacomo Lorenzetti.

   - bug #67275: Segmentation fault in MakeCatalog during clump
     catalog generation when input labels not contiguous (for
     example you are feeding a crop of a larger object/clump map).

   - bug #67297: Fits program segmentation fault when no input
     specified and a HDU operation requested.

   - bug #67364: Match's k-d tree based inner matching depends on
     order of inputs. Fixed by Barış Güngör.

   - bug #67475: Statistics fitting output prints 0 when the
     values are very small. Reported by Faezeh Bidjarchian.

   - bug #67684: Match's full-arrangement with outcols produces an
     empty output when there is no match. Reported by Sepideh
     Eskandarlou.





[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.24.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.24.tar.lz | tar -xf -'):

   $ lzip -d gnuastro-0.24.tar.lz
   $ tar xf gnuastro-0.24.tar





[4] Use a .sig file to verify that the corresponding file
(without the .sig suffix) is intact. Here are the detached
signatures for the two formats above.

   https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.24.tar.gz.sig (833B)
   https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.24.tar.lz.sig (833B)

First, be sure to download both the .sig file and the
corresponding tarball.  Then, run a command like this:

   gpg --verify gnuastro-0.24.tar.lz.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 <[email protected]>

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.24.tar.lz.sig

This release is based on the gnuastro git repository, available
as (with commit 586fa09014f790e2c0948035a375de276eac5163)

   git clone https://https.git.savannah.gnu.org/git/gnuastro.git





[5] Here are the SHA256 and SHA3-256 checksums:

   File: gnuastro-0.24.tar.gz
   SHA256 sum: 
e61c4a765e58816997c5882c5459945fc4b56294b3b77a965569309619aa8cdc
   SHA3-256 sum: 
e5512ab32590c7ebefc6e05293130705e543f4b605bf0f06999474745f3cf994

   File: gnuastro-0.24.tar.lz
   SHA256 sum: 
150b1b566ecbcc07fe0cb55d32376b5b4488972274a6ad63d03298cda3c5e1bd
   SHA3-256 sum: 
f4f799b17ad2e768797e0d420906ef6e52c416ba82f991272f3b6fb6fb0ae893

Verify the SHA256 checksum with either sha256sum, sha256, or
shasum -a 256.

Verify the SHA3-256 checksum with cksum -a sha3 --check
from coreutils-9.8.



[6] 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.2
   Autoconf 2.72
   Automake 1.18.1
   Help2man 1.49.3
   ImageMagick 7.1.2-8
   Gnulib v1.0-2453-gbe6027b468
   Autoconf archives v2023.02.20-111-gdcff834

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