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 |
- Warp (rotation + resampling) the PSF images (if necessary),
- Filter images in Fourier space using a regularized Wiener filter,
- 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.
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
$ 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.
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.