Releases: nrao/astrohack
v1.0.1
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.
- get_default_file_name now removes slashes from output file
-
extract_pointing:- The expected time interval is now chosen to be the most common
unique interval in the pointing data.
- The expected time interval is now chosen to be the most common
-
extract_holog:- holog_obs_dict is now copied when passed to extract_holog to
ensure that the user space object is not modified.
- holog_obs_dict is now copied when passed to extract_holog to
-
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
v1.0.0
General:
-
AstrohackBaseFile:-
New base class for all astrohack data files.
-
Uses
xarrayData 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 inAstrohackBaseFile.
-
-
plot_array_configurationmethods 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.pycontaining:-
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
becomesvisualization/array_cfg_plot.py;
visualization/textual_data.pybecomes
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,AstrohackImageFileand
AstrohackPanelFilerewritten to be based onAstrohackBaseFile. -
Added tests on the products of
AstrohackPointFile,
AstrohackHologFile,AstrohackImageFileandAstrohackPanelFile
methods. -
extract_pointing:-
Baseline distance matrix is now computed at this step and stored
in theAstrohackPointFile. -
Added method
plot_pointing_in_timeto 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_referenceto replace the obsolete
fix_pointing_tablefunction 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
ofAstrohackHologFile's root.
-
-
Added selection by antenna to
extract_hologparameters. -
New parameter
appendto 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
AstrohackHologFiledepth order fromddi -> map -> ant
toant -> 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_xdsis "ddi_99".
-
Beam cuts:
-
AstrohackBeamcutFilerewritten to be based onAstrohackBaseFile. -
Added tests on the products of
AstrohackBeamcutFilemethods. -
Added new method
plot_beamcut_in_phasetoAstrohackBeamcutFile
for plotting beamcuts in phase.
Antenna position corrections:
-
AstrohackLocitFileandAstrohackPositionFilerewritten to be
based onAstrohackBaseFile. -
Added tests on the products of
AstrohackLocitFileand
AstrohackPositionFilemethods. -
extract_locithabelocitbeen 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
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.
beamcutis a new astohack function to process .holog.zarr files that contain beam cut measurements.open_beamcutis a new astrohack function to process .beamcut.zarr files created bybeamcut.- The newly introduced
AstrohackBeamcutFileclass 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_holognow stores scan information in the output .holog.zarr files. This change was made to simplify processing of beam cuts.
v0.10.0
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.
beamcutis a new astohack function to process .holog.zarr files that contain beam cut measurements.open_beamcutis a new astrohack function to process .beamcut.zarr files created bybeamcut.- The newly introduced
AstrohackBeamcutFileclass 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_holognow stores scan information in the output .holog.zarr files. This change was made to simplify processing of beam cuts.
v0.9.4
This release contains only fixes to the readthedocs pages.
v0.9.3
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
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.
- Now only user intended functions are available at the package
-
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.
- extract_pointing now raises a warning when the pointing tables
-
v0.9.0
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.
- Now only user intended functions are available at the package
-
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.
- Now 2D gridding and 1D interpolation functions are tested during
-
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.
- The creation of file names based on input files now uses
-
-
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.
- part of the work in processing the apertures done by the
-
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.
- Found a bug in the interpolation of pointings onto visibility
-
Extract_pointing:
- extract_pointing now raises a warning when the pointing tables
have irregular sampling times.
- extract_pointing now raises a warning when the pointing tables
-
v0.8.0
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
This release addresses a bug that disabled the 'AIPS' colormap.