There is a newer version of the record available.

Published September 12, 2025 | Version 1.18.0
Software Open

PypeIt

Description

Documentation Updates

  • Updated development guidelines with new procedures related to using forks. Apart from a small number of maintainers, code contributions are now expected to come from forks. Also, all the developer-specific installation details have been removed from the main installation doc.
  • Cleaned up documentation referring to the telluric atmospheric grids. Much of the old documentation had not been updated to reflect the PCA models, leading to some confusion.

Dependency Changes

  • Bump dependency to specutils>=2.0

Functionality/Performance Improvements and Additions

  • The WCS for datacubes now adopts the convention of North is up and East is left. In previous version of PypeIt, East was right.
  • Improved the code to compute the spatial flexure correction and added a QA plot to inspect the results. Two new parset parameters, spat_flexure_sigdetect and spat_flexure_vrange, were added to control the detection of the slit edges (used to compute the flexure) and the stretching of the image in the QA plot, respectively.
  • Setup GUI allows resizing panels when viewing pypeit files.
  • Setup GUI allows selecting which detector to view when viewing raw data.
  • Added backwards compatibilty for old frames taken with the Bok B&C
  • The object trace can now be iterated over with the find_numiterfit parameter.
  • Added EdgeTracePar parameter mask_off_detector to allow the user to mask spectral regions in each slit/order where more than 50% of the slit falls off the detector
  • Adds Subaru/FOCAS to the instrument suite
  • Added SensfuncPar parameter trim_std_pixs to allow the user to "trim" the standard star 1D spectrum by a user-defined number of pixels before computing the sensitivity function.
  • We include new, brighter blackbody standard stars, as reported in Cooke, Suzuki and Prochaska (2025).
  • We have removed J1255p1924 as a blackbody flux calibration standard star. Based on X-SHOOTER observations by Cooke, Suzuki and Prochaska (2025), this white dwarf star has Ca II absorption.
  • Allow the user to skip writing 2D science spectrum files. Note that this should only be invoked after careful inspection of a sample of 2D reduced spectra and when the user is completely satisfied of the quality of the extracted 1D spectra.
  • Added ExtractionPar parameter min_frac_prof to allow the user to set the minimum fraction of the object spatial profile that is not masked in the optimal extraction.
  • Changed the implementation on how to set the reference objects, used to compute spatial offsets and/or weights when combining 2D spectra (i.e., pypeit_coadd_2dspec). The user can now provide a list of reference objects (one per spec2d file) using the SPAT_PIXPOS_ID or ECH_FRACPOS_ID (for MultiSlit and Echelle data, respectively) attributes in SpecObj as unique identifiers for reference objects. These identifiers can be provided using the user_obj_ids parameter in the Coadd2DPar parsets. The user_obj parameter has been removed.
  • Restricted the range of stretch corrections to the wavelength solution in telluric fits to a more reasonable one to avoid catastrophic edge cases.
  • Passed the TelluricPar parameter resln_frac_bounds through to the tellfit script functions (qso_telluric, star_telluric, poly_telluric)

Instrument-specific Updates

  • Added wavelength template for Gemini GMOS-N/GMOS-S R150 grating.
  • Added support for the Levy spectrograph on the Automated Planet Finder at Lick Observatory (APF/Levy)

Script Changes

  • pypeit_setup_gui script has been removed. The Setup GUI can be started with pypeit_setup -G.
  • Added pypeit_run_to_calibstep to run PypeIt to an input calibration step. This script is useful to re-generate calibration files for a given configuration without running the full reduction.
  • Added finer debugging control for pypeit_trace_edges
  • Added "-p", "--param_block_file" option to pypeit_setup that allows the user to specify the name of a file containing pre-formatted user parameters to be added to the Parameter Block of the .pypeit file. This option is useful when project-specific parameters need to be repeatedly specified across many .pypeit files.

Datamodel Changes

  • The SpecObj datamodel has been updated (v1.1.12) to include the BOX_R_ASEC attribute, which contains the information about the size of the boxcar radius in arcsec. In addition, the already existing BOX_RADIUS attribute, which contains the boxcar radius in pixels, had the name changed to BOX_R_PIX.
  • The SpecObj datamodel has been updated (v1.1.13) to include the SPAT_PIXPOS_ID and ECH_FRACPOS_ID attributes, which are unique identifiers for the extracted objects from MultiSlit and Echelle data, respectively.

Under-the-hood Improvements

  • Updates the pypeit_trace_edges script to use lampoffflats, if they're provided by the pypeit file passed to the script.
  • Moved deprecated, paper, presentations, and proposals directories into a new repository PypeIt-misc.
  • Abstracted generation of GitHub remote paths in the cache system to make sure functionality works when working in a fork of the code.
  • Basic maintenance on :class:~pypeit.bspline.bspline.bspline: Removed *kwargs from instantiation call, removed redundant (placed vs. bkpts) arguments, removed unused to/from dict functionality, cleaned up construction of breakpoints, added docs.

Bug Fixes

  • Fix the WCS for the datacube generation. There was an offset in both spatial dimensions equal to half the field of view.
  • Fix the code for the extraction of the 1D flat spectrum, so that the spectrum is extracted even when pixelflat_model does not exist.
  • The variance cube previously had a cubic term, and this has been changed to a quadratic term. This has been cross-checked with simple subpixel calculations.
  • Fixes bug associated with trying to remove or add slits for reductions that mosaic multiple detectors.
  • Fix Setup GUI sizing issues on MacOS.
  • Fixed a bug with pypeit_identify when the number of echelle orders has more than two digits.
  • Fixed bug when defining manual extraction apertures for 2D coadds of echelle data
  • Fix a bug in the fluxed std star QA plot generated by pypeit_sensfunc, where the plot was showing an inconsistency between the observed and the true fluxes.
  • For Gemini GMOS, PypeIt now correctly uses mask definition files with tilted slits. (Before, it would simply fail with an error message if any slits were tilted.)
  • Fix a bug in the order_platescale() method for the keck_esi spectrograph, where the wrong binning was used to compute the platescale.
  • Fix a bug in how the box_width, showed in arcsec in the "spec1d*.txt" file, was computed for the echelle data. The value was previously not accounting for the order-specific plate scale.
  • Fix a bug in the core.findobj_skymask.ech_fill_in_orders() method, where attributes of objects only found on some orders were not properly propagated to the other orders.
  • Fixed a bug causing 2D coadding of SOAR/Goodman data to fault based on the extensions of the spec2d files.

Notes

If you use this software, please cite it as below.

Files

pypeit/PypeIt-1.18.0.zip

Files (449.2 MB)

Name Size Download all
md5:c4dcf2a8b8a62d5a58fb784b58a96537
449.2 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/pypeit/PypeIt/tree/1.18.0 (URL)

Software