Recent Releases of specreduce

specreduce - v1.6.0

Bug Fixes

  • When all-zero bin encountered in fittrace with peakmethod=gaussian, the bin peak will be set to NaN in this case to work better with DogBoxLSQFitter. [#257]
  • Reverted the changes to background.Background.bgk_spectrum introduced in 1.5.0 [#266].

Other changes

  • Compatibility with specutils 2.0. [#260]
  • Set Python 3.11 as the minimum supported Python version and added test support for Python 3.13. [#271]
  • Changed the statistic parameter in utils.measure_cross_dispersion_profile to accept either median or average instead of median or mean. [#258]

- Jupyter Notebook
Published by hpparvi 8 months ago

specreduce - v1.5.1

1.5.1 (2024-03-08)

Bug Fixes

  • Changed Horne extraction to behave as before when using an interpolated spatial profile and not explicitly setting bkgrd_prof to None. The changed default behavior in 1.5.0 caused problems in codes using specreduce.

- Jupyter Notebook
Published by hpparvi 12 months ago

specreduce - v1.5.0

New Features

  • Added the mask_treatment parameter to Background, Trace, and Boxcar Extract operations to handle non-finite data and boolean masks. Available options are apply, ignore, propagate, zero_fill, nan_fill, apply_mask_only, or apply_nan_only. [#216, #254]

  • Modified background.Background.bgk_spectrum to allow the user to select the statistic used for background estimation between median or average. [#253]

  • Modified extract.BoxcarExtract to ignore non-finite pixels when mask_treatment is set to apply; otherwise, non-finite values are propagated. Boxcar extraction is now carried out as a weighed sum over the window. When no non-finite values are present, the extracted spectra remain unchanged from the previous behaviour.

Bug Fixes

  • Fixed Astropy v7.0 incompatibility bug in tracing.FitTrace: changed to use astropy.modeling.fitting.DogBoxLSQFitter when fitting a Gaussian peak model instead of astropy.modeling.fitting.LevMarLSQFitter that may be deprecated in the future. Also changed to use fitting.LMLSQFitter instead of fitting.LevMarLSQFitter when fitting a generic nonlinear trace model. [#229]

Other changes

  • Changed tracing.FitTrace to use astropy.modeling.fitting.LinearLSQFitter if the trace model is linear.

New Contributors

  • @hpparvi made their first contribution in https://github.com/astropy/specreduce/pull/231
  • @gibsongreen made their first contribution in https://github.com/astropy/specreduce/pull/253

Full Changelog: https://github.com/astropy/specreduce/compare/v1.4.1...v1.5.0

- Jupyter Notebook
Published by hpparvi 12 months ago

specreduce - v1.4.1

Bug Fixes Fix bug where Background one sided / two sided was not correctly assigning units to data. [#221]

- Jupyter Notebook
Published by cshanahan1 over 1 year ago

specreduce -

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

  • Added 'interpolatedprofile' option for HorneExtract. If The ``interpolatedprofileoption is used, the image will be sampled in various wavelength bins (set by nbinsinterpolatedprofile), averaged in those bins, and samples are then interpolated between (linear by default, interpolation degree can be set with theinterpdegreeinterpolatedprofile`` parameter) to generate a continuously varying spatial profile that can be evaluated at any wavelength. [#173]

  • Added a function to measure a cross-dispersion profile. A profile can be obtained at a single pixel/wavelength, or an average profile can be obtained from a range/set of wavelengths. [#214]

API Changes ^^^^^^^^^^^

  • Fit residuals exposed for wavelength calibration in WavelengthCalibration1D.fit_residuals. [#446]

Bug Fixes ^^^^^^^^^

  • Output 1D spectra from Background no longer include NaNs. Output 1D spectra from BoxcarExtract no longer include NaNs when none are present in the extraction window. NaNs in the window will still propagate to BoxcarExtract's extracted 1D spectrum. [#159]

  • Backgrounds using median statistic properly ignore zero-weighted pixels. [#159]

  • HorneExtract now accepts 'None' as a vaild option for bkgrd_prof. [#171]

  • Fix in FitTrace to set fully-masked column bin peaks to NaN. Previously, for peakmethod='max' these were set to 0.0, and for peakmethod='centroid' they were set to the number of rows in the image, biasing the final fit to all bin peaks. Previously for Gaussian, the entire fit failed. [#205, #206]

  • Fixed input of traces in Background. Added a condition to 'FlatTrace' that trace position must be a positive number. [#211]

Other changes ^^^^^^^^^^^^^

  • The following packages are now optional dependencies because they are not required for core functionality: matplotlib, photutils, synphot. To install them anyway, use the [all] specifier when you install specreduce; e.g.: pip install specreduce[all] [#202]

- Jupyter Notebook
Published by cshanahan1 over 1 year ago

specreduce - v1.3.0

New Features

  • The new FitTrace class (see "API Changes" below) introduces the ability to take a polynomial trace of an image [#128]

API Changes

  • Renamed KosmosTrace as FitTrace, a conglomerate class for traces that are fit to images instead of predetermined [#128]

  • The default number of bins for FitTrace is now its associated image's number of dispersion pixels instead of 20. Its default peak_method is now 'max' [#128]

  • All operations now accept Spectrum1D and Quantity-type images. All accepted image types are now processed internally as Spectrum1D objects [#144, #154]

  • All operations' image attributes are now coerced Spectrum1D objects [#144, #154]

  • HorneExtract can now handle non-flat traces [#148]

Bug Fixes

  • Fixed passing a single Trace object to Background [#146]

  • Moved away from creating image masks with numpy's mask_invalid() function after change to upstream API. This will make specreduce be compatible with numpy 1.24 or later. [#155]


What's Changed

  • BUG: fix passing single Trace object to Background by @kecnry in https://github.com/astropy/specreduce/pull/146
  • Introducing polynomial tracing by @ojustino in https://github.com/astropy/specreduce/pull/128
  • Better handled Spectrum1D images across classes by @ojustino in https://github.com/astropy/specreduce/pull/144
  • Add summary of capabilities/user stories to docs index page by @rosteen in https://github.com/astropy/specreduce/pull/149
  • Fix changelog formatting by @larrybradley in https://github.com/astropy/specreduce/pull/150
  • Introducing spectral extractions for non-flat traces by @bmorris3 in https://github.com/astropy/specreduce/pull/148
  • Update image handling in notebooks by @ojustino in https://github.com/astropy/specreduce/pull/154
  • Use simpler checks for invalid values by @ojustino in https://github.com/astropy/specreduce/pull/155
  • Prepare changelog for release v1.3.0 by @ojustino in https://github.com/astropy/specreduce/pull/156

New Contributors

  • @rosteen made their first contribution in https://github.com/astropy/specreduce/pull/149
  • @larrybradley made their first contribution in https://github.com/astropy/specreduce/pull/150
  • @bmorris3 made their first contribution in https://github.com/astropy/specreduce/pull/148

Full Changelog: https://github.com/astropy/specreduce/compare/v1.2.0...v1.3.0

- Jupyter Notebook
Published by ojustino about 3 years ago

specreduce - v1.2.0

New Features

  • Background has new methods for exposing the 1D spectrum of the background or background-subtracted regions [#143]

Bug Fixes

  • Improved errors/warnings when background region extends beyond bounds of image [#127]
  • Fixed boxcar weighting bug that often resulted in peak pixels having weight above 1 and erroneously triggered overlapping background errors [#125]
  • Fixed boxcar weighting to handle zero width and edge of image cases [#141]

What's Changed

  • DOC: No need to automodapi the top-level package by @pllim in https://github.com/astropy/specreduce/pull/135
  • MNT: Remove dead code from APE 17 by @pllim in https://github.com/astropy/specreduce/pull/136
  • MNT: Remove version template by @pllim in https://github.com/astropy/specreduce/pull/134
  • logic to detect background regions extending beyond image limits by @kecnry in https://github.com/astropy/specreduce/pull/127
  • Found cause of background "overlap" error by @ojustino in https://github.com/astropy/specreduce/pull/125
  • Enable nitpicky mode for sphinx and get docs to build cleanly by @tepickering in https://github.com/astropy/specreduce/pull/140
  • basic quickstart examples for spectral extraction by @kecnry in https://github.com/astropy/specreduce/pull/142
  • Background.bkgspectrum and subspectrum by @kecnry in https://github.com/astropy/specreduce/pull/143
  • Rewrite boxcar weights logic by @kecnry in https://github.com/astropy/specreduce/pull/141
  • Prepare changelog for release v1.2.0 by @ojustino in https://github.com/astropy/specreduce/pull/145

Full Changelog: https://github.com/astropy/specreduce/compare/v1.1.0...v1.2.0

- Jupyter Notebook
Published by ojustino over 3 years ago

specreduce - v1.1.0

New Features

  • peak_method as an optional argument to KosmosTrace [#115]

API Changes

  • HorneExtract no longer requires mask and unit arguments [#105]
  • BoxcarExtract and HorneExtract now accept parameters (and require the image and trace) at initialization, and allow overriding any input parameters when calling [#117]

Bug Fixes

  • Corrected the default mask created in HorneExtract/OptimalExtract when a user doesn't specify one and gives their image as a numpy array [#118]

What's Changed

  • Bump notebook from 6.4.1 to 6.4.10 in /notebooksandbox/jwstboxcar by @dependabot in https://github.com/astropy/specreduce/pull/100
  • Made non-required Horne arguments truly optional by @ojustino in https://github.com/astropy/specreduce/pull/105
  • Testing updates and post-release fixes by @tepickering in https://github.com/astropy/specreduce/pull/107
  • Bump notebook from 6.4.10 to 6.4.12 in /notebooksandbox/jwstboxcar by @dependabot in https://github.com/astropy/specreduce/pull/112
  • Improved api docs by @kecnry in https://github.com/astropy/specreduce/pull/111
  • Add citation and Zenodo badge by @tepickering in https://github.com/astropy/specreduce/pull/110
  • Bump numpy from 1.21.0 to 1.22.0 in /notebooksandbox/jwstboxcar by @dependabot in https://github.com/astropy/specreduce/pull/113
  • HorneExtract: require variance array to be fully positive by @kecnry in https://github.com/astropy/specreduce/pull/114
  • Kosmos trace peak_method options by @kecnry in https://github.com/astropy/specreduce/pull/115
  • Correct license path in README by @ojustino in https://github.com/astropy/specreduce/pull/119
  • Update citation file by @ojustino in https://github.com/astropy/specreduce/pull/120
  • changelog entry for (already merged) KosmosTrace peak_method by @kecnry in https://github.com/astropy/specreduce/pull/122
  • extract: more consistent API compared to other steps by @kecnry in https://github.com/astropy/specreduce/pull/117
  • Correct default mask for array images in HorneExtract by @ojustino in https://github.com/astropy/specreduce/pull/118
  • Added changelog entry for HorneExtract API change by @ojustino in https://github.com/astropy/specreduce/pull/123
  • Preparation for release v1.1.0 by @ojustino in https://github.com/astropy/specreduce/pull/124

Full Changelog: https://github.com/astropy/specreduce/compare/v1.0.0...v1.1.0

- Jupyter Notebook
Published by ojustino over 3 years ago

specreduce - First Official Release

This is the first official release for specreduce.

New Features

  • Added Trace classes
  • Added basic synthetic data routines
  • Added BoxcarExtraction
  • Added HorneExtraction, a.k.a. OptimalExtraction
  • Added basic Background subtraction

Bug Fixes

  • Update codecov-action to v2
  • Change default branch from master to main
  • Test fixes; bump CI to python 3.8 and 3.9 and deprecate support for 3.7

What's Changed

  • Update template files by @tepickering in https://github.com/astropy/specreduce/pull/1
  • copied README format from specutils, but forgot to make it .rst by @tepickering in https://github.com/astropy/specreduce/pull/2
  • WIP: Add some example sketches of spectroscopic DR sequences by @jehturner in https://github.com/astropy/specreduce/pull/3
  • Add initial batch line lists by @tepickering in https://github.com/astropy/specreduce/pull/4
  • Added more NIST lists (.Astro Hack Day) by @lprichard in https://github.com/astropy/specreduce/pull/33
  • Adding table parsing utils for NIST master table (dotAstronomy hack day) by @mfixstsci in https://github.com/astropy/specreduce/pull/32
  • Adding script to clean and combine line lists plus table (dotAstronomy hack day) by @mfixstsci in https://github.com/astropy/specreduce/pull/31
  • Set read the docs by @simontorres in https://github.com/astropy/specreduce/pull/35
  • Update travis config by @tepickering in https://github.com/astropy/specreduce/pull/36
  • First test by @crawfordsm in https://github.com/astropy/specreduce/pull/38
  • Add standard star data to specreduce via "onedstds" directory by @kakirastern in https://github.com/astropy/specreduce/pull/43
  • Implement APE 17 by @tepickering in https://github.com/astropy/specreduce/pull/47
  • More spectrophotometric standard star data by @tepickering in https://github.com/astropy/specreduce/pull/49
  • Remove Travis CI and stick with Github Actions by @tepickering in https://github.com/astropy/specreduce/pull/50
  • Complete move of reference data to specreduce_data package by @tepickering in https://github.com/astropy/specreduce/pull/58
  • Make classes for atmospheric extinction data by @tepickering in https://github.com/astropy/specreduce/pull/59
  • Add functions to load spectrophotometric standard star data by @tepickering in https://github.com/astropy/specreduce/pull/62
  • Operation class by @crawfordsm in https://github.com/astropy/specreduce/pull/53
  • Fix SpecreduceOperation class by @tepickering in https://github.com/astropy/specreduce/pull/63
  • Add draft of flux calibration functionality to specreduce by @kakirastern in https://github.com/astropy/specreduce/pull/45
  • MNT: Replace master with main by @pllim in https://github.com/astropy/specreduce/pull/66
  • make matplotlib a default requirement by @tepickering in https://github.com/astropy/specreduce/pull/67
  • Add jradavenport notebooks by @eteq in https://github.com/astropy/specreduce/pull/69
  • MNT: Remove unused astropy config code by @pllim in https://github.com/astropy/specreduce/pull/68
  • Fix workflow CI and bump up python versions being tested by @tepickering in https://github.com/astropy/specreduce/pull/72
  • MNT: Update codecov-action version to v2 by @pllim in https://github.com/astropy/specreduce/pull/70
  • Synthetic 2D data by @tepickering in https://github.com/astropy/specreduce/pull/74
  • Bug fixes in boxcar extraction code by @ibusko in https://github.com/astropy/specreduce/pull/73
  • Initial tracing implementation by @tepickering in https://github.com/astropy/specreduce/pull/75
  • Remove .ipynb file that was actually a tar file containing ipynb files by @tepickering in https://github.com/astropy/specreduce/pull/77
  • Remove Cython Pin: Building on Windows by @duytnguyendtn in https://github.com/astropy/specreduce/pull/78
  • Introduce JWST Boxcar Development Notebook from Ivo Busko by @duytnguyendtn in https://github.com/astropy/specreduce/pull/79
  • Bump notebook from 6.1.5 to 6.4.1 in /notebooksandbox/jwstboxcar by @dependabot in https://github.com/astropy/specreduce/pull/80
  • Bump numpy from 1.19.2 to 1.21.0 in /notebooksandbox/jwstboxcar by @dependabot in https://github.com/astropy/specreduce/pull/81
  • Boxcar extraction using Trace class by @ibusko in https://github.com/astropy/specreduce/pull/82
  • Add GitHub Actions workflow to automatically publish to PyPI by @tepickering in https://github.com/astropy/specreduce/pull/90
  • Added kosmos trace algorithm by @ojustino in https://github.com/astropy/specreduce/pull/85
  • MNT: Fix publish workflow by @pllim in https://github.com/astropy/specreduce/pull/92
  • Introducing Horne extraction by @ojustino in https://github.com/astropy/specreduce/pull/84
  • Basic (boxcar) background subtraction by @kecnry in https://github.com/astropy/specreduce/pull/86
  • Included KosmosTrace in optimalextractVLT.ipynb by @ojustino in https://github.com/astropy/specreduce/pull/97

New Contributors

  • @jehturner made their first contribution in https://github.com/astropy/specreduce/pull/3
  • @lprichard made their first contribution in https://github.com/astropy/specreduce/pull/33
  • @mfixstsci made their first contribution in https://github.com/astropy/specreduce/pull/32
  • @simontorres made their first contribution in https://github.com/astropy/specreduce/pull/35
  • @crawfordsm made their first contribution in https://github.com/astropy/specreduce/pull/38
  • @kakirastern made their first contribution in https://github.com/astropy/specreduce/pull/43
  • @pllim made their first contribution in https://github.com/astropy/specreduce/pull/66
  • @eteq made their first contribution in https://github.com/astropy/specreduce/pull/69
  • @ibusko made their first contribution in https://github.com/astropy/specreduce/pull/73
  • @duytnguyendtn made their first contribution in https://github.com/astropy/specreduce/pull/78
  • @kecnry made their first contribution in https://github.com/astropy/specreduce/pull/86

Full Changelog: https://github.com/astropy/specreduce/commits/v1.0.0

- Jupyter Notebook
Published by tepickering over 3 years ago