{ "info": { "author": "Emiel Por", "author_email": "por@strw.leidenuniv.nl", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Astronomy" ], "description": "[![PyPI Status](https://img.shields.io/pypi/v/hcipy.svg)](https://pypi.org/project/hcipy/)\n[![Build Status](https://img.shields.io/travis/ehpor/hcipy/master.svg?logo=travis)](https://travis-ci.org/ehpor/hcipy)\n[![Build status](https://img.shields.io/appveyor/ci/ehpor/hcipy/master.svg?logo=appveyor)](https://ci.appveyor.com/project/ehpor/hcipy/branch/master)\n[![Coverage Status](https://img.shields.io/coveralls/github/ehpor/hcipy.svg)](https://coveralls.io/r/ehpor/hcipy)\n[![Documentation Status](https://img.shields.io/readthedocs/hcipy.svg)](https://hcipy.readthedocs.io)\n![License](https://img.shields.io/github/license/ehpor/hcipy.svg)\n\n# High Contrast Imaging for Python (HCIPy)\n\nHCIPy is an open-source object-oriented framework written in Python for performing end-to-end simulations of high-contrast imaging instruments for astronomy.\n\nThe library defines wavefronts and optical elements for defining an optical system, and provides both Fraunhofer and Fresnel diffraction propgators. Polarization is supported using Jones calculus, with polarizers and waveplates included out of the box. It implements atmospheric turbulence using thin infinitely-long phase screens, and can model scintillation using Fresnel propagation between individual layers. Many wavefront sensors are implemented including a Shack-Hartmann and Pyramid wavefront sensor. Implemented coronagraphs include the vortex, Lyot and APP coronagraph.\n\nBy including simulation of both adaptive optics and coronagraphy into a single framework, HCIPy allows simulations including feedback from post-coronagraphic focal-plane wavefront sensors to the AO system.\n\nFor documentation, see https://hcipy.readthedocs.io.\n\n# Installation\n\nHCIPy can be installed from PyPI as usual:\n```\npip install hcipy\n```\nTo install the latest development version from Github:\n```\ngit clone https://github.com/ehpor/hcipy\ncd hcipy\npython setup.py develop\n```\nHCIPy can then be updated by running:\n```\ngit pull\npython setup.py egg_info\n```\ninside the hcipy repository.\n\n# Citing\n\nIf you use HCIPy for your own research, please include the following acknowledgement in your publication:\n> This research made use of HCIPy, an open-source object-oriented framework written in Python for performing end-to-end simulations of high-contrast imaging instruments (Por et al. 2018).\n\nThe BibTeX citation can be found below:\n```\n@inproceedings{por2018hcipy,\n author = {Por, E.~H. and Haffert, S.~Y. and Radhakrishnan, V.~M. and Doelman, D.~S. and Van Kooten, M. and Bos, S.~P.},\n title = \"{High Contrast Imaging for Python (HCIPy): an open-source adaptive optics and coronagraph simulator}\",\n booktitle = {Adaptive Optics Systems VI},\n year = 2018,\n series = {Proc. {{SPIE}}},\n volume = 10703\n}\n```\n\n# Documentation\n\nA complete documentation is currently a work in progress. The current documentation can be found at https://hcipy.readthedocs.io. Alternatively, you can build the documentation yourself by executing:\n\n```\ncd doc\nmake clean\nmake html\n```\n\nAfterwards, the built documentation should now be visible in ``doc/_build/html`` as a static website.\n\n# Testing\n\nHCIPy includes a unit testing framework to make sure that no bugs creep in for previously written code. You can run the full test suite by calling\n```\npytest ./tests\n```\nin the root directory of HCIPy. To run all tests, including tests that may take longer, call instead\n```\npytest ./tests --runslow\n```\n\n# Contributions\n\nIf you have something to add, or want something added to HCIPy, please let us know. We actively support external contributions to HCIPy, whether small or large. To contribute a new feature:\n\n1. Fork it if you are not a collaborator yet.\n2. Create your feature branch (``git checkout -b my_new_feature``)\n3. Commit your changes as normal.\n4. Push to the branch (``git push origin my_new_feature``)\n5. Create a new Pull Request on GitHub.\n6. We will review the feature.\n\nIf you encounter any problems during this process, do not hesitate to contact us.\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/ehpor/hcipy/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "hcipy", "package_url": "https://pypi.org/project/hcipy/", "platform": "", "project_url": "https://pypi.org/project/hcipy/", "project_urls": { "Homepage": "https://github.com/ehpor/hcipy/" }, "release_url": "https://pypi.org/project/hcipy/0.2/", "requires_dist": [ "numpy", "scipy", "matplotlib (>=2.0.0)", "Pillow", "pyyaml", "mpmath", "astropy", "imageio", "xxhash" ], "requires_python": "", "summary": "A framework for performing optical propagation simulations, meant for high contrast imaging, in Python.", "version": "0.2" }, "last_serial": 5644610, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "0e8e2a9d02dd71814d49c1f6dc9d7b8e", "sha256": "781ed3aaba749602fac12d5c49193d2785beef6b586a4fa46626d3fb8ec6d662" }, "downloads": -1, "filename": "hcipy-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0e8e2a9d02dd71814d49c1f6dc9d7b8e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 92397, "upload_time": "2018-07-02T13:23:59", "url": "https://files.pythonhosted.org/packages/3f/22/bac03bc3cab865de2abd5c2080367351344ab345461933e497fa086fe138/hcipy-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7b42095e13ce91f62d642d56a7552169", "sha256": "d6aa5f8a441734848f74f631a6954b1b4eb9d831240f099388ac07c5242bbe61" }, "downloads": -1, "filename": "hcipy-0.1.tar.gz", "has_sig": false, "md5_digest": "7b42095e13ce91f62d642d56a7552169", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60194, "upload_time": "2018-07-02T13:24:00", "url": "https://files.pythonhosted.org/packages/79/14/b6074514d94e518c1115369ce4d6d4c65c447c13bee7db3953a74776b3cd/hcipy-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "ee51f2e9f380665b3e0427eaef24ca9c", "sha256": "598cec12863bcd3d4659b1461d94caf634170e386afc1439f4b127eb44348409" }, "downloads": -1, "filename": "hcipy-0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "ee51f2e9f380665b3e0427eaef24ca9c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 120613, "upload_time": "2019-08-07T11:53:10", "url": "https://files.pythonhosted.org/packages/e5/8f/2e323b2176ec932732c6c2479949e429517c56c379ac4a8f397f56bef1d7/hcipy-0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4fa95209cf7422f6d5a01bb2cd14677", "sha256": "a7f245fe679156ed389fde62f4f6ea39a66e78110c1f4442dc7403d47e51905d" }, "downloads": -1, "filename": "hcipy-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f4fa95209cf7422f6d5a01bb2cd14677", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 121415, "upload_time": "2019-08-07T11:53:12", "url": "https://files.pythonhosted.org/packages/a1/1a/1ee55cfc3c541643a30f080deb0d7953689ae9f5fac2140e6096a3aea886/hcipy-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "423d922300b82d7c7f0c64a00e6a892c", "sha256": "da19d77f5192a2f33ed9107d4baf935ceadb02e58933bd606b36d5829f980279" }, "downloads": -1, "filename": "hcipy-0.2.tar.gz", "has_sig": false, "md5_digest": "423d922300b82d7c7f0c64a00e6a892c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2423641, "upload_time": "2019-08-07T11:53:18", "url": "https://files.pythonhosted.org/packages/61/cd/20b11938e7d825f2245424ff076bda205586081d7557aee518e5477ef62e/hcipy-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ee51f2e9f380665b3e0427eaef24ca9c", "sha256": "598cec12863bcd3d4659b1461d94caf634170e386afc1439f4b127eb44348409" }, "downloads": -1, "filename": "hcipy-0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "ee51f2e9f380665b3e0427eaef24ca9c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 120613, "upload_time": "2019-08-07T11:53:10", "url": "https://files.pythonhosted.org/packages/e5/8f/2e323b2176ec932732c6c2479949e429517c56c379ac4a8f397f56bef1d7/hcipy-0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4fa95209cf7422f6d5a01bb2cd14677", "sha256": "a7f245fe679156ed389fde62f4f6ea39a66e78110c1f4442dc7403d47e51905d" }, "downloads": -1, "filename": "hcipy-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f4fa95209cf7422f6d5a01bb2cd14677", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 121415, "upload_time": "2019-08-07T11:53:12", "url": "https://files.pythonhosted.org/packages/a1/1a/1ee55cfc3c541643a30f080deb0d7953689ae9f5fac2140e6096a3aea886/hcipy-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "423d922300b82d7c7f0c64a00e6a892c", "sha256": "da19d77f5192a2f33ed9107d4baf935ceadb02e58933bd606b36d5829f980279" }, "downloads": -1, "filename": "hcipy-0.2.tar.gz", "has_sig": false, "md5_digest": "423d922300b82d7c7f0c64a00e6a892c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2423641, "upload_time": "2019-08-07T11:53:18", "url": "https://files.pythonhosted.org/packages/61/cd/20b11938e7d825f2245424ff076bda205586081d7557aee518e5477ef62e/hcipy-0.2.tar.gz" } ] }