Getting Started Documentation Glish Learn More Programming Contact Us
Version 1.9 Build 1556
News FAQ
Search Home


next up previous contents
Next: sditerator Up: NOTE 236 - DISH: User's Manual Previous: Development Plan


The sdrecord

The SDRecord is the fundamental data atom of dish. It has recently been updated (V1.4) to more closely resemble individual rows of the MeasurementSet.

Unless otherwise stated, the units of all values in an SDRecord are SI units. Angles are expressed in degrees. This structure was arrived at before Measures and coordinates were fully supported in Glish. As a result, temporary fields in an SDRecord are used to hold sufficient information to indicate the coordinate system and reference frame where appropriate. All of the fields described below are required unless stated otherwise.

The value of a field is undefined in the following circumstances:

For boolean fields, all values are considered valid. In addition, all values in the data array should be considered valid. The data array flag field should be used to indicate invalid values in the data array.

An SDRecord is a Glish record having the following structure:

data
A Glish record which contains the data array and a description of the data array (axis type, values, increments, and units).
arr - float | complex
The data array. The dimensionality of the data array is (nstokes,nchan) where nchan is the number of channels and nstokes is the number of different stokes types found in this data. nstokes is either 1, 2 or 4.
desc
A Glish record which describes the data array.
chan_freq - Quantity[nchan]
'unit' defines the units of the x-axis and 'value' defines the values of the x-axis.
refframe - string
Defines the reference frame.
reffrequency - double[Hz]
The frequency of the center pixel.
chan_width - double
The width of the channels in units of x.
restfrequency - double[Hz]
The rest frequency of the observed line.
corr_type - string[nstokes]
A vector of strings describing the Stokes type of each element of the second axis of the data array. The possible Stokes types are:
I, Q, U, V, RR, RL, LR, LL, XX, XY, YX, YY, RX, RY, LX, LY, XR, XL YR, YL, PP, PQ, QP, QQ
For a typical single dish telescope, raw data will have stokes = ("XX", "YY") or ("RR", "LL").
unit - string
A string describing the units of the data array.
flag -bool[nchan,nstokes]
A boolean matrix with the shape as arr. When true, the corresponding value in arr has been flagged as bad and should not be used. When false, the corresponding value in arr is good.
weight - float[ntokes,nchan]
A floating point matrix having the same shape as arr.
sigma - float[nstokes,nchan]
Theoretical rms.
header
A Glish record with the following fixed structure. The bulleted items are merely separators to make this list easier to read, they are not members of header. The type of each field is indicated at the end of each description. Vector fields are indicated by giving the length of the vector in parenthesis after the field type.
hist - string
This vector of strings contains a history of the operations which resulted in this SDRecord. Each element is a valid Glish command. Taken as a whole, the hist field should be sufficient to regenerate the SDRecord from the original data source.

In addition to the fixed structure described above. An SDRecord may contain an optional ns_header field. This is a Glish record which can contain any additional information not found in the fixed portion of an SDRecord. This field will typically be used for telescope-dependent information.

To summarize, in pseudo-Glish an SDRecord looks like this:

	sdrecord := [data=[=], header=[=], hist=[=], ns_header=[=]];
	sdrecord.data := [arr=[...], flag=[...], desc=[=], weight=[...]];
	sdrecord.data.desc := [units=,stokes=,ctype=,crpix=,crval=,cdelt=];
        sdrecord.header := [time=,scan_number=,object=,etc.];
	sdrecord.hist := ["# useful history","# as a vector","# etc. etc."];
        sdrecord.ns_header := [non-standard fields]

ns_header is optional

Additional information can be found in the Reference Manual section on the get function of the Sditerator tool. See also the is_sdrecord function.


next up previous contents
Next: sditerator Up: NOTE 236 - DISH: User's Manual Previous: Development Plan   Contents
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc., Washington, D.C.

Return to AIPS++ Home Page
2006-10-15