----------------
- Compatibility with the WFM-AO mode.
- Use `Scikit-learn`_'s implementation for the PCA instead of the custom one.
This solved an issue with spatial variations introduced by zap. Also it is
much faster than the previous implementation. A drawback however is that it is
no more possible to save the SVD file.
- Use only one *sky segment* by default, which means that the cube is
no more split on the wavelength axis. Originally zap used 11 segments, whose
goals were to have coherent groups of sky emission lines, with a smaller
number of eigenvalues per segment. And it also allowed to parallelize the
computation. But, the segments were also responsible for continuum
oscillations, and made the choice of the number of eigenvalues per segment
very difficult and very sensitive. With only one segment the performance of
the sky subtraction is much better, thanks to the higher correlation between
sky lines on the whole wavelength range.
So using only one segment allows to greatly reduce the risk of killing an
emission line with the new PCA. It is still possible to modify the segments if
needed::
from zap.zap import SKYSEG
SKYSEG[:] = [0, 5400, ..., 10000]
- New continuum filter type with a polynomial fit (``cftype='fit'``). Must be
used with care though, as the fit can easily go out of control in the red part
of the spectrum.
- Change the default median filter width to 300, for the ``median`` and
``weight`` continuum filters. The values used previously, 100 and 50, were too
small which explains the background oscillations in the red part of the
spectra.
- New parameter (``ncpu``) to set the number of used CPU.
- Remove the possibility to save the SVD result in a FITS file. This is because
of the change of PCA implementation. It is still possible to pass the SVD
computed by ``SVDoutput`` to ``process``, passing the in-memory object
directly without saving it to disk.
- Speed improvements, mostly thanks to the new PCA implementation.
- New parameter to save the explained variance curves.