Telescope Pointing Utilities

romancal.orientation.set_telescope_pointing Module

Set Telescope Pointing from Observatory Engineering Telemetry.

Calculate and update the pointing-related and world coordinate system-related keywords. Given a time period, usually defined by an exposure, the engineering mnemonic database is queried for observatory orientation. The orientation defines the sky coordinates that a particular point on the observatory is pointed to. Then, using a set of matrix transformations, the sky coordinates of the reference pixel of a desired aperture is calculated.

The transformations are defined by the STScI Innerspace (non-public) document titles “Quaternion Transforms for Coarse Pointing WCS”. The code itself follows a demonstrative jupyter notebook.

Interface

The primary usage is through the command line interface roman_set_telescope_pointing. Operating on a list of Roman Level 1 exposures, this command updates the world coordinate system keywords with the values necessary to translate from aperture pixel to sky coordinates.

Access to the Roman Engineering Mnemonic database is required. See the Engineering Database Interface for more information.

Programmatically, the command line is implemented by the function add_wcs, which calls the basic function calc_wcs.

There are two data structures used to maintain the state of the transformation. TransformParameters contains the parameters needed to perform the transformations. Transforms contains the calculated transformation matrices.

Transformation Matrices

All the transformation matrices, as defined by Transforms, are Direction Cosine Matrices (DCM). A DCM contains the Euler rotation angles that represent the sky coordinates for a particular frame-of-reference. The initial DCM is provided through the engineering telemetry and represents how the observatory is orientated.

META Affected

The following meta values are populated:

  • meta.guide_star.hv_position

  • meta.pointing.dec_v1

  • meta.pointing.pa_aperture

  • meta.pointing.pa_v3

  • meta.pointing.quaternion

  • meta.pointing.ra_v1

  • meta.pointing.target_dec

  • meta.pointing.target_ra

  • meta.wcsinfo.dec_ref

  • meta.wcsinfo.ra_ref

  • meta.wcsinfo.roll_ref

  • meta.wcsinfo.s_region

Functions

add_wcs(filename[, dry_run, save_transforms])

Add WCS information to a Roman DataModel.

update_wcs(model, **transform_kwargs)

Update WCS pointing information.

romancal.orientation.pointing_summary Module

Pointing Summary.

Review contents of a set of given models for pointing information. Compare the calculated V1 and REFPOINT pointing with the proposed TARGET pointing.

Examples

>>> from roman_datamodels.datamodels import ScienceRawModel
>>> im = ScienceRawModel.create_fake_data()
>>> im.meta.pointing.target_ra = 90.75541666666666
>>> im.meta.pointing.target_dec = -66.56055555555554
>>> im.meta.pointing.ra_v1 = 91.08142004561715
>>> im.meta.pointing.dec_v1 = -66.60547868904696
>>> im.meta.wcsinfo.ra_ref = 90.70377653291781
>>> im.meta.wcsinfo.dec_ref = -66.59540223936895
>>> calc_pointing_deltas(im)
Delta(target=<SkyCoord (ICRS): (ra, dec) in deg
    (90.75541667, -66.56055556)>, v1=<SkyCoord (ICRS): (ra, dec) in deg
    (91.08142005, -66.60547869)>, refpoint=<SkyCoord (ICRS): (ra, dec) in deg
    (90.70377653, -66.59540224)>, delta_v1=<Angle 0.13712727 deg>, delta_refpoint=<Angle 0.04044315 deg>)
>>> t = calc_deltas([im])
>>> print(t.columns)
<TableColumns names=('exposure','target','v1','refpoint','delta_v1','delta_refpoint')>
>>> delta_v1 = t["delta_v1"][0]
>>> "%.13f" % delta_v1
'0.1371272716401'
>>> delta_refpoint = t["delta_refpoint"][0]
>>> "%.13f" % delta_refpoint
'0.0404431476150'

Functions

calc_deltas(exposures[, extra_meta])

Create table of pointing deltas.

calc_pointing_deltas(model)

Calculate pointing deltas.

Classes

Delta(target, v1, refpoint, delta_v1, ...)

Create new instance of Delta(target, v1, refpoint, delta_v1, delta_refpoint)

Commands

Available commands are as follows. Use the -h option for more details.

roman_set_telescope_pointing

Update basic WCS information in Roman exposures from the engineering database.

roman_pointing_summary

Summarize various pointing information in a table.

roman_v1_calculate

Calculate V1 over a time period.