{ "info": { "author": "Pieter van Dokkum, Jiaxuan Li", "author_email": "pieter.vandokkum@yale.edu, jiaxuan_li@pku.edu.cn", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Astronomy" ], "description": "# MRF: Multi-Resolution Filtering\nMulti-Resolution Filtering: a method for isolating faint, extended emission in [Dragonfly](http://dragonflytelescope.org) data and other low resolution images.\n\n![](https://readthedocs.org/projects/mrfiltering/badge/?version=latest)\n![](https://img.shields.io/badge/license-MIT-blue)\n![](https://img.shields.io/github/repo-size/astrojacobli/mrf)\n[![](https://img.shields.io/badge/arXiv-1910.12867-blue)](https://arxiv.org/abs/1910.12867)\n\n

\n \n

\n\nDocumentation\n-------------\nPlease read the documentation and tutorial at https://mrfiltering.readthedocs.io/en/latest/.\n\nApplications\n------------\n- Subtract compact objects from low-resolution images (such as Dragonfly) to reveal low surface brightness features.\n- Characterize and subtract stellar halos in Dragonfly image.\n- Download corresponding high resolution image (HSC, CFHT) of given Dragonfly image.\n\nExamples\n------------\nThis example shows the tidal feature of NGC 5907, described in [van Dokkum et al. (2019)](https://ui.adsabs.harvard.edu/abs/2019arXiv190611260V/abstract). The images presented there used this algorithm. Full resolution Dragonfly images and MRF results can be found [here](https://www.pietervandokkum.com/ngc5907). Check [this notebook](https://github.com/AstroJacobLi/mrf/blob/master/examples/NGC5907/mrfTask-n5907.ipynb) for more details in how to do MRF using this Python package! :rocket: \n\n![MRF on NGC 5907](https://github.com/AstroJacobLi/mrf/raw/master/examples/NGC5907/n5907-demo.png)\n\nThis example shows how powerful MRF is in revealing 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. (2019)](https://arxiv.org/abs/1910.12867). Check [this notebook](https://github.com/AstroJacobLi/mrf/blob/master/examples/M101-DF3/mrfTask-m101df3.ipynb) for more details.\n\n![MRF on M101-DF3](https://github.com/AstroJacobLi/mrf/raw/master/examples/M101-DF3/m101-df3-demo.png)\n\nYou can also use [this script](https://github.com/AstroJacobLi/mrf/blob/master/examples/mrf-task.py) to run the MRF task. Take NGC 5907 as an example:\n\n```bash\npython 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'\n```\n\nInstallation\n------------\n\n```bash\nmkdir \ncd \ngit clone git@github.com:AstroJacobLi/mrf.git\ncd mrf\npython setup.py install\n```\n\nIf 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. \n\nTo test whether `mrf` is installed successfully, import `mrf` in Python:\n\n```python\nimport mrf, os\nprint(os.path.isfile(os.path.join(mrf.__path__[0], 'iraf/macosx/x_images.e')))\n```\n`True` means you have installed `mrf` successfully! Bravo!\n\nIf you need to use ``lanczos`` or ``cubic`` interpolation, you must have [``galsim``](https://github.com/GalSim-developers/GalSim) installed. You will also need [``unagi``](https://github.com/dr-guangtou/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`.\n\nCitation\n---------\n``mrf`` is a free software made available under the MIT License by [Pieter van Dokkum](http://pietervandokkum.com) (initial development) and [Jiaxuan Li](https://astrojacobli.github.io) (implementation, maintenance, and documentation). If you use this package in your work, please cite [van Dokkum et al. (2019)](https://arxiv.org/abs/1910.12867).\n\nAcknowledgement\n---------------\nMany scripts and snippets are from [`kungpao`](https://github.com/dr-guangtou/kungpao) (written by [Song Huang](http://dr-guangtou.github.io)). [Johnny Greco](http://johnnygreco.github.io) kindly shared his idea of the code structure. [Roberto Abraham](http://www.astro.utoronto.ca/~abraham/Web/Welcome.html) found the first few bugs of this package and provided useful solutions. Here we appreciate their help!\n\n\n\nCopyright 2019 [Pieter van Dokkum](http://pietervandokkum.com) and [Jiaxuan Li](http://astrojacobli.github.io).\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/AstroJacobLi/mrf", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "mrf", "package_url": "https://pypi.org/project/mrf/", "platform": "", "project_url": "https://pypi.org/project/mrf/", "project_urls": { "Homepage": "https://github.com/AstroJacobLi/mrf" }, "release_url": "https://pypi.org/project/mrf/1.0.4/", "requires_dist": [ "numpy", "scipy", "astropy (>=3.2.1)", "matplotlib (>=2.0)", "sep", "photutils", "palettable", "shapely", "reproject (>=0.5.1)", "tqdm", "PyYAML" ], "requires_python": ">=2.7", "summary": "Multi-Resolution Filtering (MRF) is a method for isolating faint, extended emission in low-resolution images.", "version": "1.0.4", "yanked": false, "yanked_reason": null }, "last_serial": 6050373, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "db10c1f36b47167f4686a29f710180c0", "sha256": "5eaa7e13ff08190c6136307bf2c8e9fbc3b693ce347e9eaffc9d2fd002d55a4f" }, "downloads": -1, "filename": "mrf-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "db10c1f36b47167f4686a29f710180c0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 44076, "upload_time": "2019-08-22T19:43:15", "upload_time_iso_8601": "2019-08-22T19:43:15.831305Z", "url": "https://files.pythonhosted.org/packages/d2/41/0956efb20c36083db748920238a20f5a1a207f2727d23720a5d269fbc468/mrf-1.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "86d37a1218ae8c543bbc0cb11cabbd0d", "sha256": "59ef22c0d1574fba57992805aef9633e4c83bca384637069cbf8de7dff249f7f" }, "downloads": -1, "filename": "mrf-1.0.1.tar.gz", "has_sig": false, "md5_digest": "86d37a1218ae8c543bbc0cb11cabbd0d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 42531, "upload_time": "2019-08-22T19:43:18", "upload_time_iso_8601": "2019-08-22T19:43:18.494876Z", "url": "https://files.pythonhosted.org/packages/c4/f8/8824a77e5c1e1899d8a7bdd21fe73f810ef07d43e53350e60a0b69ccf532/mrf-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "61caec2d2675428e837fb1474e6acfab", "sha256": "055227cf8ebb7fea6ad3c2e73070f2ad3eae711f79596723ada85c0d68d4b665" }, "downloads": -1, "filename": "mrf-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "61caec2d2675428e837fb1474e6acfab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 8111301, "upload_time": "2019-09-07T21:37:09", "upload_time_iso_8601": "2019-09-07T21:37:09.273083Z", "url": "https://files.pythonhosted.org/packages/85/ee/d66d93ffbc38c7f56504662d9fc718d0c835abc7f88dcf86282fb740883d/mrf-1.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ffb02b34e0cd6b9c0fa4fda91ef7f9f4", "sha256": "147cfef6b24eca768f9c6c55cb830e3847b53d849fcffc0908048d0f4411137d" }, "downloads": -1, "filename": "mrf-1.0.2.tar.gz", "has_sig": false, "md5_digest": "ffb02b34e0cd6b9c0fa4fda91ef7f9f4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 12058261, "upload_time": "2019-09-07T21:37:12", "upload_time_iso_8601": "2019-09-07T21:37:12.357155Z", "url": "https://files.pythonhosted.org/packages/e7/56/6c3788b85bec919d4ea8445f4d29e1653de3d22a2e2f89e9153cef65dcb2/mrf-1.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.2a0": [ { "comment_text": "", "digests": { "md5": "c9f984b6242ccc07d909fddfb63becc8", "sha256": "0b97d19252ed11de51d1e73f9b5c0533ec4ac9e37a78dee15c893f678631dc20" }, "downloads": -1, "filename": "mrf-1.0.2a0-py3.7.egg", "has_sig": false, "md5_digest": "c9f984b6242ccc07d909fddfb63becc8", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": ">=2.7", "size": 8169850, "upload_time": "2019-09-07T21:12:08", "upload_time_iso_8601": "2019-09-07T21:12:08.293421Z", "url": "https://files.pythonhosted.org/packages/00/8e/5186dee8d0a8ffac5698c0757e4df088c3e1df8029706a6572def1fc75b5/mrf-1.0.2a0-py3.7.egg", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "05e250ad8f2d8f38c1976be39e9fbda5", "sha256": "bfa3e78eae09f5856eed6ab54bd68229170af3901f3fcd34fd8d42ae0ce9c8dc" }, "downloads": -1, "filename": "mrf-1.0.2a0-py3-none-any.whl", "has_sig": false, "md5_digest": "05e250ad8f2d8f38c1976be39e9fbda5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 8111320, "upload_time": "2019-09-07T21:12:05", "upload_time_iso_8601": "2019-09-07T21:12:05.505140Z", "url": "https://files.pythonhosted.org/packages/67/8d/b5464d6af988f932d679602a322a5efca50e599d67c24a762c2ebd97e63e/mrf-1.0.2a0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d4441082183b425ab53acf737722a98c", "sha256": "b6d74774b9e4dca50ddda866614071e7da7274dbc9ff4babb68f8219f78be4b1" }, "downloads": -1, "filename": "mrf-1.0.2a0.tar.gz", "has_sig": false, "md5_digest": "d4441082183b425ab53acf737722a98c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 18022301, "upload_time": "2019-09-07T21:12:11", "upload_time_iso_8601": "2019-09-07T21:12:11.768185Z", "url": "https://files.pythonhosted.org/packages/52/34/6b042f8505a13b9c70a189c4a184f1412ba9d5e5fa81f2d8c3aaaa139a07/mrf-1.0.2a0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "db6131cc682875c3418a747e060a63c9", "sha256": "1a0e244ddf18690cab065dcc375fc154d0ea65a8dda31d1df386c439430e6d19" }, "downloads": -1, "filename": "mrf-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "db6131cc682875c3418a747e060a63c9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 8111346, "upload_time": "2019-09-07T22:07:07", "upload_time_iso_8601": "2019-09-07T22:07:07.179401Z", "url": "https://files.pythonhosted.org/packages/64/42/9ab743e7c7af6f6350912125f748d3bc63fbe5ece61cb6a9dbc349d33014/mrf-1.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f8df7ee6f37f55c51db0c75ebbd7f56d", "sha256": "06bbc5a6e58e1bd9e06ac96c19034e30f626ae8736de43ffdaf687e572339193" }, "downloads": -1, "filename": "mrf-1.0.3.tar.gz", "has_sig": false, "md5_digest": "f8df7ee6f37f55c51db0c75ebbd7f56d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 12058400, "upload_time": "2019-09-07T22:07:10", "upload_time_iso_8601": "2019-09-07T22:07:10.128001Z", "url": "https://files.pythonhosted.org/packages/71/81/08a9357f308816bb74f7a84e86f59ccc0f56153bb0b8bcb5461307c7f479/mrf-1.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "1fed01f3800440c73e2d12ab42146942", "sha256": "8464c27e25a4f248c93b37eb30dd14afbd0efd6e73974337f80404215e01eafe" }, "downloads": -1, "filename": "mrf-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "1fed01f3800440c73e2d12ab42146942", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 8118553, "upload_time": "2019-10-30T02:46:30", "upload_time_iso_8601": "2019-10-30T02:46:30.295705Z", "url": "https://files.pythonhosted.org/packages/15/28/f3f2aa1b844c7a21419945c6cf762bf0aa0a0feda3986796bf9585c27343/mrf-1.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ea0a68c026e57e9424ab7d261e77c88c", "sha256": "b09cb2e88819775aebc3879de1fc4884ebe4e578e5838e11c28d463f45b34e33" }, "downloads": -1, "filename": "mrf-1.0.4.tar.gz", "has_sig": false, "md5_digest": "ea0a68c026e57e9424ab7d261e77c88c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 14684882, "upload_time": "2019-10-30T02:47:53", "upload_time_iso_8601": "2019-10-30T02:47:53.064050Z", "url": "https://files.pythonhosted.org/packages/b5/46/c177189fc80f1a623ee7c5499320fdb6c99f8f8cf997accdfbecbeaa8fde/mrf-1.0.4.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1fed01f3800440c73e2d12ab42146942", "sha256": "8464c27e25a4f248c93b37eb30dd14afbd0efd6e73974337f80404215e01eafe" }, "downloads": -1, "filename": "mrf-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "1fed01f3800440c73e2d12ab42146942", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 8118553, "upload_time": "2019-10-30T02:46:30", "upload_time_iso_8601": "2019-10-30T02:46:30.295705Z", "url": "https://files.pythonhosted.org/packages/15/28/f3f2aa1b844c7a21419945c6cf762bf0aa0a0feda3986796bf9585c27343/mrf-1.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ea0a68c026e57e9424ab7d261e77c88c", "sha256": "b09cb2e88819775aebc3879de1fc4884ebe4e578e5838e11c28d463f45b34e33" }, "downloads": -1, "filename": "mrf-1.0.4.tar.gz", "has_sig": false, "md5_digest": "ea0a68c026e57e9424ab7d261e77c88c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 14684882, "upload_time": "2019-10-30T02:47:53", "upload_time_iso_8601": "2019-10-30T02:47:53.064050Z", "url": "https://files.pythonhosted.org/packages/b5/46/c177189fc80f1a623ee7c5499320fdb6c99f8f8cf997accdfbecbeaa8fde/mrf-1.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }