Dear all,
I am happy to announce the release of GNU Astronomy Utilities (Gnuastro)
version 0.21.
Gnuastro is an official GNU package, consisting of various command-line
programs, C/C++ library functions and 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).
For the full list of Gnuastro's library, programs, and several
comprehensive tutorials (recommended place to start using Gnuastro),
please see the links below respectively:
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/s/gnuastro/manual/html_node/Tutorials.html
There have been 85 commits by 7 people in the 25 weeks since 0.20, see
[1] below for the people who contributed to this release (Thanks
everyone!). For all the new features that have beed added, as well as
changes and bug fixes, see the NEWS file entry for this version; shown
in [2] below.
Here is 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.21.tar.lz (4.6MB)
https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.21.tar.gz (7.3MB)
https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.21.tar.lz.sig (833B)
https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.21.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).
7a976927148cd43d83e3637d447d4fd1ae5557b9 gnuastro-0.21.tar.lz
jOD/bUx6f9eXiFKzeXZ+1f3wycWD2VeIdDq7eok50/8= gnuastro-0.21.tar.lz
7d99a25ecb963e213eb3fdc3f864da0028ff3f23 gnuastro-0.21.tar.gz
SA6KIn7rSPwDK4qwe8LyQrAiZtI62XgsELXjb/0ToVE= gnuastro-0.21.tar.gz
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.
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).
Faezeh Bidjarchian (5)
Fathma Mehnoor (2)
Mohammad Akhlaghi (67)
Rashid Yaaqib (1)
Raul Infante-Sainz (1)
Sepideh Eskandarlou (8)
Zohreh Ghaffari (1)
The following people provided comments, suggestions or found bugs:
Aaron Watkins
Agata Rożek
Colin Orion Chandler
Irene Pintos-Castro
Michael Stein
Rashid Yaaqib
Raul Infante-Sainz
Ryan Begley
S. Zahra Hosseini Shahisavandi
Sebastian Luna-Valero
Sepideh Eskandarlou
Teet Kuumta
Zahra Sharbaf
Zohreh Ghaffari
[2] Noteworthy changes in release 0.21
** New features
*** New program
- 'astscript-pointing-simulate': a new installed script that will
simplify the process of designing a pointing pattern for your observing
strategy. It takes into account the distortion of the camera, runs in
parallel and allows customizations (for example to account for
vignetting, or large blobs of bad pixels) through hooks at relevant
steps. A new tutorial has been added in the Tutorials chapter of the
book on how to use this new script. The following research note has
also been published for this script:
https://ui.adsabs.harvard.edu/abs/2023RNAAS...7..211A
*** Book
- New tutorial on a low surface brightness optimized design of a pointing
pattern using the newly added installed script in Gnuastro for
simulating the exposure map of a pointing pattern stack (it is
called as
'astscript-pointing-simulate' on the command-line).
- Smaller tutorials that were distributed within the documentation of
different programs are brought into the "Tutorials" chapter.
- New "Standard deviation vs. error" sub-section added under the
MakeCatalog section. It uses real examples to clearly show the
fundamental difference between the two (which are sometimes confused
with each other). This was written with the help of Raul Infante-Sainz.
*** Configuration files
- To separate the option name and value, you can now also use the '='
character. This allows your custom configuration files to also be
loaded into a shell (with 'source') or Make (with 'include'). Until
now, only white-space characters were allowed as separators of option
names and values.
--config-prefix=STR: Given string can be a prefix of options in
configuration files. Added with the point above, this allows loading
the different configuration files of different instances of the same
program without overwriting them. See the example in the book.
*** Arithmetic
- New operators (see book for a full description):
- pool-min: Min-pooling to reduce the size of the input by calculating
the minimum of a the pixels within the pooling window
(accounting for a stride). See the new "Pooling operators"
section of the book for more. The pooling operators were
all implemented by Faezeh Bidjarchian.
- pool-max: Similar to 'pool-min' but using maximum.
- pool-sum: Similar to 'pool-min' but using sum.
- pool-mean: Similar to 'pool-min' but using mean.
- pool-median: Similar to 'pool-min' but using median.
- to-1d: convert the input operand into a 1D array, no matter how many
dimensions it has. Suggested by Faezeh Bidjarchian.
- trim: remove all fully-blank outer regions of the input dataset.
- eq-b1950-to-eq-j2000: Convert input equatorial coordinates (RA and
Dec) in the B1950 equinox to equatorial J2000
equinox.
- eq-b1950-to-ec-b1950: Same input as above; to ecliptic B1950.
- eq-b1950-to-ec-j2000: Same input as above; to ecliptic J2000.
- eq-b1950-to-galactic: Same input as above; to Galactic.
- eq-b1950-to-supergalactic: Same input as above; to Supergalactic.
- eq-j2000-to-eq-b1950: Convert input equatorial coordinates (RA and
Dec) in the J2000 equinox to equatorial B1950
equinox.
- eq-j2000-to-ec-b1950: Same input as above; to ecliptic B1950.
- eq-j2000-to-ec-j2000: Same input as above; to ecliptic J2000.
- eq-j2000-to-galactic: Same input as above; to Galactic.
- eq-j2000-to-supergalactic: Same input as above; to Supergalactic.
- ec-b1950-to-eq-b1950: Convert input ecliptic coordinates in the
B1950 equinox to equatorial B1950 equinox.
- ec-b1950-to-eq-j2000: Same input as above; to equatorial B1950.
- ec-b1950-to-ec-j2000: Same input as above; to ecliptic J2000.
- ec-b1950-to-galactic: Same input as above; to Galactic.
- ec-b1950-to-supergalactic: Same input as above; to Supergalactic
- ec-j2000-to-eq-b1950: Convert input ecliptic coordinates in the
J2000 equinox to equatorial B1950 equinox.
- ec-j2000-to-eq-j2000: Same input as above; to equatorial J2000.
- ec-j2000-to-ec-b1950: Same input as above; to ecliptic B1950.
- ec-j2000-to-galactic: Same input as above; to Galactic.
- ec-j2000-to-supergalactic: Same input as above; to Supergalactic.
- galactic-to-eq-b1950: Convert input Galactic coordinates to
equatorial B1950 equinox.
- galactic-to-eq-j2000: Same input as above; to equatorial J2000.
- galactic-to-ec-b1950: Same input as above; to ecliptic B1950.
- galactic-to-ec-j2000: Same input as above; to ecliptic J2000.
- galactic-to-supergalactic: Same input as above; to Supergalactic.
- supergalactic-to-eq-b1950: Convert input Supergalactic coordinates to
equatorial B1950 equinox.
- supergalactic-to-eq-j2000: Same input as above; to equatorial J2000.
- supergalactic-to-ec-b1950: Same input as above; to ecliptic B1950.
- supergalactic-to-ec-j2000: Same input as above; to ecliptic J2000.
- supergalactic-to-galactic: Same input as above; to Galactic.
*** ConvertType
- It is now possible to write TIFF files in the output (until now,
Gnuastro could only read TIFF files). This step was written by Fathma
Mehnoor.
*** Convolve
--conv-on-blank: do not ignore blank pixels in the convolution. This will
effectively expand the non-blank regions of your dataset into the blank
regions and only works in spatial-domain convolution. This was
suggested by Raul Infante-Sainz.
*** MakeCatalog
- New measurements:
--river-min: minimum river value around a clump.
--river-max: minimum river value around a clump.
*** Statistics
--mad: Median Absolute Deviation (MAD) of input dataset.
--madclip: MAD-clipping, showing intermediate results.
--sigclip-mad: MAD of input after sigma-clipping.
--madclip-number: Number of input elements after MAD-clipping.
--madclip-median: Median of input elements after MAD-clipping.
--madclip-mean: Mean of input elements after MAD-clipping.
--madclip-std: Standard deviation of input elements after MAD-clipping.
--madclip-mad: MAD of input elements after MAD-clipping.
--mclipparams: Parameters of MAD-clipping, similar to sigma-clipping.
Note
that in a Gaussian distribution, MAD = 0.67 sigma, so if
you want something similar to 3-sigma (the default), you
should set the MAD multiple to 5 (the default).
*** Table
--info-num-cols: print the number of the input table's columns and abort.
--info-num-rows: print the number of the input table's rows and abort.
- '$_all' in column arithmetic: when an arithmetic expression contains
this string, it will be repeated independently for all the columns of
the input table.
- New operators in Table's column arithmetic:
- eq-j2000-to-flat: convert the RA and Dec columns in a table to a
flat-RA and flat-Dec (accounting for a reference point as well as any
type of projection that is available in the FITS WCS standard). This
is necessary when you are plotting points in a report or paper cover
more than a couple of square degrees on the sky. Without this
operator, significant distortions will appear when you plot spherical
coordinates (RA,Dec) on a flat plane (your paper's plot). See the
documentation for this operator in the book for more.
- eq-j2000-from-flat: the inverse of 'eq-j2000-to-flat' (useful when
designin dither patterns for example (where you know the final
shape/distanced after flatting; and want coordinates on the sphere).
*** astscript-zeropoint
--mksrc: use a custom Makefile for estimating the zeropoint, not the
default installed Makefile. This is primarily intended for debugging or
developing this script, not for normal usage.
*** Library
- gal_blank_not_minmax_coords: returns the minimum/maximum coordinates of
non-blank regions of input dataset.
- gal_blank_trim: trim all outer blank regions from the input dataset.
- gal_polygon_area_sky: area of polygon defined on celestial coordinates.
- gal_pool_min: min-pooling function, see 'pool-min' above.
- gal_pool_max: max-pooling function, see 'pool-min' above.
- gal_pool_sum: sum-pooling function, see 'pool-min' above.
- gal_pool_mean: mean-pooling function, see 'pool-min' above.
- gal_pool_median: median-pooling function, see 'pool-min' above.
- gal_statistics_mad: Calculate the Median Absolute Deviation (MAD).
- gal_statistics_median_mad: Calculate the Median and MAD.
- gal_statistics_clip_mad: Median Absolute Deviation (MAD) clipping.
- gal_tiff_write: write 'gal_data_t' to a TIFF file; written by
Fathma Mehnoor.
- gal_wcs_projection_name_to_id: convert projection names to IDs.
- gal_wcs_projection_name_from_id: convert projection IDs to their name.
- gal_wcs_coordsys_convert_points: convert the input set of points from
one celestial coordinate system to another.
- gal_wcs_coordsys_sys1_ref_in_sys2: return the longitude reference point
of the first celestial coordinate system in the second coordinate
system's longitude and latitude.
** Removed features
*** MakeNoise
- MakeNoise (with executable name 'astmknoise') has been removed from
Gnuastro. This is because the 'mknoise-*' operators of Arithmetic do
the same job, but in a much more customizable, modular and manageable
manner; allowing to mix with other operators. The "Noise basics"
sub-section of the book has been moved under the Arithmetic program's
documentation also.
** Changed features
*** Arithmetic
- mknoise-sigma-from-mean: new name for the old 'mknoise-poisson'
random number distribution.
- mknoise-poisson: now produces correct Poisson distribution output,
which can be non-symmetric in low background values and is always
integers. For a complete description and hands-on example of the
differences with 'mknoise-sigma-from-mean' and 'mknoise-sigma', see
the description of these three operators in the "Random number
generators" operators sub-section of the "Arithmetic operators"
section of the Gnuastro book.
*** MakeCatalog
- The dash in the column names of the following measurement names has
been replaced by underscore to conform with the general standard of
using underscores between words in column names (reported by Raul
Infante-Sainz). Also, in the case of '--sigclip-mean-sb-delta' the
column name didn't correspond to the option name.
--------------------------------------------------------------
Option Column name Old column name
--------------------------------------------------------------
--sigclip-mean SIGCLIP_MEAN SIGCLIP-MEAN
--sigclip-median SIGCLIP_MEDIAN SIGCLIP-MEDIAN
--sigclip-number SIGCLIP_NUMBER SIGCLIP-NUMBER
--sigclip-std SIGCLIP_STD SIGCLIP-STD
--sigclip-mean-sb SIGCLIP_MEAN_SB SIGCLIP-MEAN-SB
--sigclip-mean-sb-delta SIGCLIP_MEAN_SB_DELTA SIGCLIP-MEAN-SB-ERR
--------------------------------------------------------------
- The default extension name for the values image ('--valueshdu') is now
'INPUT-NO-SKY'. Until now, it was simply '1' (without any hint on what
what is expected by default). Recall that if the sky is not subtracted
from the values image you can use '--sky' for MakeCatalog to subtract
it before the measurements. Implemented by Sepideh Eskandarlou.
- When the input clump labels do not have the 'NUMLABS' keyword
(specifying how many clumps there are in the image, independent of the
number of objects), MakeCatalog will no longer re-label the input
clumps: the output catalog will have the same clump ids as the
labels. Until now, it would generate new labels for the clumps in such
cases (along with a new FITS image containing the clumps with the new
labels to allow you to match them). The output catalog also had the new
label, not the original labels (the old behavior was therefore very
inconvenient!).
*** Segment
- The default name of the first extension of Segment's output is now
'INPUT-NO-SKY', until now, it was 'INPUT'. This was necessary because
the first extension of the output is not the exact input file (if a
value is given to '--sky' it will be subtracted from the input in the
first extension). Implemented by Sepideh Eskandarlou.
*** astscript-psf-stamp
- After applying the signal-to-noise threshold (if it is requested), any
extra pixels that are not connected to the central target are also
masked. Such pixels can remain in rivers between bright clumps and
would cause problem in the final stack and were not removed until now.
Implemented by Sepideh Eskandarlou
*** Library
- gal_convolve_spatial: new argument to allow convolution over blank
elements.
- gal_convolve_spatial_correct_ch_edge: new argument to allow convolution
over blank elements.
- gal_polygon_area_flat: new name for the old 'gal_polygon_area'
function. This was necessary because this function assumes flat
coordinates and can lead to wrong results when used with a polygon
defined by RA,Dec for example.
- gal_statistics_clip_sigma: new name for 'gal_statistics_sigma_clip',
also, a new argument has been added to measure statistics that were not
automatically calculated during the clipping.
- gal_wcs_distortion_name_to_id: new name of
gal_wcs_distortion_from_string.
- gal_wcs_distortion_name_from_id: new name of
gal_wcs_distortion_to_string.
- gal_wcs_coordsys_name_to_id: new name of gal_wcs_coordsys_from_string.
** Bugs fixed
bug #64138: Arithmetic's mknoise-poisson only using first pixel value.
Reported by Irene Pintos Castro.
bug #64146: SIGCLIP column names contain dashes instead of
underlines. Reported by Raul Infante-Sainz.
bug #64148: MakeCatalog crash when using the options '--std' and/or
'sigclip-mean-sb-delta' for clumps catalog. Reported by Raul
Infante-Sainz.
bug #64153: astscript-ds9-region: '--namecol' gives a constant zero in
image-mode. Reported by Zahra Sharbaf.
bug #64186: Query: core dump when custom name given to '--dataset'. First
reported by Zohreh Ghaffari as a problem in
'astscript-select-stars' (sr #110874) and identified as a
problem in Query by Sepideh Eskandarlou.
bug #64199: info astscript-zeropoint not working. Reported by Zahra
Sharbaf.
bug #64246: Query's --information gives a crash for Gaia datasets.
Reported by Rashid Yaaqib.
bug #64250: astscript-fits-view: no message printed when input file did
not exist. Reported by Ryan Begley.
bug #64274: MakeProfiles crash for points in 3D. Found by Teet Kuumta.
bug #64303: Statistics fit --fitestimate crash when covariance matrix has
NaN. Reported Sepideh Eskandarlou.
bug #64357: Plain text metadata ignored when no name is present.
bug #64392: Arithmetic's isnotblank operator producing zeros when no
blanks present.
bug #64420: Error message of wrongly specified HDU doesn't give the
problematic option name; reported by Aaron Watkins.
bug #64431: gal_wcs_to_cd does not account for altlin==3. Reported by
Colin Orion Chandler.
bug #64541: Segment's --keepmaxnearriver has no effect.
bug #64544: Arithmetic crashes with tofilefree operator value has a
directory.
bug #64545: Accounting for CFITSIO silently appending '.gz' when file
doesn't exist. Reported by Sepideh Eskandarlou.
bug #64610: --copykeys of Fits program finds wrong key when the first
characters of the keyword names match.
bug #64615: Fits program's '--pixelareaonwcs' only accurate on equator.
bug #64635: astscript-psf-stamp's '--snthresh' option produces fully NaN
valued image when a saturated star is in the center. Found
and fixed by Sepideh Eskandarlou.
bug #64643: MakeCatalog not reporting the actual '--upmaskhdu' that was
used on standard output. Found by S. Zahra Hosseini
Shahisavandi.
[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.21.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.21.tar.lz | tar -xf -'):
$ lzip -d gnuastro-0.21.tar.lz
$ tar xf gnuastro-0.21.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.21.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 <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.21.tar.lz.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.0.3
Autoconf 2.71
Automake 1.16.5
Help2man 1.49.3
ImageMagick 7.1.1-20
Gnulib v0.1-6830-ge1802a5c6c
Autoconf archives v2023.02.20-29-g5001091
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.21.tar.lz \
| openssl dgst -binary -sha256 | openssl base64 -A