info-gnuastro
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[info-gnuastro] Gnuastro 0.6 released


From: Mohammad Akhlaghi
Subject: [info-gnuastro] Gnuastro 0.6 released
Date: Mon, 4 Jun 2018 17:48:11 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0

Dear all,

I am happy to announce the sixth release of GNU Astronomy Utilities
(Gnuastro 0.6).

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 a comprehensive general
tutorial (recommended place to start using Gnuastro), respectively,
please see the links below:
  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/General-program-usage-tutorial.html

Many new features have been added since the fifth release and almost
all bugs that were found have been fixed. For the full list of new
features, please see the NEWS file below [1].

The most important feature in this release is that NoiseChisel's
segmentation features were spun-off to a new program called
"Segment". This was done for improved modularity (creativity in using
Gnuastro). Therefore NoiseChisel is now ONLY in charge of detection
and will return a binary (0 or 1 valued) output marking detections. As
described in the tutorials, you can then feed this into Segment for
segmentation. As always, the book/manual is fully up to date with this
and all other changed/new features. Also, by popular demand, a new
tutorial has been added for detecting large objects to very low
surface brightness limits: 1/20th of the noise level in the case of
the data set used in the demonstration.

Here are the the compressed source files of this release. See [2] for
uncompressing Lzip tarballs.
  https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.6.tar.lz   (3.2MB)
  https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.6.tar.gz   (4.8MB)

Here are the GPG detached signatures. See [3] for verifying the
integrity of this tarball with these signatures.
  https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.6.tar.lz.sig (833B)
  https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.6.tar.gz.sig (833B)

Use a mirror for higher download bandwidth:
  https://ftpmirror.gnu.org/gnuastro

Here are the MD5 and SHA1 checksums:
  8c34547c1d9707414c399d9f2dce78c8  gnuastro-0.6.tar.lz
  2df272ff8225f0d5fee405dc0cf8eccb  gnuastro-0.6.tar.gz
  ca5d67f488168662078916d01615f2f1b60f4cd2  gnuastro-0.6.tar.lz
  960f08572862332503e9428e5b3a438c9794d0aa  gnuastro-0.6.tar.gz

I am very grateful to Leindert Boogaard and Thérèse Godefroy for
contributing to the source of this release. I would also like to thank
the following people who provided many great comments, suggestions
and/or bug reports to this release (in alphabetical order): Nushkia
Chamba, Nima Dehdilani, Antonio Diaz Diaz, Lee Kelvin, Brandon Kelly,
Alan Lefor, Guillaume Mahler, Bertrand Pain, Ole Streicher, Michel
Tallon, Juan C. Tello, Éric Thiébaut, David Valls-Gabaud, Aaron
Watkins, Sara Yousefi Taemeh, Johannes Zabl.

If any of Gnuastro's program are useful in your work, please run the
relevant programs with a `--cite' option (it can be different for
different programs). Citations are vital for the continued work on
Gnuastro, so please don't forget to support us by doing so.

This tarball was bootstrapped (initially built) with the tools
below. Note that these are not the tarball build dependencies.
  Texinfo 6.5
  Autoconf 2.69
  Automake 1.15.1
  Help2man 1.47.6
  Gnulib v0.1-1943-g7ff7a27a8
  Autoconf archives v2018.03.13-28-ga67f384
For tarball build dependencies, please see:
https://www.gnu.org/s/gnuastro/manual/html_node/Dependencies.html

Cheers,
Mohammad

--
Mohammad Akhlaghi
Postdoctoral research fellow,
Centre de Recherche Astrophysique de Lyon (CRAL),
Observatoire de Lyon. 9, Avenue Charles André,
Saint Genis Laval (69230), France.










[1] Noteworthy changes in release 0.6 (library 4.0.0) (2018-06-04) [stable]

** New features

  Building:
    - New optional dependency: The TIFF library (libtiff).

  All programs:
    - Input image dataset(s) can be in any of the formats recognized by
      Gnuastro (e.g., FITS, TIFF, JPEG), provided that their libraries
      (optional dependencies) were present at installation time.

  New program:
    - Segment: new program in charge of segmentation over detections. This
      operation was previously done by NoiseChisel. NoiseChisel is now ONLY
      in charge of detection.

  Arithmetic:
    - erode: Erode the foreground of a binary dataset.
    - dilate: Dilate the foreground of a binary dataset.
    - filter-sigclip-mean: sigma-clipped, mean filter operator.
    - filter-sigclip-median: sigma-clipped, median filter operator.
    - connected-components: label the connected elements of the input.
- invert: subtract the maximum of unsigned types (absorption to emission). - interpolate-medianngb: Interpolate (only blanks) with nearest neighbors.

  ConvertType:
    - TIFF images can also be used as input.

  MakeCatalog:
    MakeCatalog will only read the datasets necessary for the requested
    columns. Until now, it would read all the possible datasets and all the
    intermediate measurements. This is thus major improvement in memory and
    CPU usage. As a result, the input argument is no longer assumed to be
    the values file, but the object labels file. Please see the
    "MakeCatalog inputs and basic settings" section of the book for
    more. Here is the summary of the new options:
    --insky: Sky value as a single value or file (dataset).
    --instd: Sky standard deviation as a single value or file (dataset).
    --valuesfile: filename containing the values dataset.
    --valueshdu: HDU/extension containing the values dataset.
    --clumpscat: Make a clumps catalog also.
    --noclumpsort: Don't sort the clumps catalog by host object ID.
    --subtractsky: Subtract the given Sky from the values dataset.
    --variance: input standard deviation image is actually variance.
    --checkupperlimit: make a table for random positions and measurements.
    --geoarea: the number of labeled pixels (irrespective of value).
    --brightnesserr: error in estimating the brightness.
    --mean: calculate the mean pixel value within an object or clump.
    --median: calculate the median pixel value within an object or clump.
    --upperlimitsigma: position in random distribution (in units of sigma).
    --upperlimitquantile: position in random distribution (quantile).
    --upperlimitonesigma: 1sigma value of the random distribution.
--upperlimitskew: (mean-median)/sigma or skewness of random distribution.

  NoiseChisel:
    - New tutorial on detecting large and extended targets.
    --rawoutput: only output the detection labels and Sky and its STD.
    --ignoreblankinsky: don't set the pixels that are blank in the input to
      blank in the Sky and Sky standard deviation outputs (when
      `--oneelempertile' is not called).
    --label: label the connected detections. Until now this was the default
      behavior. However, from this release, NoiseChisel is only in charge
      of detection. Segmentation is done by a new program (Segment). Since
      detection is ultimately just a binary operator, the default output
      now has an 8-bit unsigned integer type with values of 0 or 1. With
      this option, you can ask for it to label/count the connected
      detections instead of the default binary output.

  Statistics:
--manualbinrange: histogram or CFP range can be outside of distribution.
    --ignoreblankinsky: similar to same option in NoiseChisel.

  Libraries:
gal_array_read: read array from any of known formats (FITS, TIFF, JPEG,...).
    gal_array_read_to_type: similar to `gal_array_read', but to given type.
gal_array_read_one_ch: Read a dataset, abort if it has multiple channels. gal_array_read_one_ch_to_type: Make sure input is in one channel and type.
    gal_binary_label_holes: label the holes within the foreground.
    gal_blank_is: check to see if argument is blank in its type or not.
    gal_eps_name_is_eps: Returns 1 if given filename is EPS.
    gal_eps_suffix_is_eps: Returns 1 if given suffix is EPS.
    gal_eps_to_pt: Converts dataset size to PostScript points.
    gal_eps_write: Writes a dataset into an EPS file.
    gal_interpolate_1d_blank: Fill blank elements through interpolation.
gal_interpolate_1d_make_gsl_spline: Allocate and initalize `gsl_spline'.
    gal_jpeg_name_is_jpeg: Returns 1 if given filename is JPEG.
    gal_jpeg_suffix_is_jpeg: Returns 1 if given suffix is JPEG.
    gal_jpeg_read: Reads input JPEG image into `gal_data_t'.
    gal_jpeg_write: Writes a `gal_data_t' into a JPEG file.
    gal_label_grow_indexs: grow known indexs into desired areas.
    gal_label_watershed: apply watershed algorithm on desired region.
gal_label_clump_significance: measure significance of all clumps in region.
    gal_pdf_name_is_pdf: Returns 1 if given filename is PDF.
    gal_pdf_suffix_is_pdf: Returns 1 if given suffix is PDF.
    gal_pdf_write: Writes a dataset into an PDF file.
    gal_pointer_allocate_mmap: Allocate space in a file, not in RAM.
gal_qsort_index_single_d: Sort indexs of single array in decreasing order. gal_qsort_index_single_i: Sort indexs of single array in decreasing order. gal_qsort_index_multi_d: Sort indexs in multiple arrays (different threads). gal_qsort_index_multi_i: Sort indexs in multiple arrays (different threads).
    gal_tiff_name_is_tiff: check if name contains a TIFF suffix.
    gal_tiff_suffix_is_tiff: check if suffix is a TIFF suffix.
    gal_tiff_dir_string_read: convert a string to a TIFF directory number.
    gal_tiff_read: Read the contents of a TIFF "directory" to `gal_data_t'.

** Removed features

  NoiseChisel:
    - Segmentation (and thus the options below) moved to the new Segment
      program: --onlydetection, --segsnminarea, --checkclumpsn, --segquant,
      --keepmaxnearriver, --gthresh, --minriverlength, --objbordersn,
      --grownclumps, --checksegmentation.

    --skysubtracted: no longer necessary, included in noise measuremnts.

  MakeCatalog:
    --skysubtracted: no longer necessary, included in noise measuremnts.

  Library:
    - The macros `GAL_STATISTICS_SORTED_NOT',
      `GAL_STATISTICS_SORTED_INVALID', `GAL_STATISTICS_SORTED_INCREASING',
      `GAL_STATISTICS_SORTED_DECREASING': these macros are removed because
      we already have the `GAL_DATA_FLAG_SORT*'' bit-flags in `gal_data_t'.


** Changed features

  Arithmetic:
    - filter-mean: a blank value in the input can be non-blank in the
         output when non-blank elements present in filter.
    - filter-median: similar to filter-mean.

  Fits:
    --history: can be called/written multiple times in one run.
    --comment: can be called/written multiple times in one run.

  MakeCatalog:
    - The `WCLUMPS' keyword in the objects labeled image is no longer used
         to see if a clumps catalog should also be made. To build a clumps
         catalog, you can now use the `--clumpscat' option.
    - Estimation of noise-level is now done per-pixel over the whole
         label. Until now the average noise level was used.
    --objectsfile has been removed. The main input argument is now assumed
         to be the objects file.

  NoiseChisel:
    From this release, NoiseChisel is only in charge of detection and won't
    do segmentation any more. The new Segment program is in charge of
    segmentation. Many of the changes below are due to this new limited
    scope of NoiseChisel.
    --kernel: value `none' will disable convolution.
    - Renamed options:
      --convolvedhdu ==> --chdu
      --wkhdu        ==> --whdu
      --detsnminarea ==> --snminarea
      --checkdetsn   ==> --checksn
      --detquant     ==> --snquant
- By default the output detection map is a binary image (values of 0 or 1).
    - With no output name, the output has a `_detected.fits' suffix.

  Segment:
    - [Previously in NoiseChisel]: For finding true clumps, the difference
      in the peak of the clump and the highest valued river pixel, divided
      by the noise standard deviation are used. Until now, the total
      signal-to-noise ratio was used as a criteria. In initial tests, this
      algorithm was much more promising in detecting clumps over strong
      gradients and also on flatter gradients.

  Table:
    --column: multiple columns (comma separated) can be used in one
         instance of this option (multiple instances of this option are
         still acceptable also).

  Libraries:
    gal_binary_holes_fill: new name for `gal_binary_fill_holes'.
    gal_dimension_is_different: new name for `gal_data_dsize_is_different'.
    gal_fits_img_read: now only reads the data not the WCS, therefore it no
        longer needs the last two arguments. A subsequent call to
        `gal_wcs_read' can be used to read the WCS information in the file.
    gal_pointer_increment: new name for `gal_data_ptr_increment'.
    gal_pointer_num_between: new name for `gal_data_ptr_dist'.
    gal_pointer_allocate: replaces `gal_data_malloc_array' and
        `gal_data_calloc_array', through an argument you can ask for the
        allocated memory to be cleared or not.
    gal_qsort_TYPE_i: new name for gal_qsort_TYPE_increasing.
    gal_qsort_TYPE_d: new name for gal_qsort_TYPE_decreasing.
    gal_statistics_is_sorted: can now also update the bit-flags regarding
        the sorted nature of the input (to optimize future calls to the
        function).
    gal_statistics_quantile_function: returns `inf' or `-inf' if the given
        value is smaller than the minimum or larger than the maximum of the
        input dataset's range. Until now, it would return blank in such
        cases.
gal_statistics_number: the output dataset now has a `size_t' type. Until
        now it was `uint64_t'.

** Bug fixes

  bug #50957: --version output not possible on Mac OS X.
  bug #52979: Many unused result warnings for asprintf in some compilers.
bug #53122: Configure time CPPFLAGS and LDFLAGS don't pass to BuildProgram.
  bug #53142: Crash when printing values with the `--onlyversion' option.
  bug #53147: NULL value of onlyversion option causing a crash.
  bug #53226: Match output directory ignored when making multiple files.
bug #53230: Statistics program bad results on integer columns with limits.
  bug #53268: NoiseChisel crash when no growth is possible.
  bug #53295: MakeCatalog parses area larger than clump.
  bug #53304: NoiseChisel crash when there is no detection.
  bug #53312: Fits crash on keyword editing (except --delete).
  bug #53407: Instrumental noise in MakeNoise should be squared.
  bug #53424: Sigma-clipping seg-faults when there are no more elements.
  bug #53580: Warp crash when no WCS present.
  bug #53825: NoiseChisel not accounting for fully zero-valued tiles.





[2] Lzip has better compression ratio and archival features compared
to the common `.gz' or `.xz' formats. Therefore Gnuastro's stable
releases are made in `.lz' along with `.gz' for historical
reasons. The alpha/test releases are only in `.lz'. If you don't have
Lzip, can download and install it from its webpage:

  https://www.nongnu.org/lzip/lzip.html

If you have GNU Tar, then the single command below should uncompress and
un-pack the tarball:

  $ tar xf gnuastro-0.6.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 -d gnuastro-0.6.tar.lz
  $ tar xf gnuastro-0.6.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.6.tar.gz.sig

If that command fails because you don't have the required public key,
then run this command to import it:

  gpg --keyserver keys.gnupg.net --recv-keys 1849814357EFB73A

and rerun the 'gpg --verify' command.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]