- Ability to read in instrumental fluxes and stokes beam amplitudes from FHD catalogs into extra_columns.
- Promote RA/Dec values from FHD catalogs to float32.
- If no extended models remain after a select, the
extended_model_groupparameter is set toNoneafter the select. - Updated minimum optional dependency versions: lunarsky>=1.0 (to drop spiceypy requirement)
- A bug where the frame for FHD catalogs was set to ICRS when it should have been FK5.
- A bug where the
extended_model_groupwas set to an array of empty strings when reading in FHD catalogs with no extended models.
- Spiceypy error catching in tests
- New option when reading FHD catalogs to include available columns in extra_columns.
- New
SkyModel.remove_extra_columnsmethod to allow for removal of extra columns.
- Improved logic for duplicate source IDs in FHD catalogs.
- Updated minimum dependency versions: pyuvdata>=3.2.3
- Use
pyuvdata.UVBase._select_along_param_axisrather than custom logic inSkyModel.select.
- Entry point scripts are now properly installed.
- New option to
SkyModel.selectto select components that do not have NaN values in thestokesparameter at either any or all frequencies. - New option to
SkyModel.selectto select components with no negative Stokes I values. - New check warnings about NaN stokes and spectral index values and negative Stokes I values.
- An option to skip optional parameters when reading in skyh5 files.
- Updated minimum dependency versions: h5py>=3.7, python>=3.11, scipy>=1.9
- Converted scripts to entry points to be better aligned with the pyproject.toml approach.
- Only import lunarsky if needed.
- 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
- A bug where running check on read was impossible to turn off.
- 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.in1dtonp.isinand 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_columnsattribute 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_arrayparameter 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_arrayparameter was also added to theread_votable_file,readandfrom_filemethods.
- 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_arrayparameter for subband spectral types.
- Defaulting for the coordinate frame,
frameis 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_filemethod. - Handling for accessing the deprecated
ra_dec_coherency,lon,latattributes. - Handling for accessing galactic
landbcoordinates asglandgb. - The
point_to_healpixmethod, use theassign_to_healpixinstead. - The
frameparameter to theassign_to_healpixmethod. The frame from the object's skycoord parameter is now always used for the Healpix frame, usetransform_toto convert to the desired frame before callingassign_to_healpix. - The
source_cutsmethod and the associatedsource_select_keywordsparameters from the variousreadmethods. - The
to_recarrayandfrom_recarraymethods. - Support for reading old
healvisstyle Healpix hdf5 files (via the associatedread_healpix_hdf5,from_healpix_hdf5andwrite_healpix_hdf5methods). skyh5 files are now the only supported hdf5 file format. - The
ra_columnanddec_columnparameters to thereadandfrom_filemethods. Use the more genericlon_columnandlat_columnparameters instead.
- Add support for all astropy coordinate frames with the new
skycoordattribute (which contains an astropy SkyCoord object) on point objects and the newhpx_frameattribute 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_columnandframeparameters to thereadandfrom_filemethods which apply when reading votable files. - Added
calc_frame_coherencymethod 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.
J2000in 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
skycoordandhpx_frameparameters in skyh5 read/write methods. - Updated the pyuvdata requirement to >= 2.2.10
- Added support for
allowed_failureskeyword 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_coherencyattribute in favor offrame_coherencybecause SkyModel objects can be in frames that do not use ra/dec coordinates. - The
lon,latandframeattributes, in favor of theskycoordattribute for point objects and thehpx_indsandhpx_frameattributes for healpix objects. - The
ra_columnanddec_columnparameters in thereadandfrom_filemethods in favor of thelon_columnandlat_columnas a part of supporting more frames in votable files. - The
to_recarrayandfrom_recarraymethods.
- Removed support for the older input parameter order to
SkyModel.__init__. - Removed support for passing
freq_array,reference_freqorstokestoSkyModel.__init__as anything other than appropriate Quantities. set_spectral_type_paramsandread_idl_catalogmethods 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_filefunctions (many similar methods onSkyModelremain). - Removed support for passing telescope_location directly to the
SkyModel.coherency_calcmethod. - Removed support for votable_files with tables with no name or ID.
- Removed
frequencycolumn and alias likeflux_density_Ifor flux columns in output ofSkyModel.to_recarray,
- Generic
readandfrom_filemethods to SkyModel objects that accept any file type supported by SkyModel.
- A
filenameattribute to SkyModel objects. - The
nan_handlingkeyword to theat_frequenciesmethod to control how NaNs in the stokes array on subband objects are handled during interpolation. - The
lat_rangeandlon_rangekeywords to theselectmethod to support selecting on fields. - The
min_brightness,max_brightnessandbrightness_freq_rangekeywords to theselectmethod to support selecting on brightness. - The
cut_nonrisingmethod to remove sources that never rise given a telescope location, replacing functionality that was in thesource_cutsmethod. - The
calculate_rise_set_lstsmethod to calculate and set the_rise_lstand_set_lstattributes on the object, replacing functionality that was in thesource_cutsmethod. - The
get_lon_latmethod which computes the values fromhpx_indson healpix objects and just returns the parameter values on point objects. - The
assign_to_healpixmethod 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_frequenciesmethod on a subband spectral_type object if any NaNs appeared in the input stokes.
raanddecare no longer required parameters on healpix objects (since that information is encoded in thehpx_indsparameter). When objects are initialized as healpix objects theraanddecparameters are no longer populated.point_to_healpixhas been renamed to_point_to_healpixbecause it's only intended to be used internally to undo thehealpix_to_pointmethod.
- A bug in
concatwhen optional spectral paramters are not None on one of the objects.
- The
source_cutsmethod and thesource_select_kwdskeywords to the reading methods. - The
point_to_healpixmethod.
- Ability to overwrite default ra/dec when importing a healpix map
clobberkeyword to allow overwriting of skyh5 files- Support for ring / nested healpix ordering.
- New
SkyModel.concatmethod to support concatenating catalogs. - A new optional parameters
stokes_errorto 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_pointmethod.
- 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_catalogandfrom_idl_catalogto enable instantiation from different formats directly.
- Changed default
spectral_typeforread_gleam_catalogtosubbandrather thanflat. - Changed
extended_model_groupinread_fhd_catalogto match the parent source name.
- Improved handling of lists passed to
SkyModel.__init__. - A bug in the
download_gleamutility method that caused missing columns for thesubbandspectral type - Enabled subselecting to a given tolerance in at_frequencies (for
fullspectral 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_catalogdid not order thenameandbeam_ampattributes correctly for extended sources.
- The methods
jansky_to_kelvinand 'kelvin_to_jansky' to convert between Jy and K based units. - The methods
healpix_to_pointandpoint_to_healpixto convert between component types.
- Renamed the
read_idl_catalogmethod toread_fhd_catalog. - The
stokesandcoherency_radecparameters are now Quantity objects and must have units of 'Jy' or 'K sr' ifcomponent_typeis 'point' and 'Jy/sr' or 'K' if thecomponent_typeis 'healpix'. - The inputs to the utility functions
stokes_to_coherencyandcoherency_to_stokesmust now be Quantity objects. - The utility function
jy_to_ksrnow uses astropy's built in conversion methods.
- The
read_idl_catalogmethod. - Initializing a SkyModel object with a float array rather than a Quantity for
stokesis deprecated and support will be removed in a future version. - Passing floats rather than Quantity objects as inputs to the
stokes_to_coherencyandcoherency_to_stokesutility 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_frequenciesfunction that will return a new SkyModel at requested frequencies. - A new
component_typeparameter that can be set to "healpix" or "point". - Better support for HEALPix maps, with new
nsideandhpx_indsparameters. - Added the following methods to the
SkyModelclass:select,source_cuts,to_recarray,from_recarray,read_healpix_hdf5,read_votable_catalog,read_gleam_catalog,read_text_catalog,read_idl_catalog,write_healpix_hdf5write_text_catalog.
- A bug in
spherical_coords_transforms.rotate_points_3dwhere an arccos calculation failed for a value larger than one by ~1e-12.
- The following functions in the
skymodelmodule 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.