|
|||
NRAO Home > CASA > CASA Toolkit Reference Manual |
|
measures.measure - Function
1.4.1 convert a measure to another reference
Description
measure converts measures (epoch, direction etc.) from one reference to
another. It will, for instance, convert a direction from J2000 to AZEL
representation.
Its arguments are a measure, an output reference code (see the individual
measures for the allowable codes (direction, position, epoch, frequency,
doppler, radialvelocity, baseline, uvw, earthmagnetic)), and an optional offset
of the same type as the main measure. The offset will be subtracted from the
result before it is returned.
In some cases (see the individual measures for when), more information than
just a reference code is necessary. E.g. the above example of a conversion to
AZEL, needs to know for when, and where on Earth we want it. This
information is stored in a reference frame. Measures are set in the reference
frame with the doframe function. The frame is tool wide.
IMPORTANT NOTE:
To get an accurate conversion of solar system objects direction to a celestial
frame, one should convert to AZEL or HADEC before to get parallax
accounted for. Thus if you want to get the moon’s position in J2000..one
would do it in 2 stages
i.e (after setting the appropriate frames)
moonazel=me.measure(me.direction(’moon’), ’AZELGEO’)
moonJ2000=me.measure(moonazel, ’J2000’)
Arguments
Inputs |
| ||
v |
| measure to be converted | |
| allowed: | record |
|
| Default: |
| |
rf |
| output reference code
| |
| allowed: | string |
|
| Default: |
|
|
off |
| optional output offset measure
| |
| allowed: | record |
|
| Default: |
|
|
record
Example
print "\t----\t measure Ex 1 \t----"
a = me.epoch(’utc’,’today’) # a time
print a
#{’m0’: {’value’: 54054.872957673608, ’unit’: ’d’},
# ’refer’: ’UTC’,
# ’type’: ’epoch’}
print me.doframe(me.source(’1934-638’))
print me.measure(a, ’tai’) # convert to IAT
#{’m0’: {’value’: 54054.873339618054, ’unit’: ’d’},
# ’refer’: ’TAI’,
# ’type’: ’epoch’}
print me.doframe(a) # set time in frame
#True
print me.doframe(me.observatory(’ALMA’)) # set position in frame
#True
b=me.direction(’j2000’, qa.toangle(’0h’), ’-30deg’) # a direction
print b
#{’m0’: {’value’: 0.0, ’unit’: ’rad’},
# ’m1’: {’value’: -0.52359877559829882, ’unit’: ’rad’},
# ’refer’: ’J2000’,
# ’type’: ’direction’}
print me.measure(b, ’azel’) # convert to AZEL
#{’m0’: {’value’: 1.9244096810822324, ’unit’: ’rad’},
# ’m1’: {’value’: 0.76465385681363052, ’unit’: ’rad’},
# ’refer’: ’AZEL’,
# ’type’: ’direction’}
print qa.angle(me.getvalue(me.measure(b,’azel’))[’m0’]) # show as angles
#[’+110.15.38’]
print qa.angle(me.getvalue(me.measure(b,’azel’))[’m1’])
#[’+043.48.41’]
Another example:
print "\t----\t measure Ex 2 \t----"
# Fill the frame with necessary information
print me.doframe(me.epoch(’utc’,’today’))
#True
print me.doframe(me.observatory(’ALMA’))
#True
print me.doframe(me.direction(’mars’))
#True
a=qa.unit(’1GHz’)
print a
#{’value’: 1.0, ’unit’: ’GHz’}
m=me.frequency(’lsrk’,qa.quantity(qa.getvalue(a),qa.getunit(a)))
print m
#{’m0’: {’value’: 1000000000.0, ’unit’: ’Hz’},
# ’refer’: ’LSRK’,
# ’type’: ’frequency’}
print me.measure(m,’lsrd’)
#{’m0’: {’value’: 1000001766.3928765, ’unit’: ’Hz’},
# ’refer’: ’LSRD’,
# ’type’: ’frequency’}
__________________________________________________________________
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