forked from demorest/sdmpy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
131 lines (109 loc) · 3.99 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
sdmpy -- P. Demorest, 2015/03
Simple classes for reading VLA/ALMA Science Data Model (SDM) XML
files. The structure of the SDM is a set of tables, which contain
rows of data. The main goal of this is to have a straightforward,
relatively dependency-free way of doing simple or low-level stuff with
SDMs (e.g., for situations where invoking CASA is unnecessary).
Here is a short ipython session showing a example usage:
In [1]: import sdmpy
In [2]: s = sdmpy.SDM('15A-105_sb30463808_1.57082.53091797454')
In [3]: s.tables
Out[3]:
['SpectralWindow',
'CalData',
'Antenna',
'Subscan',
'SwitchCycle',
'Polarization',
'Source',
'State',
'Station',
'Main',
'Flag',
'ExecBlock',
'SBSummary',
'ConfigDescription',
'Receiver',
'Processor',
'CorrelatorMode',
'Feed',
'PointingModel',
'Field',
'Scan',
'CalDevice',
'Weather',
'CalReduction',
'DataDescription']
In [4]: s['Field'][0].keys
Out[4]:
['code',
'referenceDir',
'phaseDir',
'sourceId',
'delayDir',
'fieldName',
'time',
'fieldId',
'numPoly']
In [5]: s['Field'][0].fieldName
Out[5]: 'J1728+0427'
In [6]: for row in s['Field']: print row.fieldName
J1728+0427
J1713+0747
J1924-2914
J1909-3744
1411+522=3C295
In [7]: len(s['Main'])
Out[7]: 24
sdmpy also contains a parser for BDF (Binary Data Format) files, which contain
the actual visibility data. Note that this has been developed mainly for
VLA/WIDAR data and is likely not complete for use with ALMA data. Example
usage (see docstrings for more info):
In [1]: import sdmpy
In [2]: b = sdmpy.BDF('uid____evla_bdf_1433189755525')
In [3]: b.numAntenna
Out[3]: 25
In [4]: b.numBaseline
Out[4]: 300
In [5]: b.numIntegration
Out[5]: 180
In [6]: b.basebands
Out[6]: ['AC_8BIT', 'BD_8BIT']
In [7]: i = b.get_integration(17) # Get integration number 17
In [8]: d = i.get_data(0) # Get spw 0 data
In [9]: d.shape
Out[9]: (300, 1, 64, 4)
In [10]: d[10,0,:,0]
Out[10]:
array([ -1.92527496e-03+0.00236825j, -1.01333787e-03-0.0019273j ,
3.88602726e-04-0.00326904j, 3.37082194e-04+0.0035117j ,
4.74026240e-03-0.00303986j, -1.39878283e-03+0.00315546j,
4.75925812e-03+0.00384983j, -6.46819070e-04-0.00230185j,
1.04035577e-03-0.0033494j , 4.77438327e-04+0.00407107j,
-7.42492499e-03-0.00551728j, -4.23104153e-04-0.00136438j,
-1.09272427e-04-0.00189404j, 2.70528137e-04+0.00265754j,
9.03953623e-04+0.00172536j, -2.13428610e-03+0.00210991j,
4.50677879e-04+0.00092774j, 2.75413692e-03+0.00105019j,
2.04323884e-03+0.00331562j, -4.14338522e-03+0.00393523j,
2.90520466e-03-0.00068069j, -7.84504786e-03+0.0031926j ,
-1.59289513e-03-0.00068654j, -8.57894833e-04+0.00268888j,
-4.27102018e-03+0.00065515j, 3.69449146e-03-0.00241908j,
4.95729037e-04+0.00161663j, -1.60046294e-03-0.00291464j,
-2.17019930e-03-0.00133767j, -3.01234191e-04-0.00817809j,
5.38951717e-05-0.00192556j, -5.56168333e-03-0.00130252j,
5.06524229e-05+0.00059094j, 1.00876275e-03+0.00976392j,
-6.54946594e-03+0.00503897j, -2.47276877e-03-0.0019854j ,
3.56894545e-03+0.00648416j, -1.66386040e-03-0.00040906j,
3.25945253e-03-0.0011268j , 6.37905393e-03+0.00060488j,
2.66728364e-03-0.00056195j, 2.84236716e-03+0.00086546j,
3.23694502e-03+0.00111199j, 6.35888521e-03+0.00346222j,
-3.01071745e-03+0.0015606j , 6.97700772e-04+0.00021654j,
-5.21393435e-04+0.00208696j, 2.45397002e-03-0.00393461j,
-1.13227195e-03+0.00167564j, -2.68122321e-03-0.00271649j,
-1.96605665e-03-0.00489836j, 2.49449024e-03+0.0007483j ,
-7.28207640e-04+0.00322795j, -3.14944983e-03-0.00022846j,
9.21148807e-04+0.00533055j, -9.83621459e-04+0.00440285j,
-4.31790622e-03-0.00243727j, -4.21724096e-03-0.00223194j,
1.09594746e-03+0.00397917j, -2.94885552e-03-0.00085458j,
7.17548071e-04-0.00044755j, -2.99423118e-05-0.00164009j,
1.18584884e-03+0.00028139j, -5.73034631e-04+0.00078536j], dtype=complex64)