-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #50 from JarronL/develop
Develop v1.0.0
- Loading branch information
Showing
511 changed files
with
1,321,262 additions
and
63,342 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,21 @@ | ||
name: pynrc | ||
|
||
dependencies: | ||
- python=3.5 | ||
- numpy>=1.13 | ||
- matplotlib>=2.0.2 | ||
- astropy>=3 | ||
- python=3.7 | ||
- numpy>=1.19 | ||
- matplotlib>=3.3.0 | ||
- scipy>=1.5.0 | ||
- tqdm>4 | ||
- astropy>=4.2 | ||
- astroquery>=0.4.3 | ||
- Cython | ||
- pip: | ||
- sphinx>=1.5.1 | ||
- sphinx>=3.4.1 | ||
- sphinx-automodapi | ||
- ipykernel | ||
- nbsphinx | ||
- docutils=0.16 | ||
- git+https://github.com/spacetelescope/poppy.git#egg=poppy | ||
- git+https://github.com/spacetelescope/webbpsf.git#egg=webbpsf | ||
- git+https://github.com/spacetelescope/pysynphot.git#egg=pysynphot | ||
|
||
- git+https://github.com/JarronL/webbpsf_ext.git#egg=webbpsf_ext |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
language: python | ||
|
||
python: | ||
- 3.5 | ||
- 3.7 | ||
|
||
env: | ||
global: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,46 +1,54 @@ | ||
===== | ||
pyNRC | ||
===== | ||
======== | ||
Overview | ||
======== | ||
|
||
A JWST NIRCam ETC and Simulator | ||
=============================== | ||
|
||
.. image:: https://img.shields.io/pypi/v/pynrc.svg | ||
:target: https://pypi.python.org/pypi/pynrc | ||
:alt: Badge showing current released PyPI version | ||
|
||
.. image:: https://readthedocs.org/projects/pynrc/badge/?version=latest | ||
:target: https://pynrc.readthedocs.io/en/latest/?badge=latest | ||
:alt: Documentation Status | ||
|
||
*Authors:* Jarron Leisenring (UA) | ||
*Authors:* `Jarron Leisenring <https://github.com/JarronL>`_ | ||
(U. of Arizona, Steward Observatory) | ||
|
||
*Contributors:* Everett Schlawin (UA), Jonathan Fraine (STScI) | ||
*Contributors:* `Everett Schlawin <https://github.com/eas342>`_, | ||
`Jonathan Fraine <https://github.com/exowanderer>`_, | ||
`Jonathan Aguilar <https://github.com/aggle>`_ | ||
|
||
**!!Under Development!!** | ||
pyNRC is a set of Python-based tools for planning observations with JWST NIRCam, such as an ETC, a simple slope image simulator, and an enhanced data simulator compatible with the JWST pipeline. | ||
|
||
pyNRC is a set of Python-based tools for planning observations with JWST NIRCam, | ||
such as an ETC, a simple slope image simulator, and an enhanced data simulator. | ||
|
||
While special attention has been placed on NIRCam coronagraphic modes, | ||
this package also works for a variety of NIRCam observing modes including: | ||
While special attention has been placed on NIRCam coronagraphic modes, this package also works for a variety of NIRCam observing modes including: | ||
|
||
- direct imaging | ||
- coronagraphic imaging | ||
- weak lens imaging | ||
- slitless grism spectroscopy | ||
- DHS observations (TBI) | ||
|
||
All PSFs are generated via WebbPSF (https://webbpsf.readthedocs.io) to reproduce | ||
realistic JWST images and spectra. | ||
All PSFs are generated by `WebbPSF <https://webbpsf.readthedocs.io>`_ as implemented by the `WebbPSF Extensions <https://github.com/JarronL/webbpsf_ext>`_ package to reproduce realistic JWST images and spectra. | ||
|
||
Documentation can be found at https://pynrc.readthedocs.io. | ||
|
||
**Note:** pyNRC enables more modes than are officially allowed by the Observatory, | ||
(ie., filter + coronagraphic combinations, subarray sizes, etc.). | ||
Just because you can do something with pyNRC does not mean it will be supported. | ||
Check out https://jwst-docs.stsci.edu/display/JTI/NIRCam+Observing+Modes for more information. | ||
Similar to some of its dependencies, pyNRC requires input data files in order to generate simulations. Due to the size of these files, they are not included with this source distribution. Please see the documentation for instructions on how to to download the required data files. | ||
|
||
.. warning:: | ||
|
||
pyNRC enables more modes than are officially allowed by the Observatory, (ie., filter + coronagraphic combinations, subarray sizes, etc.). Just because you can do something with pyNRC does not mean it will be supported in flight. Check out `JDocs`_ for more information. | ||
|
||
|
||
.. _JDocs: https://jwst-docs.stsci.edu/jwst-near-infrared-camera/nircam-observing-modes | ||
|
||
|
||
Simulating PSFs | ||
=============== | ||
|
||
Simulating PSFs with WebbPSF can become computationally expensive if generating new ones on the fly, especially considering JWST PSFs vary with respect to wavelength, field position, and time-dependent wavefront error drift. In an effort to speed up this process, pyNRC uses WebbPSF to generate a series of monochromatic PSF simulations, then produces polynomial fits to each oversampled pixel. Storing the coefficients rather than a library of PSFS allows for quick creation (via matrix multiplication) of PSF images for an arbitrary number of wavelengths (subject to hardware memory limitations, of course). The applications range from quickly creating PSFs for many different stellar types over wide bandpasses to generating a large number of monochromatic PSFs for spectral dispersion. | ||
|
||
In addition, each science instrument PSF is dependent on the detector position due to field-dependent wavefront errors. Such changes are tracked in WebbPSF, but it becomes burdensome to generate new PSFs from scratch at each location, especially for large starfields. Instead, these changes can be stored by the fitting the residuals of the PSF coefficients across an instrument's field of view, then interpolating for an arbitrary location. A similar scheme can be achieved for coronagraphic occulters, where the PSF changes as the source position moves with respect to the mask. | ||
|
||
Similar to some of its dependencies, pyNRC requires a host of input data files in | ||
order to generate simulations. Due to the size of these files, they are not included | ||
with this source distribution. Please see the documentation for instructions on how to | ||
to download the required data files. | ||
JWST's thermal evolution (e.g., changing the angle of the sunshield after slewing to a new target) causes small but significant distortions to the telescope backplane. WebbPSF has tools to modify OPDs, but high-fidelity simulations take time to calculate. Since the change to the PSF coefficients varies smoothly with respect to WFE drift components, it's simple to parameterize the coefficient residuals in a fashion similar to the field-dependence. |
Oops, something went wrong.