- Use the new pyuvdata analytic short dipole beam for polarized source testing.
- Updated minimum dependency versions: pyuvdata>=3.1.0
- Updated minimum optional dependency versions: lunarsky>=0.2.5
- Updated minimum dependency versions: setuptools_scm>=8.1, scipy>=1.8
- pyuvdata utils imports to ensure compatibility with version 3.0.
numpy.string_
calls tonumpy.bytes_
,np.in1d
tonp.isin
and a few other changes for numpy 2.0 compatibility.
- An error when Skymodel.concat was called serially.
- Updated minimum dependency versions: astropy>=6.0, h5py>=3.4, numpy>=1.23, pyuvdata>=2.4.3, scipy>=1.7.3, python>=3.10
- Updated minimum optional dependency versions: astropy-healpix>=1.0.2, lunarsky>=0.2.2
- A memo describing the SkyH5 format in docs/references.
- Added support for more types of FHD catalog files and better error messages.
- Added support (and testing) for python 3.12, dropped support for python 3.8
- Moved the optional data-sized arrays (stokes_error and beam_amp) from the Header datagroup to the Data datagroup in SkyH5 files.
- Added an
extra_columns
attribute to SkyModel, a recarray to store other catalog information with a value per component. - Updated the pyuvdata requirement to >= 2.4.1
- Updated the scipy requirement to >= 1.5
- A bug where FHD frequencies were interpreted as being in Hz rather than MHz.
- A
freq_edge_array
parameter to store the top and bottom of the sub-bands with shape (2, Nfreqs). This will become required for objects with "subband" spectral types in version 0.5. Afreq_edge_array
parameter was also added to theread_votable_file
,read
andfrom_file
methods.
- When writing to text files, "subband" spectral types are represented in the same way as "full" spectral types (losing the frequency edge array information).
- Increase the minimum compatible version for lunarsky to 0.2.1 to fix astropy deprecation warnings.
- Not setting the
freq_edge_array
parameter for subband spectral types.
- Defaulting for the coordinate frame,
frame
is now required to be passed to the__init__
method for Healpix maps and point-like components when passing individual components rather than a SkyCoord object. It is also required to be passed to theread_votable_file
method. - Handling for accessing the deprecated
ra_dec_coherency
,lon
,lat
attributes. - Handling for accessing galactic
l
andb
coordinates asgl
andgb
. - The
point_to_healpix
method, use theassign_to_healpix
instead. - The
frame
parameter to theassign_to_healpix
method. The frame from the object's skycoord parameter is now always used for the Healpix frame, usetransform_to
to convert to the desired frame before callingassign_to_healpix
. - The
source_cuts
method and the associatedsource_select_keywords
parameters from the variousread
methods. - The
to_recarray
andfrom_recarray
methods. - Support for reading old
healvis
style Healpix hdf5 files (via the associatedread_healpix_hdf5
,from_healpix_hdf5
andwrite_healpix_hdf5
methods). skyh5 files are now the only supported hdf5 file format. - The
ra_column
anddec_column
parameters to theread
andfrom_file
methods. Use the more genericlon_column
andlat_column
parameters instead.
- Add support for all astropy coordinate frames with the new
skycoord
attribute (which contains an astropy SkyCoord object) on point objects and the newhpx_frame
attribute on healpix objects. Users can interact with the SkyCoord object directly or use convenience methods on SkyModel as appropriate. References to older SkyModel attributes are handled for backwards compatibility. - Read/write methods for text and votable files now support more astropy frames (not
just
icrs
). - New
lon_column
,lat_column
andframe
parameters to theread
andfrom_file
methods which apply when reading votable files. - Added
calc_frame_coherency
method to calculate and optionally store the frame_coherency on the object.
- Updated the astropy requirement to >= 5.2
- No longer calculate frame_coherency (previously ra_dec_coherency) on SkyModel initialization to save memory.
J2000
in ra and dec columns names of text files are now properly identified as indicating that the coordinates are in the FK5 frame rather than ICRS.- Added handling for the new
skycoord
andhpx_frame
parameters in skyh5 read/write methods. - Updated the pyuvdata requirement to >= 2.2.10
- Added support for
allowed_failures
keyword inSkyModel.__eq__
to matchpyuvdata.UVBase
, update pyuvdata minimum version to 2.2.1 when that keyword was introduced. - Updated the astropy requirement to >= 5.0.4
- Dropped support for python 3.7
- The
ra_dec_coherency
attribute in favor offrame_coherency
because SkyModel objects can be in frames that do not use ra/dec coordinates. - The
lon
,lat
andframe
attributes, in favor of theskycoord
attribute for point objects and thehpx_inds
andhpx_frame
attributes for healpix objects. - The
ra_column
anddec_column
parameters in theread
andfrom_file
methods in favor of thelon_column
andlat_column
as a part of supporting more frames in votable files. - The
to_recarray
andfrom_recarray
methods.
- Removed support for the older input parameter order to
SkyModel.__init__
. - Removed support for passing
freq_array
,reference_freq
orstokes
toSkyModel.__init__
as anything other than appropriate Quantities. set_spectral_type_params
andread_idl_catalog
methods have been removed fromSkyModel
- Removed the
read_healpix_hdf5
,healpix_to_sky
,write_healpix_hdf5
,skymodel_to_array
,array_to_skymodel
,source_cuts
,read_votable_catalog
,read_gleam_catalog
,read_text_catalog
,read_idl_catalog
,write_catalog_to_file
functions (many similar methods onSkyModel
remain). - Removed support for passing telescope_location directly to the
SkyModel.coherency_calc
method. - Removed support for votable_files with tables with no name or ID.
- Removed
frequency
column and alias likeflux_density_I
for flux columns in output ofSkyModel.to_recarray
,
- Generic
read
andfrom_file
methods to SkyModel objects that accept any file type supported by SkyModel.
- A
filename
attribute to SkyModel objects. - The
nan_handling
keyword to theat_frequencies
method to control how NaNs in the stokes array on subband objects are handled during interpolation. - The
lat_range
andlon_range
keywords to theselect
method to support selecting on fields. - The
min_brightness
,max_brightness
andbrightness_freq_range
keywords to theselect
method to support selecting on brightness. - The
cut_nonrising
method to remove sources that never rise given a telescope location, replacing functionality that was in thesource_cuts
method. - The
calculate_rise_set_lsts
method to calculate and set the_rise_lst
and_set_lst
attributes on the object, replacing functionality that was in thesource_cuts
method. - The
get_lon_lat
method which computes the values fromhpx_inds
on healpix objects and just returns the parameter values on point objects. - The
assign_to_healpix
method to assign point component objects to a healpix grid (using the nearest neighbor approach).
- A bug that caused the stokes array to be all NaNs after using the
at_frequencies
method on a subband spectral_type object if any NaNs appeared in the input stokes.
ra
anddec
are no longer required parameters on healpix objects (since that information is encoded in thehpx_inds
parameter). When objects are initialized as healpix objects thera
anddec
parameters are no longer populated.point_to_healpix
has been renamed to_point_to_healpix
because it's only intended to be used internally to undo thehealpix_to_point
method.
- A bug in
concat
when optional spectral paramters are not None on one of the objects.
- The
source_cuts
method and thesource_select_kwds
keywords to the reading methods. - The
point_to_healpix
method.
- Ability to overwrite default ra/dec when importing a healpix map
clobber
keyword to allow overwriting of skyh5 files- Support for ring / nested healpix ordering.
- New
SkyModel.concat
method to support concatenating catalogs. - A new optional parameters
stokes_error
to track errors on the fluxes reported by catalogs.
- Fix bug in writing skyh5 files with composite stokes units (e.g. Jy/sr)
- Fix bugs causing healpix ordering to not be round tripped properly.
- Some bugs related to writing & reading skyh5 files after converting object using
healpix_to_point
method.
- Read and write methods for skyh5 -- our newly defined hdf5 file format that fully supports all SkyModel types.
- Classmethods
from_recarray
,from_healpix_hdf5
,from_votable_catalog
,from_text_catalog
,from_gleam_catalog
andfrom_idl_catalog
to enable instantiation from different formats directly.
- Changed default
spectral_type
forread_gleam_catalog
tosubband
rather thanflat
. - Changed
extended_model_group
inread_fhd_catalog
to match the parent source name.
- Improved handling of lists passed to
SkyModel.__init__
. - A bug in the
download_gleam
utility method that caused missing columns for thesubband
spectral type - Enabled subselecting to a given tolerance in at_frequencies (for
full
spectral type). - A bug in
Skymodel.__init__
that caused extended_model_group and beam_amps to not be added to the object. - Enabled proper handling of duplicated source IDs in
read_fhd_catalog
. - A bug in
read_fhd_catalog
did not order thename
andbeam_amp
attributes correctly for extended sources.
- The methods
jansky_to_kelvin
and 'kelvin_to_jansky' to convert between Jy and K based units. - The methods
healpix_to_point
andpoint_to_healpix
to convert between component types.
- Renamed the
read_idl_catalog
method toread_fhd_catalog
. - The
stokes
andcoherency_radec
parameters are now Quantity objects and must have units of 'Jy' or 'K sr' ifcomponent_type
is 'point' and 'Jy/sr' or 'K' if thecomponent_type
is 'healpix'. - The inputs to the utility functions
stokes_to_coherency
andcoherency_to_stokes
must now be Quantity objects. - The utility function
jy_to_ksr
now uses astropy's built in conversion methods.
- The
read_idl_catalog
method. - Initializing a SkyModel object with a float array rather than a Quantity for
stokes
is deprecated and support will be removed in a future version. - Passing floats rather than Quantity objects as inputs to the
stokes_to_coherency
andcoherency_to_stokes
utility functions.
- Documentation is now hosted on ReadTheDocs at https://pyradiosky.readthedocs.io/en/latest/
- A utility function and a script to download the GLEAM catalog.
- An
at_frequencies
function that will return a new SkyModel at requested frequencies. - A new
component_type
parameter that can be set to "healpix" or "point". - Better support for HEALPix maps, with new
nside
andhpx_inds
parameters. - Added the following methods to the
SkyModel
class:select
,source_cuts
,to_recarray
,from_recarray
,read_healpix_hdf5
,read_votable_catalog
,read_gleam_catalog
,read_text_catalog
,read_idl_catalog
,write_healpix_hdf5
write_text_catalog
.
- A bug in
spherical_coords_transforms.rotate_points_3d
where an arccos calculation failed for a value larger than one by ~1e-12.
- The following functions in the
skymodel
module were deprecated:read_healpix_hdf5
,write_healpix_hdf5
,healpix_to_sky
,skymodel_to_array
,array_to_skymodel
,source_cuts
,read_votable_catalog
,read_gleam_catalog
,read_text_catalog
,read_idl_catalog
,write_catalog_to_file
.
- SkyModel object inherits from UVBase.
- Moved existing code from pyuvsim, got package set up.