liger_iris_drp_resources.psfs

Functions

download_iris_psfs([output_dir, skip_if_exists])

download_keck_pupil_image([output_dir, ...])

Download the Keck pupil FITS file from Google Drive.

download_liger_psfs([output_dir, skip_if_exists])

Download the LIGER PSFs from the Google Drive.

load_iris_psf(instrument_mode[, wave, xs, ...])

Get the IRIS PSF for the imager or IFS for the given input parameters.

load_keck_pupil_image()

Load the Keck pupil FITS file and return the pupil image as a numpy array.

load_liger_psf([instrument_mode, wave, xs, ...])

Load a LIGER PSF for a given wavelength and position.

download_iris_psfs(output_dir: str | None = None, skip_if_exists: bool = True) str[source]
download_keck_pupil_image(output_dir: str | None = None, skip_if_exists: bool = True) str[source]

Download the Keck pupil FITS file from Google Drive.

Parameters:
  • output_dir (str | None) – Directory where the FITS file should be saved.

  • skip_if_exists (bool) – If True, skip download when the target FITS file already exists and is non-empty.

Returns:

str – Full path to the downloaded Keck pupil FITS file.

download_liger_psfs(output_dir: str | None = None, skip_if_exists: bool = True) str[source]

Download the LIGER PSFs from the Google Drive.

Parameters:
  • output_dir (str | None) – The directory to save the PSF folder to.

  • skip_if_exists (bool) – If True, skip downloading if the output directory already exists and is not empty. Default is True.

Returns:

str – The directory containing the downloaded PSF files.

load_iris_psf(instrument_mode: str, wave: float | None = None, xs: float | None = None, ys: float | None = None, xdet: float | None = None, ydet: float | None = None, itime: float = 300, zenith: str = '45', atm: str = '50')[source]

Get the IRIS PSF for the imager or IFS for the given input parameters.

Parameters:
  • instrument_mode (str) – The instrument mode (‘img’, ‘ifs’).

  • wave (float) – The wavelength in microns.

  • xs (float | None) – The x offset in arcsec from on-axis. Default is 0.

  • ys (float | None) – The y offset in arcsec from on-axis. Default is 0.

  • xdet (float | None) – The x detector position in pixels. Default is None, which will be converted to xs.

  • ydet (float | None) – The y detector position in pixels. Default is None, which will be converted to ys.

  • itime (float) – The integration time in seconds. Default is 300.

  • zenith (str) – The zenith angle in degrees. Default is ‘45’.

  • atm (str) – The atmosphere in percentile. Default is ‘50’.

Returns:
  • psf (np.ndarray) – The PSF image.

  • info (dict) – The PSF info from the header.

load_keck_pupil_image() ndarray[source]

Load the Keck pupil FITS file and return the pupil image as a numpy array.

Returns:

np.ndarray – The Keck pupil image.

load_liger_psf(instrument_mode: str | None = None, wave: float | None = None, xs: float | None = None, ys: float | None = None, xdet: float | None = None, ydet: float | None = None) tuple[ndarray, dict][source]

Load a LIGER PSF for a given wavelength and position.

Parameters:
  • instrument_mode (str | None) – The instrument mode (‘img’, ‘ifs’) to determine which PSF to load.

  • wave (float | None) – The wavelength in nanometers.

  • xs (float | None) – The x position in arcseconds.

  • ys (float | None) – The y position in arcseconds.

  • xdet (float | None) – The x detector position in pixels.

  • ydet (float | None) – The y detector position in pixels.

Returns:

tuple[np.ndarray, dict] – The PSF image and its metadata.