Recent Releases of specutils
specutils - v2.1.0
New Features
Add new
flux_colkeyword 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 - 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.Spectrumnow 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]
Spectrum1Drenamed toSpectrum. [#1126]
Other Changes and Additions
Initializing a
Spectrumwith 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
Spectrumobjects 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
SpectrumCollectionto 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.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
Spectrumclass wrapper aroundSpectrum1Dto ease transition to new class name in 2.0. [#1229, #1230]Removed redshift and radial velocity setters in
Spectrum1Dthat 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
mwmVisitSDSS-VSpectrum1DandSpectrumListdefault loader being unable to load files containing only BOSS instrument spectra. [#1185]Fixed automatic format detection for SDSS-V
SpectrumListdefault loaders. [#1185]Fixed
SplineInterpolatedResamplerwhen 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
SpectrumListdefault loaders. [#1185]
- Python
Published by rosteen over 1 year ago
specutils - v1.18.0
New Features
- New
Spectrum1D.with_spectral_axis_and_flux_unitsmethod 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
LevMarLSQFitterwithTRFLSQFitteras the former is no longer recommended byastropy. [#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
windowinanalysis.fit_lines. [#1164]
Other Changes and Additions
Dropped support for python 3.9. [#1176]
utils.wcs_utils.refraction_index(and thusair_to_vacandvac_to_air) now defaults toMorton2000as the method instead ofGriesen2006. [#1169]
- Python
Published by rosteen over 1 year ago
specutils - v1.16.0
1.16.0 (2024-08-08)
Bug Fixes
Arithmetic operations on
Spectrum1Dobjects now preserve spectral axis values that were updated by setting redshift or radial velocity. [#1158]Ensure supported dtype is passed to
medfiltduring 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-fitsreader/writer to round-trip the header, by default in the primary HDU. The reader now reads the primary header intometa['header']; the old behaviour of reading the header from the data extension can be restored by setting the optionstore_data_header=True. The writer is taking a corresponding option for savingmeta['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
Spectrum1Dobjects now preserve spectral axis values that were updated by setting redshift or radial velocity. [#1158]Ensure supported dtype is passed to
medfiltduring 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-fitsreader/writer to round-trip the header, by default in the primary HDU. The reader now reads the primary header intometa['header']; the old behaviour of reading the header from the data extension can be restored by setting the optionstore_data_header=True. The writer is taking a corresponding option for savingmeta['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.13.0
New Features
Added SDSS-V file format readers. [#1107]
Switched from using
numpy.correlatetoscipy.signal.correlateintemplate_correlateand enabled passing through themethodargument. [#1114]Added DESI file format readers. [#1116]
Added
truncateoption for resampler and template correlation extrapolation treatment. [#1121]
Bug Fixes
SDSS reader now properly exposes the
spPlate_identifyandspPlate_loaderfunctions. [#1097]Masks now round-trip through tabular-fits reader/write. [#1104]
template_correlateno longer errors when used on aSpectrum1Dthat lacks anuncertaintyarray. [#1118]with_spectral_unithas been changed towith_spectral_axis_unitand 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
Spectrum1Dobject. [#1123]
Other Changes and Additions
Made a couple small updates to developer docs. [#1110, #1112]
Updated the format of
Spectrum1D.__str__andSpectrum1D.__repr__. [#1123]
- Python
Published by rosteen about 2 years ago
specutils - v1.12.0
New Features
- Registering a
SpectrumListreader 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_conventionoptions in Spectrum1D docstring. [#1088]
- Python
Published by rosteen over 2 years ago
specutils - v1.11.0
New Features
wcs1d-fitsloader 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.uncertaintydistribution 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-fitsloader now reads and writes celestial components of of multi-dimensional WCS, and handlesmaskanduncertaintyattributes. [#1009]Added support for reading from files with flux in counts. [#1018]
Bug Fixes
Fixed
SpectralAxis.with_observer_stationary_relative_toto actually return the updated spectral axis. [#992]Fixed region extraction for axes/regions in units of
u.pix. [#1001]tabular-fitswriter now properly converts uncertainties toStdDevUncertaintyif needed. [#1027]Fix bug in
fit_lineswhich gave unexpected outputs from theget_fit_infoandignore_unitskeyword 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
asdfhas been bumped to 2.14. Redundant ASDF schema forSpectralCoordis removed. It also now supportsmaskserialization. [#1042, #1053]JWST X1D reader will no longer raise a
UnitWarningfor surface brightness error. [#1050]
- Python
Published by rosteen almost 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.0
New Features
Implemented uncertainty propagation for analysis functions. [#938, #939, #961, #968]
Model fitting with
fit_linesnow 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, andsetradialvelocityto`` methods. [#946, #943]estimate_line_parametersnow 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_slabcrashing whenspectral_axishas unit of pixels and the bounds are also defined in the unit of pixels. [#926]Fixed resulting
spectral_axiscontaining NaN when a cube is passed intoSpectrum1Dwithout 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
warningsmodule. This enables more granular warning control for downstream packages. [#922]
- 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_comparisonnow handlesastropy.nddata.Varianceandastropy.nddata.InverseVarianceuncertainties instead of assuming the uncertainty is standard deviation. [#899]
Bug Fixes ^^^^^^^^^
Speed up JWST s3d loader and reduce memory usage. [#874]
SpectralRegioncan now handle pixels. [#886]Fix bug where
template_comparisonwould return the wrong chi2 value. [#872]
Other Changes and Additions ^^^^^^^^^^^^^^^^^^^^^^^^^^^
fit_linesnow makes use of unit support inastropy.modeling. [#891]Spectrum1D.with_spectral_unitsnow attempts to fall back on thespectral_axisunits if units could not be retrieved from the WCS. [#892]ndcubepackage 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.1
See change log for list of new features and bug fixes.
- Python
Published by nmearl over 5 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
Spectrum1Dobject - Spectral template matching including resampling
- Error propagation in convolution smoothing
- Sub-pixel precision for fwhm calculations
- Array size checking in
Spectrum1Dobjects - 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.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