Skip to content

Version 1.17.0

Compare
Choose a tag to compare
@kbwestfall kbwestfall released this 08 Nov 20:22
· 8 commits to release since this release
fd0074f

Installation Changes

  • Significant expansion of PypeIt's use of the cache system; see
    :ref:data_installation. Important changes include that most cached
    files are now version dependent. When upgrading to new versions of
    PypeIt, users should delete their cache and start fresh.

Dependency Changes

  • Support added for numpy>=2.0.0; numpy<=2.0.0 should still be supported
  • Deprecated support for python 3.10
  • General update to dependencies to be roughly consistent with release
    of python 3.11

Functionality/Performance Improvements and Additions

  • Added the max_overlap parameter, which limits the set of new order
    traces added, to compensate for orders missed during automated
    edge-tracing, to those that have less than a given fractional overlap
    with adjacent orders.
  • Added the order_fitrej and order_outlier parameters used to
    set the sigma-clipping threshold used when fitting Legendre functions
    to the order widths and gaps.
  • Added the possibility to decide if the extracted standard star
    spectrum should be used as a crutch for tracing the object in the
    science frame (before it was done as default). This is done by
    setting the parameter use_std_trace in FindObjPar.
  • Now PypeIt can handle the case where "Standard star trace does not
    match the number of orders in the echelle data" both in run_pypeit
    and in pypeit_coadd_1dspec.
  • Added the functionality to use slitless flats to create pixelflats.
    Note: new frametype slitless_pixflat is added to the PypeIt
    frametype list.
  • The created pixelflats are stored in the reduction directory and in
    the PypeIt cache directory data/pixelflats.
  • Added a functionality that allows, when multiple frames are combined,
    to scale each frame to have the same mean value before combining. To
    use this functionality, the new parameter scale_mean should be set
    to True.
  • Added the possibility to use the parameter fwhm_fromlines also for
    the tilts calibration.

Instrument-specific Updates

  • Improved LRIS frame typing, including the typing of slitless flats and
    sky flats.

  • Improved HIRES frame typing and configuration setup.

  • Added support for Keck/KCWI BH3 grating configuration.

  • Updated the requirements of a spectral flip for KCWI (blue) data. If
    all amplifiers are used, the data will not be flipped in the spectral
    direction. Otherwise, the data will be flipped.

  • Added support for the (decommissioned) AAT/UHRF instrument

  • Updated X-Shooter detector gain and read noise to come from header,
    and updated plate scales to the most recent values from the manual.
    Detailed changes are:

    • NIR arm:

      • Platescale updated from 0.197 to 0.245 arcsec/pixel
      • Dark current updated from 0. to 72. e-/pixel/hr
      • Gain updated from 2.12 to 2.29 e-/DN
    • VIS arm:

      • Platescale updated from an order-dependent value, to being
        0.154 arcsec/pixel for all orders
    • UVB arm:

      • Platescale updated from an order-dependent value, to being
        0.164 arcsec/pixel for all orders
  • Add new P200/DBSP reid_arxiv template for 1200/7100 with D55 dichroic

  • Add B480 as a supported option for Gemini-S/GMOS

Script Changes

  • Modifications to the cache-related :ref:install_scripts to
    accommodate expansion of and changes to the cache system.
  • Added pypeit_clean_cache script to facilitate both viewing and
    removing files in the cache.
  • Changed the name of the multi-dimensional specdata to
    specdata_multi in pypeit_identify and improved the robustness
    of the saving dialog when calibrating single trace spectra.
  • Fixed a read-in error for the high resolution A0V PHOENIX model.
  • A new script, called pypeit_extract_datacube, allows 1D spectra of
    point sources to be extracted from datacubes.
  • The sensitivity function is now generated outside of datacube
    generation.
  • The grating_corr column is now used to select the correct grating
    correction file for each spec2d file when generating the datacube.
  • Added the --extr parameter in the pypeit_sensfunc script (also
    as a SensFuncPar) to allow the user to specify the extraction
    method to use when computing the sensitivity function (before only
    optimal extraction was used).
  • Added pypeit_show_pixflat script to inspect the (slitless) pixel
    flat generated during the reduction and stored in data/pixelflats.
  • Added pypeit_chk_flexure script to check both spatial and spectral
    flexure applied to the reduced data.
  • Treatment of file names is now more formal. Compression signatures
    are now considered, and filename matching is now more strict.
  • Removed --spec_samp_fact and --spat_samp_fact command line
    options from pypeit_coadd_2d. These options are now parameters in
    Coadd2dPar.
  • pypeit_show_2dspec now shows the first available detector in the
    2D spectrum by default. The user can specify the detector to show with
    the --det option.
  • Added --removetrace command line option to pypeit_ql to not
    show the object trace when displaying the 2D spectrum.
  • Change the default value for --skip_display in pypeit_ql to
    True.

Datamodel Changes

  • Adjusted spec1d datamodel to enable use with UVES_popler GUI tool

Under-the-hood Improvements

  • Introduced :class:~pypeit.pypeitdata.PypeItDataPaths to handle all
    interactions with the pypeit/data directory, which provides a
    unified interface for accessing on-disk and cached files.
  • When adding missing orders, the full syncing procedure is no longer
    performed. The code now only checks that the edges are still synced
    after the missed orders are added.
  • When detecting overlapping orders/slits, the code now forces each edge
    used to have been directly detected; i.e., if an edge is inserted, the
    fact that the resulting slit is abnormally short should not trigger
    the overlap detection.
  • Improved the QA plot resulting from fitting order widths and gaps as a
    function of spatial position.
  • Updated general raw image reader so that it correctly accounts for
    spectrographs that read the data and overscan sections directly from
    the file headers.

Bug Fixes

  • Fix "The system cannot find the file specified" errors when installing
    on Windows.
  • Fixed a fault caused when all frames in a pypeit file are identified
    as being part of all calibration groups.
  • Allow for empty 2D wavecal solution in HDU extension of WaveCalib file
  • Fixed a bug in the ginga display function, when the user doesn't
    provide the trc_name argument.
  • Fix a MAJOR BUT SUBTLE bug in the use of numpy.argsort. When
    using numpy.argsort the parameter kind='stable' should be used
    to ensure that a sorting algorithm more robust than "quicksort" is
    used.
  • Fix error "ValueError: setting an array element with a sequence. The
    requested array has an inhomogeneous shape after 1 dimensions..."
    occurring when unpacking the SpecObj spectrum but having an
    attribute of the SpecObj object that is None.
  • Fixed a hidden bug that was causing the spatial flexure to fail. The
    bug was in the SlitTraceBitMask class, where the function
    exclude_for_flexure() was not returning the 'BOXSLIT' flag.
  • Fix a bug in pypeit_coadd_2d related to how the binning was taken
    into account in the mask definition, and in the calculation of the
    offset between frames.
  • Fix bug when trying to open mosaic data from previous versions;
    version checking flag was not being propagated.