next up previous 530
Next: Digits/Digits(axis) - Number of digits of precision
Up: Frame Attributes
Previous: Frame Attributes

Specifying Attributes for sub-Frames within Compound Frames

Let's say you have a spectral cube in which the WCS axes are wavelength, RA and Dec. In this case, the current co-ordinate Frame will actually be a `compound' Frame containing two `component' Frames; a one-dimensional spectral Frame and a two-dimensional sky Frame. If we consider an attribute such as System (which all classes of Frame have), we now seem to have three different Systems to consider; the System value for the component spectral Frame, the System value for the component sky Frame and the System value for the compound Frame as a whole. So if we want to set the spectral system to "optical velocity", and celestial system to "Galactic" what do we do? The answer is to include the index of an axis within the attribute name. If WCS axis 1 is the spectral axis, 2 is the RA axis and 3 is the Dec. axis, then we would do the following:

    % wcsattrib fred set "System(1)" vopt
    % wcsattrib fred set "System(2)" galactic

In fact, we could have used "System(3)" in place of "System(2)" since axes 2 and 3 are both contained within the same sky Frame and so setting the System attribute for either one will have the same effect. We could now examine the attributes as follows:

    % wcsattrib fred get "System(1)"
    % wcsattrib fred get "System(2)"

These commands will display vopt and Galactic, as expected. Note, the following command:

    % wcsattrib fred get "System"

will display Compound since it is displaying the System value of the compound Frame as a whole (because no axis index was included).

To continue this example, the SpecFrame  class (which represents spectral axes) has an attribute called StdOfRest  (standard of rest). This attribute is specific to the SpecFrame class and is not recognised by other classes of Frames. If we do:

    % wcsattrib fred set "StdOfRest" LSRK

we will get an error saying the attribute name is unknown. This is because compound Frames do not have a StdOfRest attribute. If we want to set the standard of rest, we must indicate the index of the spectral axis as follows:

    % wcsattrib fred set "StdOfRest(1)" LSRK

Likewise, if we wanted to set the Equinox  attribute of the sky Frame, we could say:

    % wcsattrib fred set "Equinox(2)" "J2003.5"



next up previous 530
Next: Digits/Digits(axis) - Number of digits of precision
Up: Frame Attributes
Previous: Frame Attributes

KAPPA --- Kernel Application Package
Starlink User Note 95
Malcolm J. Currie & David S. Berry
2013 February 14
E-mail:starlink@jiscmail.ac.uk

Copyright © 2013 Science and Technology Facilities Council