Skip to main content

Telescope Images Point Spread Function Reconstruction

Project description

PSFr - Point Spread Function reconstruction

PyPI CI Documentation Status Coveralls

https://github.com/sibirrer/psfr/blob/main/docs/_static/stacked_psf_animation.gif

Point Spread Function reconstruction for astronomical ground- and space-based imaging data.

Example

# get cutout stars in the field of a JWST observation (example import)
from psfr.util import jwst_example_stars
star_list_jwst = jwst_example_stars()

# run PSF reconstruction (see documentation for further options)
from psfr.psfr import stack_psf
psf_model, center_list, mask_list = stack_psf(star_list_jwst, oversampling=4,
                                              saturation_limit=None, num_iteration=50)

We further refer to the example Notebook and the Documentation.

Features

  • Iterative PSF reconstruction given cutouts of individual stars or other point-like sources.

  • Sub-pixel astrometric shifts calculated and accounted for while performing the PSF reconstruction.

  • PSF reconstruction available in super-sampling resolution.

  • Masking pixels, saturation levels and other options to deal with artifacts in the data.

Algorithm

The algorithm to iteratively propose a (optionally oversampled) PSF from a set of star cutouts goes as follow:

  1. Stack all the stars for an initial guess of the PSF on the centroid pixel (ignoring sub-pixel offsets)

  2. Fit the subpixel centroid with the PSF model estimate

  3. Shift PSF with sub-pixel interpolation to the sub-pixel position of individual stars

  4. Retrieve residuals of the shifted PSF model relative to the data of the cutouts

  5. Apply an inverse sub-pixel shift of the residuals to be focused on the center of the pixel

  6. Based on teh inverse shifted residuals of a set of fixed stars, propose a correction to the previous PSF model

  7. Repeat step (3) - (6) multiple times with the option to repeat step (2)

Details and options for the different steps can be found in the documentation and the source code.

Used by

PSFr is in use with James Webb Space Telescope imaging data (i.e., Santini et al. 2022, Merlin et al. 2022, Yang et al. 2022, Ding et al. 2022). The iterative PSF reconstruction procedure was originally developed and used for analyzing strongly lensed quasars (i.e., Birrer et al. 2019 , Shajib et al. 2018 , Shajib et al. 2019 , Schmidt et al. 2022).

Other resources

We also refer to the astropy core package photutils and in particular to the empirical PSF module ePSF . PSF reconstructions are e.g. reported by Anderson and King (2000; PASP 112, 1360) and Anderson (2016), ISR WFC3 2016-12.

Credits

The software is an off-spring of the iterative PSF reconstruction scheme of lenstronomy, in particular its psf_fitting.py functionalities.

If you make use of this software, please cite: ‘This code is using PSFr (Birrer et al. in prep) utilizing features of lenstronomy (Birrer et al. 2021)’.

History

0.0.1 (2022-08-10)

  • First release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

psfr-0.1.0.tar.gz (2.5 MB view details)

Uploaded Source

File details

Details for the file psfr-0.1.0.tar.gz.

File metadata

  • Download URL: psfr-0.1.0.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/6.8.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for psfr-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dcb60f884dfade45489908d0a1208db684d0777c86a9eb9f034197b2c7855823
MD5 0afcd8d7b2638f1d581c2ff1282c6f3b
BLAKE2b-256 d93e749778f50b3d34f64cf06202b2624a9c7fc661a0780fafe66b2b2da7f61f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page