Skip to main content

Multi-Resolution Filtering (MRF) is a method for isolating faint, extended emission in low-resolution images.

Project description

MRF: Multi-Resolution Filtering

Multi-Resolution Filtering: a method for isolating faint, extended emission in Dragonfly data and other low resolution images.

Documentation

Please read the documentation and tutorial at https://mrfiltering.readthedocs.io/en/latest/.

Applications

  • Subtract compact objects from low-resolution images (such as Dragonfly) to reveal low surface brightness features.
  • Download corresponding high resolution image (HSC, CFHT) of given Dragonfly image.
  • Characterize and subtract stellar halos in Dragonfly image.

Examples

This example shows the tidal feature of NGC 5907, described in van Dokkum et al. (2019). The images presented there just used this algorithm. Full resolution Dragonfly images and MRF results can be found here. Check this notebook for more details in how to do MRF using this Python package! :rocket:

MRF on NGC 5907

This example shows how powerful MRF is in extracting low surface brightness features. The ultra-diffuse galaxy M101-DF3 is revealed by MRF after subtracting compact objects and bright star halos according to van Dokkum et al. (in prep). Check this notebook for more details.

MRF on M101-DF3

You can also use this script to run the MRF task. Take NGC 5907 as an example:

python mrf-task.py n5907_df_g.fits ngc5907_cfht_g.fits ngc5907_cfht_r.fits ngc5907-task.yaml --galcat='gal_cat_n5907.txt' --output='n5907_g'

Installation

mkdir <install dir>
cd <install dir>
git clone git@github.com:AstroJacobLi/mrf.git
cd mrf
python setup.py install

If you don't have git configured, you can also download the zip file directly from https://github.com/AstroJacobLi/mrf/archive/master.zip, then unzip it and install in the same way.

To test if mrf is installed successfully, import mrf in Python:

import mrf, os
print(os.path.isfile(os.path.join(mrf.__path__[0], 'iraf/macosx/x_images.e')))

True means you have installed mrf successfully! Bravo!

If you need to use lanczos or cubic interpolation, you must have galsim installed. You will also need unagi to download HSC images. Python>=3 is needed, but you can try whether mrf still works under python2. Check out the dependence of mrf depends from requirements.txt.

Acknowledgement

Many scripts and snippets are from kungpao (written by Song Huang and Jiaxuan Li). Johnny Greco kindly shared his idea of the code structure. Roberto Abraham found the first few bugs of this package and provided useful solutions. Here we appreciate their help!

Citation

If you use this code, please reference the doi below, and make sure to cite the dependencies as listed in requirements.

mrf is a free software made available under MIT License. For details see the LICENSE file.

Copyright 2019 Jiaxuan Li and Pieter van Dokkum.

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

mrf-1.0.3.tar.gz (12.1 MB view hashes)

Uploaded Source

Built Distribution

mrf-1.0.3-py3-none-any.whl (8.1 MB view hashes)

Uploaded Python 3

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