Skip to content

v1.4.0: parent 080b288fd29ec64810432bf9127c1a34a4f0ed68 (#220)

Compare
Choose a tag to compare
@cshanahan1 cshanahan1 released this 29 May 20:09
· 43 commits to main since this release
388adb0

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

  • Added 'interpolated_profile' option for HorneExtract. If The interpolated_profile option
    is used, the image will be sampled in various wavelength bins (set by
    n_bins_interpolated_profile), averaged in those bins, and samples are then
    interpolated between (linear by default, interpolation degree can be set with
    the interp_degree_interpolated_profile 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
    peak_method='max' these were set to 0.0, and for peak_method='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]