Skip to content

aboucaud/pypher

Repository files navigation

PyPHER - Python-based PSF Homogenization kERnels

Latest Version Documentation Status License type DOI number GitHub CI

Compute an homogenization kernel between two PSFs.

This code is well suited for PSF matching applications in both an astronomical or microscopy context.

It has been developed as part of the ESA Euclid mission and is currently being used for multi-band photometric studies of HST (visible) and Herschel (IR) data.

Paper:http://arxiv.org/abs/1609.02006
Documentation:https://pypher.readthedocs.io

Features

  1. Warp (rotation + resampling) the PSF images (if necessary),
  2. Filter images in Fourier space using a regularized Wiener filter,
  3. Produce a homogenization kernel.

Note: pypher needs the pixel scale information to be present in the FITS files. If not, use the provided addpixscl method to add this missing info.

Warning: This code does not

  • interpolate NaN values (replaced by 0 instead),
  • center PSF images,
  • minimize the kernel size.

Installation

PyPHER works both with Python 2.7 and 3.X and relies on numpy, scipy and astropy libraries.

Option 1: Pip

pip install pypher

Option 2: from source

git clone https://github.com/aboucaud/pypher
cd pypher
python setup.py install

Option 3: from conda-forge

conda install -c conda-forge pypher

Basic example

$ pypher psf_a.fits psf_b.fits kernel_a_to_b.fits -r 1.e-5

This will create the desired kernel kernel_a_to_b.fits and a short log kernel_a_to_b.log with information about the processing.

Acknowledging

If you make use of any product of this code in a scientific publication, please consider acknowledging the work by citing the paper using the BibTeX information in the Cite this repository section at the top right of the page.