------------------
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]