Showing fields of view

Fields of view (FOVs) are pre-loaded annotations that provide approximate projections of how instruments from major telescopes look on the sky, which is useful in simulating observing runs. FOVs for existing instruments (such as those from NASA’s Hubble and Spitzer Space Telescopes), future instruments on the James Webb Space Telescope, and larger footprints like the field of the K2 mission come out of the box and ready to use with pyWWT.

(If you have an instrument you’d like to simulate, you can still use the methods from Showing annotations to plot it, but please also consider forwarding its dimensions and further information to us on GitHub. We are especially interested in adding more footprints from other sky surveys.)

Plotting an instrument

Use the add_fov() method to add a pre-loaded FOV to the viewer:

>>> from astropy import units as u
>>> from astropy.coordinates import SkyCoord
>>>
>>> hdf = SkyCoord(189.206, 62.216, unit=u.deg)
>>> wwt.background = wwt.imagery.visible.sdss
>>> wwt.center_on_coordinates(hdf, fov=2.8*u.arcmin)
>>>
>>> # recreate the Hubble Deep Field image
>>> fov = wwt.add_fov(wwt.instruments.hst_wfc3_ir, center=hdf,
...                   rotate=12*u.deg, line_color='#D4BD8A')
_images/hdf.png

Only certain instrument names are accepted, so be sure to use the instruments attribute as shown above to help you select a valid one. To see which instruments are currently available, either use tab-completion in an interactive interpreter with instruments, or return a list like so:

>>> wwt.instruments.available
['hst_acs_wfc',
'hst_wfc3_ir',
'hst_wfc3_uvis',
'jwst_nircam',
'jwst_niriss',
'k2',
'spitzer_irac']

For add_fov(), the instrument name is the only required argument; center defaults to the center of your view and rotation defaults to 0. Additionally, since FOVs are drawn as polygons, editable properties for annotations (see Polygon for a full list) work as keyword arguments in add_fov(), just as line_color did in the example at the top of this page.

Once an FOV is no longer needed, it can be removed from view via its remove() method, e.g.:

>>> fov.remove()

Note that clear_annotations() will also clear FOVs in addition to regular annotations.

Note

Due to the spherical projection system used by WWT, FOVs may be distorted near the poles. This especially true for FOVs that are larger in size, contain multiple panels, or have been rotated.