Pypeit

Latest version: v1.15.0

Safety actively analyzes 613603 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

1.15.0

Installation Changes
--------------------

- PypeIt will no longer be available through ``conda-forge`` and must be installed via ``pip`` from PyPI. Users may still use ``conda`` for management of PypeIt's virtual environment.

Dependency Changes
------------------

- Removes use of deprecated ``pkg_resources``.
- Require version ``>=1.12`` for ``specutils``.
- Add ``psutil`` as a dependency for [dev] installs.
- Add ``pytest-qt`` as a dependency for [dev] installs.
- Require version ``>=0.3.1`` for ``linetools``

Functionality/Performance Improvements and Additions
----------------------------------------------------

- Started the development of instrument-specific scattered light removal. In this release, we only model KCWI/KCRM scattered light.
- Turned on usage of the use_2dmodel_mask parameter for echelle spectrographs
- Added support for Keck/KCRM RL data reduction.
- Allow one to turn off reinit of reduce_bpm in global_skysub and made this the default for the final pass
- Allow pypeit Spectrum1D loaders to circumvent the requirement that reduced spectrum have monotonically increasing wavelength data. Non-monotonic wavelength data usually indicate a problem with the data reduction, but this at least lets users ingest the spectrum.
- Add a sensible error message to the pypeit Spectrum1D loaders in the event a user inadvertently tries to use Spectrum1D instead of SpectrumList for a ``spec1d`` file.
- Enabled interpolation and extrapolation of missing echelle orders. This is currently only used for Keck/HIRES, but the code is general.
- Allow the specification of wavelength limits on the flexure cross-correlation against a sky template to limit the effect of unconstrained wavelength solutions at the ends of the spectrum.
- Change ``overscan_method = 'polynomial'`` to ``overscan_method = 'chebyshev'`` to reflect the *type* of polynomial being fit. Both names point to the same code, but the name ``'polynomial'`` is deprecated and will be removed in the future.
- Introduced PCA method for telluric corrections
- Added slicer subpixel sampling for DataCube generation
- Added ``trace_rms_tol`` parameter for edge tracing, which helps guard against poorly constrained traces for spectrally truncated slits/orders.

Instrument-specific Updates
---------------------------

- Add support for the R4K detector for MDM OSMOS
- Updated archival sensitivity functions for DEIMOS 1200G, 800G, and 600ZD gratings.
- Keck/KCWI and Keck/KCRM: Turned on polynomial correction for sky subtraction.
- We now support the reduction of VLT/FORS2 data taken in MOS mode.
- Fixed fluxing file format in the ``Keck-DEIMOS HOWTO`` documentation.
- LDT/DeVeny: default parameter & wavelength template updates, add instrument- specific line lists, use SCITARG for target name if none entered in the LOUI.
- Added support for NTT/EFOSC2 Gr4
- Keck/KCWI: FeAr are used for wavelength calibration, while the ThAr lamp is used to determine the wavelength tilt.
- Improvement to the wavelength calibration for Keck/HIRES. New arxiv templates added. Templates available for orders 35-117.
- Various updates to default parameters for Keck/HIRES.
- Added ``Keck-LRIS HOWTO`` documentation.

Script Changes
--------------

- When making datacubes, the user can select a separate frame to use for the sky subtraction. In this case, it is the processed data that will be used for sky subtraction (akin to nodding).
- Allow a list of files to be passed to ``pypeit_chk_wavecalib``.
- A new script has been written (``chk_scattlight``) to check the generation of the scattered light calibration frame model.
- Added the ``pypeit_edge_inspector`` script, which allows users to edit the edge traces by-hand.
- ``pypeit_parse_slits`` now prints also the echelle order number, if applicable.
- Column ``SpatID`` in the output of ``pypeit_chk_wavecalib`` changed to ``SpatOrderID`` and now show the echelle order number, if applicable, otherwise the slit number.
- ``pypeit_chk_edges`` now load SlitTraceSet (if available) to be able to overlay the echelle order numbers.
- Added a new GUI for creating and editing PypeIt input files: ``pypeit_setup_gui``
- Added a -G option to ``pypeit_setup`` and ``pypeit_obslog`` that will start the new Setup GUI.
- Improvements and bug fixes for how the mask is displayed by ``pypeit_show_2dspec``, and added ``pypeit_print_bpm`` to allow for a quick report on the flags associated with a given bit value.

Datamodel Changes
-----------------

- A wavelength array is now stored for DataCube()
- WaveCalib and WaveFit datacontainers now store information about echelle order number, if applicable.
- Change to how SlitTraceSet datamodel stores and checks bit flag values.

Under-the-hood Improvements
---------------------------

- The CoAdd3D code has been refactored into a series of core modules and PypeIt-specific routines.
- Polynomial overscan fitting now uses the ``numpy.polynomial.Chebyshev`` class instead of the deprecated ``numpy.polyfit()`` function.
- Improvements to echelle wavelength calibration. Code changes in: ``pypeit/core/wavecal/wvutils.py``, ``pypeit/core/wavecal/echelle.py``, ``pypeit/core/wavecal/autoid.py``, ``pypeit/wavecalib.py``.
- Fixed some failure modes when matching measured order positions to expected positions for fixed-format echelle spectrographs.
- More extensive propagation of turning off datamodel version checking (using ``try_old`` and ``chk_version``) throughout the code.

Bug Fixes
---------

- Fixed bug associated with finding more than one file with the same name (but presumably different extensions).
- Fixed differential atmospheric refraction (DAR) correction bug. This bug affected datacubes combined using CoAdd3D(). Previously, the DAR was being computed, applied, and then later overwritten. The new routine is faster and more accurate.
- Fixed a bug associated with an incorrect date for the transition to the Mark4 detector for Keck/LRIS RED.
- Fixed a bug with the ``pypeit_identify`` script when using echelle data. Previously, the sigdetect parameter was a list of all orders, instead of a single value.
- Fixed a bug with the GUI ``pypeit_skysub_regions``. Previously, the calib header information was not included, and this led to a calibration error.
- Corrected the binning scaling for BOXCAR_RADIUS in the object-finding algorithm. Previously, the platescale was multiplied by the *spectral* binning and not the *spatial* binning.
- Aligned the documentation and parameters with the code for polynomial overscan subtraction. Docs/params specified 3 values to be passed in ``overscan_par`` for ``overscan_method = 'polynomial'``, but the code only uses one (poly order).
- Fixed duplicate object bug reported in Issue 1690.

1.14.0

Dependency Changes
------------------

- Main dependency bumps: numpy>=1.22, matplotlib>=3.7, ginga>=4.1.1,
qtpy>=2.0.1

Functionality/Performance Improvements and Additions
----------------------------------------------------

- Improvements to wavelength grids and masking in coadd routines.
- Refactored coadding routines to work with lists to support coadding
data from different setups.
- Sensitivity function models can now be computed relative to the
flat-field spectrum.
- Improvements in 2D coaddition

- Fix a bug in ``pypeit_setup_coadd2d`` for the output file name of
the ``.coadd2d`` file
- Added possibility to specify more than one Science folder in
``pypeit_setup_coadd2d``
- Now ``only_slits`` parameter in ``pypeit_coadd_2dspec`` includes
the detector number (similar to ``slitspatnum``)
- Added ``exclude_slits`` parameter in ``pypeit_coadd_2dspec`` to
exclude specific slits
- Fix wrong RA and Dec for 2D coadded serendips

- Allow wavelength calibrations for specific slits/orders to be redone
(instead of adopting the value from a processed calibration frame);
see new ``redo_slits`` parameter.

Instrument-specific Updates
---------------------------

- Adds/Improves support for Gemini/GNIRS (IFU), Keck/KCRM, Keck/ESI,
MDM/Modspec, Keck/HIRES, JWST
- HIRES wavelength solution improvements galore
- Improvements for Keck/LRIS

- Generated wavelength templates for all the LRIS grism & grating
- Added FeAr line list
- Improved calibration association and frame typing
- Improved and added documentation
- Changes to ``metadata.py`` including commenting out, in the pypeit
file, files that have frametype None (this prevent ``run_pypeit``
to crash)
- Added a function ``check_spectrograph()`` (currently only defined
for LRIS), that checks (during ``pypeit_setup``) if the selected
spectrograph is the corrected one for the data used.

Script Changes
--------------

- Added a script to convert a wavelength solution into something that
can be placed in the reid archive.
- Store user-generated wavelength solution in pypeit cache

Datamodel Changes
-----------------

- Changed calibration frame naming as an attempt to avoid very long
names for files with many calibration groups. Sequential numbers are
reduced to a range; e.g., ``'0-1-2-3-4'`` becomes ``'0+4'`` and
``'3-5-6-10-11-12-15-18-19'`` becomes ``'3-5+6-10+12-15-18+19'``
- Instrumental FWHM map is calculated and output in ``Calibrations`` and
``spec1d`` files.

Under-the-hood Improvements
---------------------------

- Change how masking is dealt with in extraction to fix a bug in how
masks were being treated for echelle data
- Refactored function that loads wavelength calibration line lists

Bug Fixes
---------

- Hotfix for GTC/OSIRIS lamp list
- Hotfix for Arc1D stats annotations on the QA
- Hotfix for metadata:

- correctly set ``config_independent_frames`` when multiple
configurations are being setup
- support lists in ``config_independent_frames``

- Hotfix for rebin (speed-up and conserves flux)
- Hotfix for skysub regions GUI that used ``np.bool``
- Hotfix to stop pypeit_setup from crashing on data from lbt_luci1,
lbt_luci2, magellan_fire, magellan_fire_long, p200_tspec, or
vlt_sinfoni.
- Hotfix to set BPM for each type of calibration file.
- Fixed a bug in echelle coadding where the wrong coadded spectra were
being used in final stacks.
- Fix a bug in ``spectrograph.select_detectors``, where a list of
``slitspatnum`` could not be used.

1.13.0

Functionality/Performance Improvements and Additions
----------------------------------------------------

- Allow user control of the local sky subtraction window
- Implemented a resample algorithm when generating datacubes
- Sensitivity function masking and output updates
- Improve speed in ginga visualization of traces and added
`pypeit_chk_tilts`. Note that this script uses an update
of the tilts datamodel, so it will not work on older reductions.
- Fixed a bug in the `variance_model` calculation for combined images.

Datamodel Changes
-----------------

- Removed use of the term "master", renamed to calibration frames/files.
Default output directory for calibration frames is now ``Calibrations``.
Calibration frames renamed from, e.g., ``MasterArc*`` to ``Arc*``.
- Names of associated calibration frames now written to ``spec2d`` file headers.

Dependency Changes
------------------

- Deprecate support for python 3.8 with PypeIt, allow python 3.11
- Make pypeit_show_2dspec (somewhat) backwards compatible.
- Added the option to disable strict version checking for 1d coadds.
- Start to deprecate use of ``os.path`` in favor of ``pathlib``

Script Changes
--------------

- In PypeIt files, the ``'calib'`` column is now always added to the pypeit
file, regardless of whether or not you also request the ``'comb_id'`` and
``'bkg_id'`` columns.
- In PypeIt files, the calibration group numbers can now be anything, as long as
there are no more than 63 unique integers.
- Deprecated ``pypeit_parse_calib_id`` script, but improved the ``.calib`` file
provided by ``pypeit_setup``. The ``.calib`` file is now always written, and
provides a direct association between input raw files and output calibration
files. Discussed in new docs.
- Added coadd2d setup script
- Added the possibility to use dither offsets saved in the header of the science
frames for coadding 2D spectra (``dithoff`` must be part of the spectrograph
metadata).
- Major quicklook updates; see documentation. ql_multislit.py deprecated.

Instrument-specific Updates
---------------------------

- Updates to reduction parameters for LDT/DeVeny

Hotfixes
--------

- Hotfix to docs to ensure ``pypeit_loaders`` api doc is generated
- Hotfix for KCWI when using alignment (aka ContBars) frames for the astrometric correction.

1.12.2

Instrument-specific Updates
---------------------------

- Include Gemini/GMOS mask design slurping and usage documentation
- New Gemini/GMOS wavelength solution
- Added NIRES tutorial doc
- reid_arxiv templates for all MMTO Blue Channel gratings and for MMTO Binospec G600 and G1000

Usage Updates
-------------

- Added new specutils interface

Datamodel Updates
-----------------

- Include the S/N of extracted spectra in the SpecObj datamodel

Hotfixes
--------

- Various bug fixes and enhancements to mmt_bluechannel and mmt_binospec support
- Fixed bugs when only performing calibrations and (1) calib groups are all set
to 'all' or (2) anything other than '0'.

1.12.1

Instrument-specific Updates
---------------------------

- Implemented the upgraded GTC/OSIRIS+
- Added support for more NOT/ALFOSC grisms as well as NOT recommended standards
- Implemented the SOAR/Goodman (blue) M1 only

Minor Updates
-------------

- Modify install notes to allow python 3.10; python3.8 not longer explicitly supported
- Allow for bad orders during extraction without crashing

Hotfixes
--------

- Specify sphinx versions to correctly work with sphinx_rtd_theme
- Fixed bug that caused crash of sensfunc routines using telluric grids in offline processing
- Fixed error when showing flats in Ginga when the fine correction is not performed
- Fixed keymap error when displaying GUIs
- New docs on OneSpec

1.11.0

Significant Updates
-------------------

- Add ability for users to specify custom arc line lists for wavelength
calibration, saved in the user's PypeIt cache
- Allow for the specification of a specific UVIS extinction file for
sensitivity function computation and flux calibration.
- Now more than one setup can be assigned to the same calibration frame,
allowing to associate the same calibration frames to different
science/standard frames, if desired.
- Refactor and general update of documentation

Instrument-specific Updates
---------------------------

- Correctly associate calibrations with science data for MOSFIRE
longslit and long2pos masks.
- Automatically assign `comb_id` and `bkg_id` to MOSFIRE science data,
using the information on the dither pattern.

Minor
-----

- Added Keck/NIRES frame-typing development doc.
- Allow verbosity specification for various post-processing command-line
scripts.

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.