Skip to content

Releases: nrao/astrohack

v1.0.1

19 Mar 21:51

Choose a tag to compare

v1.0.1 Pre-release
Pre-release

General:

  • Scatter plot improvements

    • Add new methods for linear regression.

    • Added possibility to force square aspect for plots.

  • Bug fixes:

    • General:

      • get_default_file_name now removes slashes from output file
        names, this grants a host of benefits, including no hiccups in
        the overwrite checking and execution.
    • extract_pointing:

      • The expected time interval is now chosen to be the most common
        unique interval in the pointing data.
    • extract_holog:

      • holog_obs_dict is now copied when passed to extract_holog to
        ensure that the user space object is not modified.
    • image_comparison_tool:

      • Scatter plot of images is now square.

      • now properly treat the cases where a fits_filename is given with a
        path.

      • Changed how origin is checked due to the changes in attributes.

v1.0.0

06 Mar 00:08

Choose a tag to compare

v1.0.0 Pre-release
Pre-release

v1.0.0

General:

  • AstrohackBaseFile:

    • New base class for all astrohack data files.

    • Uses xarray Data Trees as its backbone.

    • All IO: reading, writting, appending, concatenation handled by
      this class.

    • Factorized summary creation.

    • Factorized data file creation.

    • New tests on most of its functionality

    • mds objects can now be compared using the .is_close_to
      method implemented in AstrohackBaseFile.

  • plot_array_configuration methods now have a dynamically sized
    inner array box with 20% of the linear size of the full array
    configuration.

  • Revised types of exceptions raised so that no bare exceptions are
    raised..

  • Testing:

    • New module utils/verification_tools.py containing:

      • PNG file comparison.

      • TXT file comparison.

      • FITS file comparison.

      • Dictionary, equality and closeness comparison.

      • Data Tree closeness comparison.

    • Test coverage increased from 49% to 70%.

    • uploaded reference data files to cloudflare for numerical
      comparison.

  • Cleanup:

    • Removed unused module gauss_fitter.py.

    • Removed obsolete modules: visualization/fits.py; utils/data.py

    • Trimmed down and renamed modules: visualization/diagnostics.py
      becomes visualization/array_cfg_plot.py;
      visualization/textual_data.py becomes
      visualization/observation_summary.py.

    • Trimmed down modules: utils/conversion.py; utils/fits.py;
      utils/file.py; utils/text.py; utils/tools.py; utils/veritas.py.

  • Documentation:

    • Updated and added new functionality to tutorials.

Holography:

  • AstrohackPointFile, AstrohackHologFile, AstrohackImageFile and
    AstrohackPanelFile rewritten to be based on AstrohackBaseFile.

  • Added tests on the products of AstrohackPointFile,
    AstrohackHologFile, AstrohackImageFile and AstrohackPanelFile
    methods.

  • extract_pointing:

    • Baseline distance matrix is now computed at this step and stored
      in the AstrohackPointFile.

    • Added method plot_pointing_in_time to plot pointing data keys
      over time for the selected antennas.

    • Added method to produce an array configuration plot,
      plot_array_configuration.

    • Added method set_antennas_as_reference to replace the obsolete
      fix_pointing_table function that modified the ms directly, now
      we can achieve the same result without having to modify the ms.

  • extract_holog:

    • holog_obs_dict:

      • Code split into is own module core/holog_obs_dict.py.

      • Class re-implemented in a more concise manner.

      • Creation now only depends on a point_mds file.

      • No longer saved as a json file, but rather saved as an attribute
        of AstrohackHologFile's root.

    • Added selection by antenna to extract_holog parameters.

    • New parameter append to add data to a previously created
      AstrohackHologFile

    • Execution re-factorised into 2 main blocks, serial preprocessing
      to generate looping dictionary and main parallel execution.

    • Changed AstrohackHologFile depth order from ddi -> map -> ant
      to ant -> ddi -> map, putting it in line with the ordering of
      the other data file classes.

  • combine:

    • Regridding is now only performed, if aperture pixel coordinates
      are different by more than 1e-6 of a pixel.

    • The output summary of a combined dataset us is an aggregation of
      the combined DDIs summaries.

    • The ddi_key for a combine_xds is "ddi_99".

Beam cuts:

  • AstrohackBeamcutFile rewritten to be based on AstrohackBaseFile.

  • Added tests on the products of AstrohackBeamcutFile methods.

  • Added new method plot_beamcut_in_phase to AstrohackBeamcutFile
    for plotting beamcuts in phase.

Antenna position corrections:

  • AstrohackLocitFile and AstrohackPositionFile rewritten to be
    based on AstrohackBaseFile.

  • Added tests on the products of AstrohackLocitFile and
    AstrohackPositionFile methods.

  • extract_locit habe locit been re-factorised during the porting to
    the new file structure.

  • Obsolete code related to the IO of the old .locit.zarr and
    .position.zarr files has been removed.

v0.10.1

06 Jan 18:57

Choose a tag to compare

v0.10.1 Pre-release
Pre-release

This release brings a new functionality to astrohack, the ability to analyze beam cuts. Beam cuts are extremely useful as they are in a sense a type of very poor resolution holography while but also are very cheap to obtain in terms of time.

  • General

    • Documentation has been slightly reorganized.

      • Tutorials are now found in a dedicated section of the read the docs pages.
      • Remaining pages are now all found in one directory inside the docs root.
    • A script for cloudflare file uploading has been added to astrohack/etc/test_data_upload, it relies on the user setting cloudflare account info and tokens as environment variables

    • Added a deep checking tool to verify if 2 mdses are equal, it works with both regular dict based mdses and newer data tree based mdses.

    • Python files containing IO, and in memory data storage functions and classes that are user facing have been moved to a sub directory called IO.

    • Fixed numpy version to <= 2.2 as Numba does not support numpy 2.3 or 2.4.

    • Tutorial notebooks now close their clients at the end of execution.

  • Beam cuts

    • A beam cut calibration pipeline can be found at astrohack/etc/beamcuts.
    • beamcut is a new astohack function to process .holog.zarr files that contain beam cut measurements.
    • open_beamcut is a new astrohack function to process .beamcut.zarr files created by beamcut.
    • The newly introduced AstrohackBeamcutFile class uses Xarray Data Trees to store that in memory and uses Xarray interfaces to save it to disk.
    • A beam cut tutorial has been included and can be found on the new tutorial section of astrohack.readthedocs.io.
  • Holography

    • extract_holog now stores scan information in the output .holog.zarr files. This change was made to simplify processing of beam cuts.

v0.10.0

06 Jan 18:25

Choose a tag to compare

v0.10.0 Pre-release
Pre-release

This release brings a new functionality to astrohack, the ability to analyze beam cuts. Beam cuts are extremely useful as they are in a sense a type of very poor resolution holography while but also are very cheap to obtain in terms of time.

  • General

    • Documentation has been slightly reorganized.

      • Tutorials are now found in a dedicated section of the read the docs pages.
      • Remaining pages are now all found in one directory inside the docs root.
    • A script for cloudflare file uploading has been added to astrohack/etc/test_data_upload, it relies on the user setting cloudflare account info and tokens as environment variables

    • Added a deep checking tool to verify if 2 mdses are equal, it works with both regular dict based mdses and newer data tree based mdses.

    • Python files containing IO, and in memory data storage functions and classes that are user facing have been moved to a sub directory called IO.

    • Fixed numpy version to <= 2.2 as Numba does not support numpy 2.3 or 2.4.

    • Tutorial notebooks now close their clients at the end of execution.

  • Beam cuts

    • A beam cut calibration pipeline can be found at astrohack/etc/beamcuts.
    • beamcut is a new astohack function to process .holog.zarr files that contain beam cut measurements.
    • open_beamcut is a new astrohack function to process .beamcut.zarr files created by beamcut.
    • The newly introduced AstrohackBeamcutFile class uses Xarray Data Trees to store that in memory and uses Xarray interfaces to save it to disk.
    • A beam cut tutorial has been included and can be found on the new tutorial section of astrohack.readthedocs.io.
  • Holography

    • extract_holog now stores scan information in the output .holog.zarr files. This change was made to simplify processing of beam cuts.

v0.9.4

13 Nov 21:55

Choose a tag to compare

v0.9.4 Pre-release
Pre-release

This release contains only fixes to the readthedocs pages.

v0.9.3

29 Oct 21:05

Choose a tag to compare

v0.9.3 Pre-release
Pre-release

This release contains no changes to the code itself, but it contains needed changes to address the change in the URL for the Astrohack repo.

v0.9.1

23 Jul 21:38

Choose a tag to compare

v0.9.1 Pre-release
Pre-release

This releases brings quite a few major changes, with the biggest
change being the tentative full support for the ngVLA prototype
holography commissioning tests. A summary of the changes can be found
below.

  • General:

    • Telescope objects:

      • The telescope class has been split up.

      • Cassegrain telescopes are now supported by a the
        RingedCassegrain class.

      • The ngvla prototype is supported by the NgvlaPrototype class.

      • Telescope objects may now be initialized with the
        get_proper_telescope function.

    • Changed import scopes:

      • Now only user intended functions are available at the package
        level.
    • Increased test coverage:

      • Now 2D gridding and 1D interpolation functions are tested during
        continuous integration.

      • Opening routines for all AstrohackDataFiles are now tested
        during continuous integration.

    • Bug fixes:

      • The creation of file names based on input files now uses
        str.removesuffix as .rstrip has behaviors that were leading to
        weirdness in output file names.

      • check_if_file_can_be_opened now checks if path exists before
        doing anything.

  • Holography:

    • Panel:

      • part of the work in processing the apertures done by the
        AntennaSurface class has now be ported to the new telescope
        classes as some of the processing differs between Cassegrain and
        the ngVLA due to their different optics.

      • Improved PolygonPanel class has been brought to production, this
        class is used to represent panels that are represented by
        polygons, such as the ngVLA panels.

      • Phase to deviation correction for the ngVLA is computed using a
        Quintic Pseudo Spline (QPS) representation of the surface to
        compute the cosine of the surface normal to the direction of
        boresight.

      • Aperture plot orientation and panel sample coordinates reference
        frames have been reconciled yeilding cohesive coordinate frames
        between panel points and the points in aperture plots.

    • Extract_holog:

      • Found a bug in the interpolation of pointings onto visibility
        times that allowed for NaNs in the interpolated pointings.

      • Added a new method to interpolate pointings onto visibility
        times using a gaussian convolution, this is also the fallback
        behavior when NaNs are detected in the linear interpolation of
        the pointings.

    • Extract_pointing:

      • extract_pointing now raises a warning when the pointing tables
        have irregular sampling times.

v0.9.0

23 Jul 21:27

Choose a tag to compare

v0.9.0 Pre-release
Pre-release

This releases brings quite a few major changes, with the biggest
change being the tentative full support for the ngVLA prototype
holography commissioning tests. A summary of the changes can be found
below.

  • General:

    • Telescope objects:

      • The telescope class has been split up.
      • Cassegrain telescopes are now supported by a the
        RingedCassegrain class.
      • The ngvla prototype is supported by the NgvlaPrototype class.
      • Telescope objects may now be initialized with the
        get_proper_telescope function.
    • Changed import scopes:

      • Now only user intended functions are available at the package
        level.
    • Increased test coverage:

      • Now 2D gridding and 1D interpolation functions are tested during
        continuous integration.
      • Opening routines for all AstrohackDataFiles are now tested
        during continuous integration.
    • Bug fixes:

      • The creation of file names based on input files now uses
        str.removesuffix as .rstrip has behaviors that were leading to
        weirdness in output file names.
      • check_if_file_can_be_opened now checks if path exists before
        doing anything.
  • Holography:

    • Panel:

      • part of the work in processing the apertures done by the
        AntennaSurface class has now be ported to the new telescope
        classes as some of the processing differs between Cassegrain and
        the ngVLA due to their different optics.
      • Improved PolygonPanel class has been brought to production, this
        class is used to represent panels that are represented by
        polygons, such as the ngVLA panels.
      • Phase to deviation correction for the ngVLA is computed using a
        Quintic Pseudo Spline (QPS) representation of the surface to
        compute the cosine of the surface normal to the direction of
        boresight.
      • Aperture plot orientation and panel sample coordinates reference
        frames have been reconciled yielding cohesive coordinate frames
        between panel points and the points in aperture plots.
    • Extract_holog:

      • Found a bug in the interpolation of pointings onto visibility
        times that allowed for NaNs in the interpolated pointings.
      • Added a new method to interpolate pointings onto visibility
        times using a gaussian convolution, this is also the fallback
        behavior when NaNs are detected in the linear interpolation of
        the pointings.
    • Extract_pointing:

      • extract_pointing now raises a warning when the pointing tables
        have irregular sampling times.

v0.8.0

03 Jul 21:40

Choose a tag to compare

v0.8.0 Pre-release
Pre-release

This release includes the following changes:

  • Holography:

    • There is now a observation summary attached to each holography xarray dataset inside a mds (holog.zarr, image.zarr and panel.zarr).
    • This summary can be printed and exported to an ASCII file through a method called .observation_summary of the respective mdses.
    • This allows for the decoupling of automatically defined beam gridding characteristics between DDIs.
    • This change breaks backward compatibility with files from versions before this one.
    • Checking if a file can be opened is now performed at the start of processing and when opening files.
  • General:

    • Added a Z scale control to the image_compare_tool.

v0.7.1

04 Jun 16:41

Choose a tag to compare

v0.7.1 Pre-release
Pre-release

This release addresses a bug that disabled the 'AIPS' colormap.