NRAO Home > CASA > CASA Toolkit Reference Manual
coordsys.setconversiontype - Function

1.1.3 Set extra reference conversion layer


Description

Some coordinates contain a reference code. Examples of reference codes are B1950 and J2000 for direction coordinates, or LSRK and BARY for spectral coordinates. When you do conversions between pixel and world coordinate, the coordinates are in the reference frame corresponding to these codes.

This function allows you to specify a different reference frame which is used when converting between world and pixel coordinate (see function conversiontype to recover the conversion types). If it returns F, it means that although the conversion machines were successfully created, a trial conversion failed. This usually means the REST frame was involved which requires a radial velocity (not yet implemented). If this happens, the conversion type will be left as it was. The function fails if more blatant things are wrong like a missing coordinate, or an incorrect reference code.

The list of possible reference codes can be obtained via function referencecode.

With this function, you specify the desired reference code. Then, when a conversion between pixel and world is requested, an extra conversion is done to (toWorld) or from (toPixel) the specified reference frame.

The summary function shows the extra conversion reference system to the right of the native reference system (if it is different) and in parentheses.

Note that to convert between different spectral reference frames, you need a position, epoch and direction. The position (telescope) and epoch (date of observation), if not in your coordinate system can be set with functions settelescope and setepoch. The direction is the reference direction of the required direction coordinate in the coordinate system.

As an example, let us say you are working with a spectral coordinate which was constructed with the LSRK reference frame. You want to convert some pixel coordinates to barycentric velocities (reference code BARY).

"""  
#  
print "\t----\t setconversiontype Ex 1 \t----"  
csys = cs.newcoordsys(direction=T, spectral=T); # Create coordinate system  
rtn=csys.findcoordinate(’spectral’)             # Find spectral coordinate  
wa=rtn[’world’]  
pa=rtn[’pixel’]  
u = csys.units()[wa]                            # Spectral unit  
print csys.referencecode(type=’spectral’)       # Which is  in LSRK reference frame  
#LSRK  
p = [10,20,30]  
w = csys.toworld(p, format=’n’)           # Convert a pixel to LSRK world  
print ’pixel, world = ’, p, w[’numeric’]  
#pixel, world =  [10, 20, 30] [21589.999816660376, 20.000112822985134, 1415030000.0]  
p2 = csys.topixel(w)                      # and back to pixel  
print ’world, pixel = ’, w[’numeric’], p2  
#world, pixel =  [21589.999816660376, 20.000112822985134, 1415030000.0]  
# [10.00000000000248, 19.999999999999801, 30.0]  
# Convert LSRK frequency to LSRK velocity  
v = csys.frequencytovelocity(value=w[’numeric’][wa], frequnit=u,  
                             doppler=’RADIO’, velunit=’m/s’);  
print ’pixel, frequency, velocity = ’, p[pa], w[’numeric’][wa], v  
#pixel, frequency, velocity =  30 1415030000.0 1134612.30321  
csys.setconversiontype(spectral=’BARY’)   # Specify BARY reference code  
w = csys.toworld(p, format=’n’)           # Convert a pixel to BARY world  
print ’pixel, world = ’, p, w[’numeric’]  
#pixel, world =  [10, 20, 30] [21589.999816660376, 20.000112822985134, 1415031369.0081882]  
p2 = csys.topixel(w)                      # and back to pixel  
print ’world, pixel = ’, w[’numeric’], p2  
#world, pixel =  [21589.999816660376, 20.000112822985134, 1415031369.0081882]  
# [10.00000000000248, 19.999999999999801, 30.0]  
# Convert BARY frequency to BARY velocity  
v = csys.frequencytovelocity(value=w[’numeric’][wa], frequnit=u,  
                              doppler=’RADIO’, velunit=’m/s’);  
print ’pixel, frequency, velocity = ’, p[pa], w[’numeric’][wa], v  
#pixel, frequency, velocity =  30 1415031369.01 1134323.35878  
#  
"""

You must also be aware of when this extra layer is active and when it is not. It’s a bit nasty.

The summary function lists the reference frame for direction and spectral coordinates. If you have also set a conversion reference code it also lists that (to the right in parentheses).

Arguments





Inputs

direction

Reference code

allowed:

string

Default:

spectral

Reference code

allowed:

string

Default:

Returns
bool
__________________________________________________________________


More information about CASA may be found at the CASA web page

Copyright 2016 Associated Universities Inc., Washington, D.C.

This code is available under the terms of the GNU General Public Lincense


Home | Contact Us | Directories | Site Map | Help | Privacy Policy | Search