[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Gnuastro 0.18 released
From: |
Mohammad Akhlaghi |
Subject: |
Gnuastro 0.18 released |
Date: |
Thu, 21 Jul 2022 20:24:58 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 |
Dear all,
I am happy to announce the 18th official release of GNU Astronomy
Utilities (Gnuastro version 0.18). For a complete review of the
new/changed features, and the many fixed bugs in this release, please
see [1] below (also available in the 'NEWS' file within the source
code tarball).
In particular, I am happy to share Gnuastro's newly minted logo (first
link below). A new section on the description of this logo is
available in the introduction of the book (second link below):
https://www.gnu.org/software/gnuastro/gnuastro.svg
https://www.gnu.org/software/gnuastro/manual/html_node/Logo-of-Gnuastro.html
Gnuastro is an official GNU package, consisting of various
command-line programs and library functions 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/software/gnuastro/manual/html_node/Tutorials.html
Here is the compressed source and the GPG detached signature for
this release. To uncompress Lzip tarballs, see [2]. To check the
validity of the tarballs using the GPG detached signature (*.sig)
see [3]:
https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.18.tar.lz (4.1MB)
https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.18.tar.gz (6.5MB)
https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.18.tar.lz.sig (833B)
https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.18.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 [4] on how to generate it).
f961bcd1b35f81e1a0b6674020d4f7f19aa7f6c2 gnuastro-0.18.tar.lz
/pTxVcHaZ5R/279fwZh4V0rvBrLpxnRrBpRHPqd4Mfk gnuastro-0.18.tar.lz
4e771dd34a1d40633fc955c391224252af288d00 gnuastro-0.18.tar.gz
bKfiLhQFERdMbwL9+UitCL8/dB/k6YKNjBzfKnCtWec gnuastro-0.18.tar.gz
For their direct contribution to this version's source code, I am very
grateful to Raul Infante-Sainz (12 commits), Sepideh Eskandarlou (7
commits), Jash Shah (2), Elham Saremi (1), Marjan Akbari (1), Pedram
Ashofteh Ardakani (1), S. Zahra Hosseini Shahisavandi (1) and Samane
Raji (1). In total, this release had 93 commits. I am also grateful to
(in alphabetical order) Marjan Akbari, Faezeh Bijarchian, Hilderic
Browne, Sepideh Eskandarlou, Sílvia Farras, Craig Gordon, S. Zahra
Hosseini Shahisavandi, Teet Kuutma, Jeremy Lim, Juan Miro, Irene
Pintos Castro, Ignacio Ruiz Cejudo, Manuel Sánchez-Benavente, Elham
Saremi, Zahra Sharbaf, Peter Teuben and Ignacio Trujillo for their
good suggestions or reported bugs that have been implemented in this
release.
If any of Gnuastro's programs or libraries are useful in your work,
please 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.
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 6.8
Autoconf 2.71
Automake 1.16.4
Help2man 1.49.2
ImageMagick 7.1.0-43
Gnulib v0.1-5283-gdf336dc1ae
Autoconf archives v2022.02.11-15-g066994d
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
Best wishes,
Mohammad
--
Staff Researcher
Centro de Estudios de Física del Cosmos de Aragón (CEFCA),
Plaza San Juan 1, Planta 2, Teruel 44001, Spain
[1] Noteworthy changes in Gnuastro 0.18 (released on July 21st, 2022)
** New features
Book:
- New "Measuring the dataset limits" section has been added in second
tutorial. Using the catalogs produced during the analysis, it shows
how to derive a dataset's magnitude limit, completeness limit
(crudely: without simulations), and surface brightness limit. All are
important measures in any scientific analysis! This section was
written with the help of S. Zahra Hosseini Shahisavandi and Sepideh
Eskandarlou.
Arithmetic:
- New operators (also available in Table's column arithmetic):
- stitch: connect any number of input images along the given dimension
(for example to stitch the images of separate amplifiers of a CCD
into one image).
- noblank: Remove blank elements from the input and return a 1D output
(irrespective of how many dimensions the input had).
- jy-to-counts: convert Janskys to counts using an AB-magnitude-based
Zeropoint (the inverse operator 'counts-to-jy' already existed).
- mag-to-jy: convert AB magnitudes to Janskys.
- jy-to-mag: convert Janskys to AB magnitudes.
- load-col-%-from-%-hdu-%: Load a certain column into the operands
stack. The name or number of the column is the first '%'. The file
name hosting that column is the second '%', and HDU (if the file is
a FITS file), is identified by third '%'. This can be used to load
columns outside the main table in Table's column arithmetic or by
operators that need columns as input parameters (like the new
'random-from-hist' operator).
- random-from-hist-raw: return a set of random points based on a
custom distribution defined by its histogram. See the description
and complete examples in the book for more.
- random-from-hist: Similar to 'random-from-hist-raw', but within each
bin, the final returned value is itself the result of a uniform
sampling (to make the final distribution less descrete). See the
example in the book for selecting random star magnitudes based on
Gaia's observed magnitude distribution.
- New options to add metadata (standard FITS keywords) to your output
for easy understanding of the data in the future, or by your
colleagues if you share the output). Until now, to have this feature,
you needed to call Fits on the output of Arithmetic (for setting the
HDU name to "my-sum" for example):
astarithmetic img-a.fits img-b.fits + --output=sum.fits
astfits sum.fits --write=EXTNAME,"my-sum"
But with the following commands, you can add important metadata to the
output of Arithmetic in the same command and simplify your scripts:
--metaname: Metadata name of the output (FITS keyword: 'EXTNAME').
--metaunit: Unit of the output's pixels (FITS keyword: 'BUNIT').
--metacomment: Description of the data (FITS keyword: 'COMMENT').
Like the following for the example above:
astarithmetic img-a.fits img-b.fits + --metaname="my-sum" \
--output=sum.fits
Crop:
--oneelemstdout: when a crop has a single pixel and this option is
called, the single pixel's value will be printed on the standard
output instead of creating a FITS file. This option can be useful in
labeled images like detection maps (when you want to see what label a
certain coordiante/pixel corresponds to). This option was suggested by
Raul Infante-Sainz.
Fits:
- When no option is specified (thus printing the HDU metadata in the
given file), the units of the HDUs are also printed as a new
column. For tables, it will be blank ('n/a'); because tables have
separate units on each column (use 'asttable table.fits -i').
--copykeys: can now take any number of keyword names also. For example
'--copykeys=KEYNAME1,KEYNAME2,KEYNAME3'. Until now, it was only
possible to give this option a range of keyword positions (for example
'--copykeys=10:13' to copy the 10th to 13th keywords (inclusive). But
now, you can also select non-contiguous set of keywords to copy from
one HDU into another HDU (possibly in another file). This was
suggested by Juan Antonio Fernández Ontiveros and implemented with the
help of Jash Shah.
MakeProfiles:
- It is now possible to insert a custom image as a new (10th)
'custom-img' profile. This is useful when you have no-noise FITS
images from numerical simulations for example, and you want to insert
those at a certain location within a larger image (while optionally
adding existing Sersic, point or other profiles in the same
command). The magnitude of the inserted image can be set in the
magnitude column of the input catalog. This can be disabled (to use
the original image pixel values) using the '--mcolnocustimg' option.
--mcolnocustprof: new option to disable scaling of custom radial
profiles
to required magnitude when building a 2D image from them.
Query:
- Short name for Gaia's DR3 dataset has been added for both ESA's Gaia
database and VizieR, for example with the following commands:
astquery gaia --dataset=dr3 --center=1.234,5.678
--radius=0.01
astquery vizier --dataset=gaiadr3 --center=1.234,5.678
--radius=0.01
astscript-radial-profile:
--zeroisnotblank: new option to account for zero-valued pixels in the
profile measurement. By default, during the internal cropping phase,
zero-valued pixels are set to blank (and thus not considered during
the profile measurement). When this option is called, it is directly
passed to the internal cropping command ('astcrop' has an option with
the same name). This was suggested by Ignacio Ruiz Cejudo and
implemented by Sepideh Eskandarlou.
Library:
- GAL_ARITHMETIC_OP_UNIQUE: to find unique elements in dataset.
- GAL_ARITHMETIC_OP_NOBLANK: to remove blank elements from dataset.
- GAL_ARITHMETIC_OP_STITCH: to stitch multiple datasets.
- GAL_ARITHMETIC_OP_RANDOM_FROM_HIST: the new 'random-from-hist'
operator.
- GAL_ARITHMETIC_OP_RANDOM_FROM_HIST_RAW: the new
'random-from-hist-raw' op.
- gal_arithmetic_load_col: Low-level function for parsing the string of
the newly added 'load-col' operator, mentioned in the Arithmetic
section above.
- gal_statistics_std_from_sums: return the standard deviation using the
sum, sum of squares and number of a distribution.
** Removed features
- Nothing has been removed in this release.
** Changed features
MakeCatalog:
--std: measures the standard deviation of the object/clump pixels of the
values image. Until now, there was no column to calculate this,
and the '--std' column returned the _sky_ standard deviation over
the object/clump labels (from the standard deviation image,
ignoring the values image). But that was confusing, especially
since we have columns like '--mean' or '--median' which only use
the values image (see bug #62685).
--skystd: new name for old '--std', see description of '--std' above.
--sfmagnsigma: default value changed to 3 (more commonly used).
--sfmagarea: default value set to 100 arcsec^2 (more commonly used).
--upnum: MakeCatalog won't abort when '--upnum' is too small (less than
20). '--upnum' defines the number of random positions for upper-limit
measurements, so when its too small, the statistical precision of the
result will badly affected and MakeCatalog would abort with an error
message. However, in some scenarios (for example when the positions of
the random apertures from '--checkuplim' are needed) the actual
upper-limit measurements aren't relevant! So from this version,
instead of aborting MakeCatalog, it prints a warning and
continues. This was suggested by S. Zahra Hosseini Shahisavandi and
Ignacio Trujillo.
MakeProfiles:
- The string identifier for custom radial profiles is now called
'custom-prof' (until now, it was called 'custom'). This was necessary
because of the new custom image feature that has been added. The code
for this custom radial profile function (8) hasn't changed.
- After constructing a custom radial profile (the 'custom-prof'
profile), MakeProfiles will scale it to have the desired total
magnitude in the input catalog of all profiles. Until now, the 2D
images created from a custom radial profile wouldn't be touched and
the pixel values would exactly come from the custom radial profile
(ignoring the magnitude column of the input catalog). To have the old
behavior, use the new '--mcolnocustprof' option. This new
functionality was proposed by Elham Saremi.
Table:
--catcolumnfile: the '-N' suffix (where 'N' is a counter for the files
with concatenated, or appended, column) is only added if a column with
a identical column name (not case sensitive) existed in the
table. Until now, this suffix would be added to all the newly
concatenated columns (recall that the suffix addition can be disabled
in general with the '--catcolumnrawname' option).
--rowrange: new name for the old '--rowlimit'. This option takes the
range of desired rows based on their position (for example
'--rowrange=2,5' will only print rows 2, 3, 4 and 5 of the table). But
the old name was very confusing and would not directly convey this
behavior.
Radial profile script:
--azimuth: if the first azimuthal angle is larger than the second, the
outer region between the two angles will be used. For example
'--azimuth=80,40' will use the full azimuthal range except for the
region with azimuthal angles between 40 and 80 degrees. This can be
useful to ignore parts of the profile. See the example in the
description of this option on how to visually check the pixels used
for the profile.
** Bugs fixed
bug #62216: MakeProfiles crash when a 3D cube is requested and input
catalog is from a pipe. Found by Irene Pintos Castro.
bug #62220: astscript-psf-stamp crashes when coordinate not in image.
Found and fixed by Sepideh Eskandarlou.
bug #62250: Convolve crashes when doing PSF matching. Found with help of
Raul Infante-Sainz.
bug #62252: Radial profile giving one larger radius in high axis-ratio
profile. Found and fixed by Sepideh Eskandarlou.
bug #62253: Arithmetic: segmentation fault when invalid input given for
'ra-to-degree' or 'deg-to-degree' operators. Found by Pedram
Ashofte Ardakani.
bug #62305: Not reading the 'MemFree' keyword in '/proc/meminfo' to find
the available RAM (and thus printing an annoying
warning). Reported by Juan Miro.
bug #62309: MakeCatalog segmentation fault when clumps image given as
main input (objects should be given). Reported by Sepideh
Eskandarlou.
bug #62429: Segment prints one line status-progress line when called with
'--quiet'. Reported by Teet Kuutma.
bug #62548: Table doesn't recognize plain-text string column when defined
width is larger and it is the last column. Found with the
help of Sepideh Eskandarlou.
bug #62563: Some checks of installed scripts get skipped on macOS. Found
and fixed by Raul Infante-Sainz.
bug #62564: Arithmetic not parsing numbers in scientific notation (for
example '1e5'). Found by Elham Saremi.
bug #62590: Failure to build on macOS when building in debugging mode
('./configure --enable-debug'). Found by Raul Infante-Sainz.
bug #62597: Arithmetic not writing single-valued output into a file when
called with '--output'. Reported by Raul Infante-Sainz.
bug #62636: Table ignoring '--range' when '--head' is also
called. Reported by Sepideh Eskandarlou.
bug #62662: Table crashes when column arithmetic is applied after adding
rows from another file (with '--catrowfile').
bug #62674: Column arithmetic can't use columns from --catcolumnfile.
bug #62678: Radial profile script using values image instead of STD image
when '--instd' not used. Found and fixed by Raul
Infante-Sainz.
bug #62679: MakeProfiles kernel only normalized when zeropoint is
zero. Found by Raul Infante-Sainz.
bug #62680: MakeProfiles using WCS-options when --background is given and
the background doesn't have WCS. Found with the help of Raul
Infante-Sainz.
bug #62683: Arithmetic's 'set-' operator not working after the 'makenew'
operator. Found by Raul Infante-Sainz.
bug #62685: MakeCatalog's '--std' option is wrongly interpreted as the
standard deviation of the values image, while it is actually
the root mean square of the Sky standard deviation
pixels. Found by Raul Infante-Sainz.
bug #62694: Radial profile script overestimates the surface brightness
error. Found and fixed with the help of Raul Infante-Sainz.
bug #62710: Plain-text integers starting with 0 are read in the octal
base (which is common in software engineering, but not in
data analysis). Found by Manuel Sánchez-Benavente.
bug #62718: Table goes into an infinite loop on some old ASCII FITS
tables. Found by Hilderic Browne.
bug #62720: Table not reading string columns that are shorter than the
defined width in the metadata.
bug #62721: Radial profile script can't deal with angles around azimuth
zero (for example '--azimuth=355,5' to get only the azimuthal
range of 10 degrees around the major axis). Found and fixed
by Samane Raji.
bug #62784: Conversion of sexagesimal RA or Dec ignores sign when first
digit is zero (for example '-00d12m34'). Found by Manuel
Sánchez-Benavente.
bug #62794: psf-stamp scripts produces inconsistant outputs on
failure. Found by Sepideh Eskandarlou and Nafise Sedighi.
[2] 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.18.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.18.tar.lz | tar -xf -'):
$ lzip -d gnuastro-0.18.tar.lz
$ tar xf gnuastro-0.18.tar
[3] 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.18.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 <mohammad@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.18.tar.gz.sig
[4] To get the base64 SHA256 checksum, you can use the command below
(assuming you already have the 'openssl' command-line program). Just
note that an extra '=' is printed as the last character that you should
ignore.
cat gnuastro-0.18.tar.lz \
| openssl dgst -binary -sha256 | openssl base64 -A
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Gnuastro 0.18 released,
Mohammad Akhlaghi <=