Recent Releases of specutils

specutils - v2.1.0

New Features

  • Add new flux_col keyword argument to JWST x1d reader to override flux column auto-detected from source type column (point vs surface brightness). [#1244]

  • The readers can now read IRAF MULTISPEC files with linear and log-linear wavelength solutions; at the same time the IRAF equispec format gains the ability to read log-linear wavelength solutions. [#1254]

Bug Fixes

  • Fixed/updated SDSS-V mwm data loader to account for a subset of targets with bad datasums. [#1253]

Other Changes and Additions

  • Updated the JWST data readers to accomodate new WFSS file formats with SpectrumList.read(). [#1252]

- Python
Published by rosteen 7 months ago

specutils - v1.20.3

Minor doc fix to make 1.20.x docs available long-term.

- Python
Published by rosteen 8 months ago

specutils - v2.0.0

See https://specutils.readthedocs.io/en/latest/#changes-in-version-2 for more details about major changes between version 1.x and 2.x.

New Features

  • Spectral axis can now be any axis, rather than being forced to be last. See docs for more details. [#1033, #1226]

  • specutils.Spectrum now properly handles GWCS input for wcs attribute. [#1074]

  • JWST reader no longer transposes the input data cube for 3D data and retains full GWCS information (including spatial). [#1074]

  • Spectrum1D renamed to Spectrum. [#1126]

Other Changes and Additions

  • Initializing a Spectrum with only a spectral axis (not full WCS) will now result in a GWCS matching the dimensionality of the flux array, rather than a 1D spectral GWCS in all cases. [#1211, #1222]

  • Spectrum arithmetic now checks whether the spectral axes of the two operand Spectrum objects are equal, and fails if they are not. [#1211]

  • Added documentation about transitioning from 1.x to 2.x. [#1226]

- Python
Published by rosteen 9 months ago

specutils - v1.20.2

Bug Fixes

  • Fixed loaders for HST/STIS. Added an "HST/STIS multi" reader for use with SpectrumCollection to read multi-extension and/or multi-order echelle datasets. [#1233]

Other Changes and Additions

  • Warn about use of spectral_axis_index (new Spectrum1D kwarg for 2.0) in 1.x. [#1238]

- Python
Published by rosteen 9 months ago

specutils - v1.20.1

Bug Fixes

  • Switch to using an alias rather than a subclass for the temporary 1.x access to the new 2.x class name (Spectrum). [#1236]

- Python
Published by rosteen 10 months ago

specutils - v1.20.0

1.20.0 (2025-05-01)

Bug Fixes

  • Fixed loaders for IRAF-encoded non-linear Chebychev + Legendre wavelength solutions that were imposing integer-valued domain limits. [#1199]
  • Fixed loaders for SDSS APOGEE not correctly identifying the format [#1217]
  • Fixed template comparison returning empty list of chi2 values in some cases. [#1228]

Other Changes and Additions

  • Added Spectrum class wrapper around Spectrum1D to ease transition to new class name in 2.0. [#1229, #1230]

  • Removed redshift and radial velocity setters in Spectrum1D that have been deprecated since 1.8. [#1229]

  • Added documentation about upcoming changes in specutils 2.0. [#1231]

- Python
Published by rosteen 10 months ago

specutils - v1.19.0

1.19.0 (2024-11-05)

Bug Fixes

  • Fixed mwmVisit SDSS-V Spectrum1D and SpectrumList default loader being unable to load files containing only BOSS instrument spectra. [#1185]

  • Fixed automatic format detection for SDSS-V SpectrumList default loaders. [#1185]

  • Fixed SplineInterpolatedResampler when input and output spectral axes are different physical types, e.g. wavelength and velocity. [#1190]

Other Changes and Additions

  • "Multi" loaders have been removed from SDSS-V SpectrumList default loaders. [#1185]

- Python
Published by rosteen over 1 year ago

specutils - v1.18.0

New Features

  • New Spectrum1D.with_spectral_axis_and_flux_units method to convert both spectral axis and flux units at the same time. [#1184]

Bug Fixes

  • Fixed Spectrum1D.with_flux_unit() not converting uncertainty along with flux unit. [#1181]

  • Fixed extracting a spectral region when one of spectrum/region is in wavelength and the other is in frequency units. [#1187]

Other Changes and Additions

  • Replaced LevMarLSQFitter with TRFLSQFitter as the former is no longer recommended by astropy. [#1180]

- Python
Published by rosteen over 1 year ago

specutils - v1.17.0

v1.17.0

New Features

  • Fitting and excision functions can now use inclusive upper bounds for input regions if specified. [#1171]

Bug Fixes

  • Fixed specifying a single value for window in analysis.fit_lines. [#1164]

Other Changes and Additions

  • Dropped support for python 3.9. [#1176]

  • utils.wcs_utils.refraction_index (and thus air_to_vac and vac_to_air) now defaults to Morton2000 as the method instead of Griesen2006. [#1169]

- Python
Published by rosteen over 1 year ago

specutils - v1.16.0

1.16.0 (2024-08-08)

Bug Fixes

  • Arithmetic operations on Spectrum1D objects now preserve spectral axis values that were updated by setting redshift or radial velocity. [#1158]

  • Ensure supported dtype is passed to medfilt during smoothing. [#1156]

  • Adjusted copy semantics for numpy 2 compatibility. [#1145]

  • Fixed moment 0 calculation to sum flux*dx (rather than flux) to match line_flux. [#1141]

Other Changes and Additions

  • Changed the tabular-fits reader/writer to round-trip the header, by default in the primary HDU. The reader now reads the primary header into meta['header']; the old behaviour of reading the header from the data extension can be restored by setting the option store_data_header=True. The writer is taking a corresponding option for saving meta['header'] to either primary or data extension headers. [#1113]

  • Improved documentation for readers/writers. [#1152, #1157]

** Note: re-released on Github 2024-09-23 to re-trigger Zenodo hook

- Python
Published by rosteen over 1 year ago

specutils - v1.16.0

1.16.0 (2024-08-08)

Bug Fixes

  • Arithmetic operations on Spectrum1D objects now preserve spectral axis values that were updated by setting redshift or radial velocity. [#1158]

  • Ensure supported dtype is passed to medfilt during smoothing. [#1156]

  • Adjusted copy semantics for numpy 2 compatibility. [#1145]

  • Fixed moment 0 calculation to sum flux*dx (rather than flux) to match line_flux. [#1141]

Other Changes and Additions

  • Changed the tabular-fits reader/writer to round-trip the header, by default in the primary HDU. The reader now reads the primary header into meta['header']; the old behaviour of reading the header from the data extension can be restored by setting the option store_data_header=True. The writer is taking a corresponding option for saving meta['header'] to either primary or data extension headers. [#1113]

  • Improved documentation for readers/writers. [#1152, #1157]

- Python
Published by rosteen over 1 year ago

specutils - v1.15.0

New Features

  • Implemented SpectralRegion.write() and SpectralRegion.read() to round-trip spectral regions to/from ECSV files via astropy.table.QTable. [#1133]

- Python
Published by rosteen almost 2 years ago

specutils - v1.14.0

Changes

  • new_flux_unit changed to with_flux_unit to match spectral version, updated docstring to reflect actual behavior. [#1124]

  • Compatibility with numpy 2.0 and astropy 6.1. [#1130]

- Python
Published by rosteen almost 2 years ago

specutils - v1.13.0

New Features

  • Added SDSS-V file format readers. [#1107]

  • Switched from using numpy.correlate to scipy.signal.correlate in template_correlate and enabled passing through the method argument. [#1114]

  • Added DESI file format readers. [#1116]

  • Added truncate option for resampler and template correlation extrapolation treatment. [#1121]

Bug Fixes

  • SDSS reader now properly exposes the spPlate_identify and spPlate_loader functions. [#1097]

  • Masks now round-trip through tabular-fits reader/write. [#1104]

  • template_correlate no longer errors when used on a Spectrum1D that lacks an uncertainty array. [#1118]

  • with_spectral_unit has been changed to with_spectral_axis_unit and actually works now. [#1119]

  • Template correlation functions now truncate to overlapping region to avoid NaNs in normalization when spectrum and template have non-overlapping regions. [#1121]

  • Fixed numpy error when printing a Spectrum1D object. [#1123]

Other Changes and Additions

  • Made a couple small updates to developer docs. [#1110, #1112]

  • Updated the format of Spectrum1D.__str__ and Spectrum1D.__repr__. [#1123]

- Python
Published by rosteen about 2 years ago

specutils - v1.12.0

New Features

  • Registering a SpectrumList reader for a data loader is now optional. [#1068]

Bug Fixes

  • Fixed SDSS-I/II spSpec units. [#1066]

  • Addressed compatibility with ASDF 3.0 for JWST data. [#1079]

Other Changes and Additions

  • Corrected velocity_convention options in Spectrum1D docstring. [#1088]

- Python
Published by rosteen over 2 years ago

specutils - v1.11.0

New Features

  • wcs1d-fits loader now reads and writes boolean masks. [#1051]

Bug Fixes

  • Reimplementation of FluxConservingResampler. It is now faster and yields more accurate results. [#1060]

  • Fixed uncertainty calculations in centroid and gaussian width functions, also added an option to use an astropy.uncertainty distribution instead of the analytic solution. [#1057]

Other Changes and Additions

  • Drastically improved performance of region extraction. [#1048]

  • When creating a Spectrum1D object, it is enforced that the spectral axis is sorted and either strictly increasing or decreasing. [#1061]

- Python
Published by rosteen over 2 years ago

specutils - v1.10.0

New Features

  • wcs1d-fits loader now reads and writes celestial components of of multi-dimensional WCS, and handles mask and uncertainty attributes. [#1009]

  • Added support for reading from files with flux in counts. [#1018]

Bug Fixes

  • Fixed SpectralAxis.with_observer_stationary_relative_to to actually return the updated spectral axis. [#992]

  • Fixed region extraction for axes/regions in units of u.pix. [#1001]

  • tabular-fits writer now properly converts uncertainties to StdDevUncertainty if needed. [#1027]

  • Fix bug in fit_lines which gave unexpected outputs from the get_fit_info and ignore_units keyword arguments. [#1030]

  • Fix SNR calculations with both masks and regions. [#1044]

Other Changes and Additions

  • Added some basic documentation for Spectrum1D.write. [#1017]

  • JWST s2d and s3d readers now requires the optional dependency, stdatamodels, which user has to install separately. [#1038]

  • ASDF tag for Spectrum1D is now compatible with ASDF v3. As a result, minversion of asdf has been bumped to 2.14. Redundant ASDF schema for SpectralCoord is removed. It also now supports mask serialization. [#1042, #1053]

  • JWST X1D reader will no longer raise a UnitWarning for surface brightness error. [#1050]

- Python
Published by rosteen almost 3 years ago

specutils - v1.9.1

Bug Fixes

  • Add and subtract operations on Spectrum1D now allow for other operand's class to handle the arithmetic if that class has special handling. [#988]

- Python
Published by rosteen over 3 years ago

specutils - v1.9.0

Bug Fixes

  • Fix bug in fitting with weights if weights argument is set to 'unc'. [#979]
  • Fix bug in JWST reader which caused multi-extension files to load only the primary HDU [#982]
  • Implemented conversion to expected uncertainty type in a few functions that were still just assuming the uncertainty was the correct type. [#984]

Other Changes and Additions

  • Bumped astropy minimum version to 5.1. [#984]

- Python
Published by rosteen over 3 years ago

specutils - V1.8.1

Bug Fixes

  • Arithmetic with constants and Spectrum1D now works in either order. [#964]

  • Fixed uncertainty propagation in FluxConservingResampler. [#976]

- Python
Published by rosteen over 3 years ago

specutils - V1.8.0

New Features

  • Implemented uncertainty propagation for analysis functions. [#938, #939, #961, #968]

  • Model fitting with fit_lines now returns uncertainties from the underlying scipy fitter by default. [#962]

Bug Fixes

  • Fixed a bug with moment map orders greater than 1 not being able to handle cubes with non-square spatial dimensions. [#970]

  • Added a workaround for reading JWST IFUs with incorrect GWCS. [#973]

Other Changes and Additions

  • The Spectrum1D redshift and radialvelocity attribute setters were deprecated in favor of the more explicit ``setredshiftto,shiftspectrumto, and setradialvelocityto`` methods. [#946, #943]

  • estimate_line_parameters now calculates estimates based on the selected region, rather than the entire spectrum. [#962]

- Python
Published by rosteen over 3 years ago

specutils - V1.7.0

Bug Fixes

  • Fixed spectral_slab crashing when spectral_axis has unit of pixels and the bounds are also defined in the unit of pixels. [#926]

  • Fixed resulting spectral_axis containing NaN when a cube is passed into Spectrum1D without WCS nor spectral axis and the spatial-spatial dimension is smaller than spectral dimension. [#926]

  • Fixed WCS not accurately reflecting the updated spectral axis after slicing a Spectrum1D. [#918]

Other Changes and Additions

  • Logger usage is removed. Warnings now issued using Python warnings module. This enables more granular warning control for downstream packages. [#922]

- Python
Published by rosteen about 4 years ago

specutils - V1.6.0

New Features

  • Added collapse methods to Spectrum1D (mean, median, max, min, sum). [#904, #906]

  • SpectralRegion and Spectrum1D now allow descending (in wavelength space) as well as ascending spectral values. [#911]

- Python
Published by rosteen about 4 years ago

specutils - V1.5.0

New Features ^^^^^^^^^^^^

  • Convolution-based smoothing will now apply a 1D kernel to multi-dimensional fluxes by convolving along the spectral axis only, rather than raising an error. [#885]

  • template_comparison now handles astropy.nddata.Variance and astropy.nddata.InverseVariance uncertainties instead of assuming the uncertainty is standard deviation. [#899]

Bug Fixes ^^^^^^^^^

  • Speed up JWST s3d loader and reduce memory usage. [#874]

  • SpectralRegion can now handle pixels. [#886]

  • Fix bug where template_comparison would return the wrong chi2 value. [#872]

Other Changes and Additions ^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • fit_lines now makes use of unit support in astropy.modeling. [#891]

  • Spectrum1D.with_spectral_units now attempts to fall back on the spectral_axis units if units could not be retrieved from the WCS. [#892]

  • ndcube package pin updated to released version (2.0). [#897]

  • Minor changes for astropy 5.0 compatibility. [#895]

- Python
Published by rosteen over 4 years ago

specutils - V1.4.1

Minor bugfix release, see changelog.

- Python
Published by rosteen over 4 years ago

specutils - v1.4.0

See change log for list of new features and bug fixes.

- Python
Published by rosteen over 4 years ago

specutils - v1.3.1

See change log for list of new features and bug fixes.

- Python
Published by rosteen over 4 years ago

specutils - v1.3

See change log for list of new features and bug fixes.

- Python
Published by nmearl over 4 years ago

specutils - v1.2

See change log for list of new features and bug fixes.

- Python
Published by eteq almost 5 years ago

specutils - v1.1.1

See change log for list of new features and bug fixes.

- Python
Published by eteq almost 5 years ago

specutils - v1.1

See change log for list of new features and bug fixes.

- Python
Published by nmearl over 5 years ago

specutils - v1.0

- Python
Published by nmearl almost 6 years ago

specutils - v0.6

This release includes new features and bug fixes:

  • Stricter intiailizer for Spectrum1D
  • Correct handling of weights in line fitting
  • New redshift and radial velocity storage on Spectrum1D object
  • Spectral template matching including resampling
  • Error propagation in convolution smoothing
  • Sub-pixel precision for fwhm calculations
  • Array size checking in Spectrum1D objects
  • New spectral resampling functions
  • New IRAF data loaders
  • New FWZI calculation
  • Various bug fixes and documentation updates

- Python
Published by nmearl over 6 years ago

specutils - v0.5.2

This release contains several bug fixes, including some fixes to data loaders. Additionally, there is some doc string and pep8 clean up.

- Python
Published by SaOgaz about 7 years ago

specutils - v0.5.1

This release contains two bugs fixes. One to add pytest-remotedata for remote data tests. Second to fix a spectral region bug.

- Python
Published by SaOgaz about 7 years ago

specutils - v0.5

This release contains parameter estimation and line finding for fitting and loader functionality.

- Python
Published by brechmos-stsci about 7 years ago

specutils - v0.4

Specutils v0.4 release.

- Python
Published by nmearl over 7 years ago

specutils - v0.4.0b2

This is a pre-release of v0.4.0 to test the packaging and distribution infrastructure in preparation for the full release.

- Python
Published by nmearl over 7 years ago

specutils - v0.4.0b1

This is a pre-release of v0.4.0 to test the packaging and distribution infrastructure in preparation for the full release.

- Python
Published by nmearl over 7 years ago

specutils - v0.3.0

This release represents a rewrite of the specutils package. It involves a new method of dealing with spectral axes by associating it with a WCS by default if non are available, or wrapping an already existing WCS with a standard interface. A new reader and writer infrastructure has also been implemented to support ingesting and exporting myriad types of spectral data.

- Python
Published by nmearl almost 8 years ago

specutils - Version 0.2 release

- Python
Published by keflavich almost 10 years ago