miriad 4.1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/ext/miriad_ruby.c ADDED
@@ -0,0 +1,602 @@
1
+ /*
2
+ * This file is just to document the classes/methods from the SWIG wrappers
3
+ * that we want to document. It is for rdoc, not gcc. At least for now.
4
+ * Eventually, it might be nice to dump SWIG since I seem to spend more time
5
+ * keeping it happy than it seems to save.
6
+ */
7
+
8
+ #define static typedef
9
+ #define VALUE int
10
+
11
+ /*
12
+ * Document-class: Miriad
13
+ */
14
+
15
+ /*
16
+ * Document-class: Miriad::Uvio
17
+ */
18
+
19
+ /*
20
+ * Document-method: initialize
21
+ *
22
+ * call-seq: Uvio.new(name, status)
23
+ *
24
+ * <b>NOTE: This method provides lower-level access than the open() method. It
25
+ * may disappear in future versions.</b>
26
+ *
27
+ * Opens a uv dataset and readies it for access. Here +name+ is the dataset's
28
+ * name. +status+ can be: <tt>'old'</tt> or <tt>'read'</tt> to open an
29
+ * existing dataset for reading, <tt>'new'</tt> or <tt>'write'</tt> to create a
30
+ * new dataset, or <tt>'append'</tt> to add to an existing dataset
31
+ */
32
+ static VALUE uvio_initialize();
33
+
34
+ /*
35
+ * Document-method: close
36
+ *
37
+ * call-seq: close() -> nil
38
+ *
39
+ * Closes the uv dataset.
40
+ */
41
+ static VALUE uvio_close;
42
+
43
+ /*
44
+ * Document-method: flush
45
+ *
46
+ * call-seq: flush() -> nil
47
+ *
48
+ * Flush buffers of the uv dataset to disk.
49
+ */
50
+ static VALUE uvio_flush;
51
+
52
+ /*
53
+ * Document-method: uvnext
54
+ *
55
+ * call-seq: uvnext() -> nil
56
+ *
57
+ * Skip to the next uv data record. When writing, this causes an end-of-record
58
+ * mark to be written. When reading, this causes data to be read up until the
59
+ * next end-of-record mark.
60
+ */
61
+ static VALUE uvio_uvnext;
62
+
63
+ /*
64
+ * Document-method: rewind
65
+ *
66
+ * call-seq: rewind() -> nil
67
+ *
68
+ * Rewind a uv file, readying it to be read from the begining again.
69
+ */
70
+ static VALUE uvio_rewind;
71
+
72
+ /*
73
+ * Document-method: probvr
74
+ *
75
+ * call-seq: probvr(var) -> [type, length, updated] or nil
76
+ *
77
+ * Checks whether a the uv variable +var+ exists. If it does, returns a three
78
+ * element array indicating the variable's type, (current) length, and whether
79
+ * it was updated on the last call to read or scan. If it doesn't exist, it
80
+ * returns nil.
81
+ *
82
+ * +type+ can be one of...
83
+ *
84
+ * * <tt>'a'</tt> - ASCII data
85
+ * * <tt>'i'</tt> - Integer data
86
+ * * <tt>'r'</tt> - Single precision real data
87
+ * * <tt>'d'</tt> - Double precision real data
88
+ * * <tt>'c'</tt> - Single precision complex data
89
+ */
90
+ static VALUE uvio_probvr;
91
+
92
+ /*
93
+ * Document-method: putvr
94
+ *
95
+ * call-seq: putvr(var, data, type=-1) -> nil
96
+ *
97
+ * Writes +data+ as the value of a uv variable +var+. +data+ can be a Ruby
98
+ * object, an Array of Ruby objects, or an NArray.
99
+ *
100
+ * If +type+ is -1, the default, the MIRIAD type will be autodetected from
101
+ * +data+. Generally, this works well only for Strings and NArrays, but not
102
+ * for Numeric types. For full control, specify +type+ as one of...
103
+ *
104
+ * * <tt>?a</tt> - ASCII data
105
+ * * <tt>?i</tt> - Integer data
106
+ * * <tt>?r</tt> - Single precision real data
107
+ * * <tt>?d</tt> - Double precision real data
108
+ */
109
+ static VALUE uvio_putvr;
110
+
111
+ /*
112
+ * Document-method: scan
113
+ *
114
+ * call-seq: scan(var) -> nil
115
+ *
116
+ * Scan through the uv file until variable +var+ changes. This always reads to
117
+ * the end of the record in which +var+ was encountered (i.e. until all
118
+ * variables that change simultaneously are read).
119
+ */
120
+ static VALUE uvio_scan;
121
+
122
+ /*
123
+ * Document-method: write
124
+ *
125
+ * call-seq: write(preamble, data, flags) -> [preamble, data, flags]
126
+ *
127
+ * Write a visibility record to the uv dataset. Please note +write+ closes the
128
+ * record. Any wideband data should have been written with +wwrite+ before this
129
+ * call.
130
+ *
131
+ * +preamble+ can be an Array or NArray of 4 or 5 elements giving _u_, _v_,
132
+ * optionally _w_ (see uvset()), _time_, and _baseline_ (in that order). If
133
+ * +preamble+ is an NArray, it must be of type NArray::DFLOAT.
134
+ *
135
+ * +data+ is the complex correlation data. It can be an Array or NArray. If
136
+ * it is an Array, it must have the real and imaginary components in
137
+ * consecutive elemtents (specifically, Complex Array elements are not [yet]
138
+ * supported). If it is an NArray, it must be of type NArray::SFLOAT (with
139
+ * real and imaginary components in consecutive elements) or NArray::SCOMPLEX
140
+ * (with complex elements).
141
+ *
142
+ * +flags+ can be an Array or NArray. If it is an NArray, it must be of type
143
+ * NArray::LINT. Note that +flags+ must have as many elements as +data+ has
144
+ * complex data points. This will be either half as many elements as +data+
145
+ * (if +data+ has real and imaginary components in consecutive elements) or the
146
+ * same number of elements as +data+ (if +data+ is NArray::SCOMPLEX).
147
+ */
148
+ static VALUE uvio_write;
149
+
150
+ /*
151
+ * Document-method: wwrite
152
+ *
153
+ * call-seq: wwrite(preamble, data, flags) -> [preamble, data, flags]
154
+ *
155
+ * Write a wide-band visibility record to the data file. Make sure this routine
156
+ * is called before write(), since that closes the record.
157
+ *
158
+ * See write() for a discussion of preamble, data, and flags.
159
+ *
160
+ */
161
+ static VALUE uvio_wwrite;
162
+
163
+ /*
164
+ * Document-method: set
165
+ *
166
+ * call-seq: set(object, type, n=0, p1=0.0, p2=0.0, p3=0.0) -> nil
167
+ *
168
+ * Modifies the behavior of the read and write methods.
169
+ *
170
+ * ==== How set affects read
171
+ *
172
+ * The uvread routine can perform, at the programmer's request, extra
173
+ * processing steps on the visibility data. These steps consist of averaging
174
+ * and resampling frequency channels, uv coordinate conversion and some
175
+ * corrections for planet observations. The steps are requested by calls to
176
+ * set. In the call to set, +object+ (String) gives the general processing step
177
+ * that is being requested. The +type+ argument (String) gives more specific
178
+ * details, and the arguments +n+ (Integer) and <tt>p1</tt>, <tt>p2</tt> and
179
+ * <tt>p3</tt> (Floats) give any numerical values needed.
180
+ *
181
+ * Note that the setup given by set only becomes correctly activated during
182
+ * the next call to read. Before this next call, the setup is in a somewhat
183
+ * nebulous state. You should not expect various other routines associated
184
+ * with read to work as expected until after the next call to read.
185
+ * Associated routines include flagwr and info [info not yet implemented].
186
+ *
187
+ * The possible values of the arguments to set are summarized below. Not all
188
+ * parameters are used in every case. If a parameter is not mentioned for a
189
+ * particular usage, then it is ignored. While several processing steps can be
190
+ * performed simultaneously (several calls to set will be needed to specify
191
+ * them all), others are mutually inconsistent. When mutually inconsistent
192
+ * steps are requested, the last requested step is honored.
193
+ *
194
+ * * <tt>object='data'</tt> -> n=_nchan_, p1=_start_, p2=_width_, p3=_step_
195
+ *
196
+ * This gives operations on the spectral data.
197
+ *
198
+ * * <tt>type='channel'</tt> selects the channels to be returned, and
199
+ * possible averaging together of the channel data. If the original
200
+ * channels are numbers from 1 to _N_, then, by using
201
+ * <tt>type='channel'</tt>, read will return _nchan_ massaged channels,
202
+ * where the <em>i</em>th channel of the massaged channels is formed by
203
+ * averaging _width_ channels of the original data, starting at channel
204
+ * (_i_-1)*_step_+_start_. If set is called with _nchan_ being zero, all
205
+ * channels are selected (note that this only makes sense if _start_,
206
+ * _step_, and _width_ are all 1).
207
+ *
208
+ * * <tt>type='wide'</tt> is similar, but uses the continuum data rather than
209
+ * the spectral data.
210
+ *
211
+ * * <tt>type='velocity'</tt> is also similar, returning a weighted sum of
212
+ * the spectral data. However in this case _start_, _width_ and _step_ are
213
+ * given in units of km/s (rather than channels). This is particularly
214
+ * useful if the spectrometer setup is not constant throughout the data or
215
+ * there is no Doppler tracking, and so the velocity of a given channel
216
+ * changes.
217
+ *
218
+ * * Note that 'channel', 'wide', and 'velocity' are mutually exclusive. The
219
+ * default is 'channel' (or wide if there is no spectral data in the file),
220
+ * with _start_, _width_, and _step_ of 1.
221
+ *
222
+ * * If there are fewer than _nchan_ channels, then dummy channels, which are
223
+ * flagged as bad, are added. If _nchan_ is specified as 0, then read will
224
+ * return as many channels as possible.
225
+ *
226
+ * * <tt>object='reference'</tt> -> p1=_start_, p2=_width_
227
+ *
228
+ * The "reference line" is a spectral channel, or an average of spectral
229
+ * channels, which the main data is divided by. Typically the reference line
230
+ * would be a strong point source (e.g. a maser). The resultant data is
231
+ * essentially normalized and shifted, but it also has atmospheric-based and
232
+ * instrument-base calibration problems removed. The extra parameters needed
233
+ * to describe the reference line is the same as for <tt>object='data'</tt>,
234
+ * except that the number of channels, and the increment is ignored (there is
235
+ * only ever one reference line). The default is not to have a reference
236
+ * line.
237
+ *
238
+ * * <tt>object='coord'</tt>
239
+ *
240
+ * This sets the units of the u, v, and w coordinates returned in the
241
+ * preamble. Using <tt>type='wavelength'</tt> or <tt>type='nanosec'</tt>
242
+ * sets the units of the returned coordinates. For <tt>'wavelength'</tt>, the
243
+ * sky frequency used is that of the first channel returned. The default
244
+ * value is <tt>'nanosec'</tt>.
245
+ *
246
+ * * <tt>object='planet'</tt> -> p1=_plmaj_, p2=_plmin_, p3=_plangle_
247
+ *
248
+ * This causes the u and v coordinates to be scaled and rotated, and the
249
+ * correlation values to be scaled, to adjust for changes when observing
250
+ * planets. The parameters _plmaj_, _plmin_ and _plangle_ give the reference
251
+ * size (arcseconds) and position angle (degrees) of the planet. If the
252
+ * reference size is 0, then the size of the first selected data record is
253
+ * used.
254
+ *
255
+ * * <tt>object='selection'</tt> -> n=_n_
256
+ *
257
+ * This gives extra control over the uv selection process. Currently
258
+ * there is only one possible type, <tt>'amplitude'</tt>, which enables or disables the
259
+ * amplitude selection process. If the argument _n_ is positive, then amplitude
260
+ * selection is applied (i.e. the normal action), otherwise amplitude
261
+ * selection is not applied.
262
+ *
263
+ * * <tt>object='preamble'</tt>
264
+ *
265
+ * * <tt>type='uv/time/baseline'</tt> - The preamble will be read as four
266
+ * doubles: _u_, _v_, _time_, and _baseline_. If the dataset was written with five
267
+ * element preambles, _w_ will be discarded.
268
+ *
269
+ * * <tt>type='uvw/time/baseline'</tt> - The preamble will be read as five
270
+ * doubles: _u_, _v_, _w_, _time_, and _baseline_. If the dataset was
271
+ * written with four element preambles, _w_ will be set to 0.0.
272
+ *
273
+ * ==== How set affects write
274
+ *
275
+ * * <tt>object='corr'</tt>
276
+ *
277
+ * The uv routines allow the correlation data to be stored on disk, either as
278
+ * floating point numbers, or as 16 bit integers with an associated scale
279
+ * factor. The 16 bit format roughly halves the disk space required, but
280
+ * slows the read and write operation, and can cause precision problems. On
281
+ * the first call to write, the uv routines decide on the format to use,
282
+ * using a simple rule. The set method can be used to override this rule. To
283
+ * be of use, it must be called before the first call to write. The type
284
+ * argument is a single character, being <tt>'r'</tt> or <tt>'j'</tt>, which
285
+ * instructs floating point or scaled integers, respectively, to be used.
286
+ *
287
+ * * <tt>object='data'</tt>
288
+ *
289
+ * This controls whether write() writes the data to the +corr+ or +wcorr+
290
+ * variable. The default is to write it to the +corr+ item (i.e. it assumes
291
+ * that the data is spectral, rather than continuum data).
292
+ *
293
+ * * <tt>object='preamble'</tt>
294
+ *
295
+ * * <tt>type='uv/time/baseline'</tt> - The preamble will be written as four
296
+ * doubles: _u_, _v_, _time_, and _baseline_.
297
+ *
298
+ * * <tt>type='uvw/time/baseline'</tt> - The preamble will be written as five
299
+ * doubles: _u_, _v_, _w_, _time_, and _baseline_.
300
+ */
301
+ static VALUE uvio_set;
302
+
303
+ /*
304
+ * Document-method: uvread
305
+ *
306
+ * call-seq: uvread(preamble, data, flags) -> [nread, preamble, data, flags]
307
+ *
308
+ * <b>NOTE: This method provides lower-level access than the read() method. It
309
+ * may disappear in future versions.</b>
310
+ *
311
+ * This reads a single visibility from the data file. This starts by scanning
312
+ * the uv data stream until a correlation record is found. The correlations are
313
+ * then converted to complex numbers if necessary, and returned to the caller.
314
+ * +read+ also performs some massaging and selection steps (see set() and
315
+ * select()).
316
+ *
317
+ * * +preamble+
318
+ *
319
+ * The preamble is either [_u_,_v_,_time_,_baseline_] or
320
+ * <tt></tt>[_u_,_v_,_w_,_time_,_baseline_] if
321
+ * <tt>set('preamble','uvw/time/baseline')</tt> was called. A 5 element
322
+ * preamble will populate _w_ with 0.0 if the dataset was written with only a
323
+ * 4 element preamble.
324
+ *
325
+ * * If a Fixnum is passed in as +preamble+, an NArray that long of type
326
+ * NArray::DFLOAT is created and returned with the preamble data.
327
+ *
328
+ * * Otherwise +preamble+ must be passed in as an Array or NArray (of type
329
+ * NArray::DFLOAT) of suitable length (i.e. either 4 or 5). Its contents
330
+ * will be overwritten with new premable data.
331
+ *
332
+ * * +data+
333
+ *
334
+ * The complex valued correlation data are returned in +data+.
335
+ *
336
+ * * If a Fixnum or Bignum is passed in as +data+, an NArray that long of
337
+ * type NArray::SCOMPLEX is created, populated with +nread+ complex data
338
+ * values, and returned.
339
+ *
340
+ * * Otherwise, +data+ must be passed in as an Array or Narray (of type
341
+ * NArray::SCOMPLEX). Its contents will be overwritten with +nread+ data
342
+ * values. Note that an Array will be filled with real and imaginary
343
+ * components in consecutive elements and must therefore contain twice as
344
+ * many elements as the number of complex valued data points. In general,
345
+ * NArray +data+ will be preferred.
346
+ *
347
+ * * In either of the above cases, the number of complex valued data points
348
+ * (either +data+ or <tt>data.length</tt>) must be the same as the number
349
+ * of flag values, otherwise an exception will be raised. Note that the
350
+ * length of an Array is twice the number of complex valued data points
351
+ * that will fit in it.
352
+ *
353
+ * * +flags+
354
+ *
355
+ * The flags indicate whether the corresponding data value has been deemed
356
+ * good or bad. A +1+ means good; a +0+ means bad.
357
+ *
358
+ * * If a Fixnum or Bignum is passed in as +flags+, an NArray that long of
359
+ * type NArray::LINT is created, populated with +nread+ flag values, and
360
+ * returned.
361
+ *
362
+ * * Otherwise, +flags+ must be passed in as an Array or Narray (of type
363
+ * NArray::LINT). Its contents will be overwritten with +nread+ flag
364
+ * values.
365
+ *
366
+ * * In either of the above cases, the number of complex valued data points
367
+ * (either +data+ or <tt>data.length</tt>) must be the same as the number
368
+ * of flag values, otherwise an exception will be raised.
369
+ *
370
+ * * +nread+
371
+ *
372
+ * The number of complex data values and flag values actually read is
373
+ * returned in the first element of the return Array.
374
+ */
375
+ static VALUE uvio_uvread;
376
+
377
+ /*
378
+ * Document-method: uvwread
379
+ *
380
+ * call-seq: uvwread(data, flags) -> [nread, data, flags]
381
+ *
382
+ * <b>NOTE: This method provides lower-level access than the wread() method.
383
+ * It may disappear in future versions.</b>
384
+ *
385
+ * This reads a single wideband visibility record from the data file. This
386
+ * should generally be called after uvread(). It performs no scanning before
387
+ * returning the data. Thus it always returns any wideband data (even if
388
+ * uvread() has detected end-of-file). Although uvwread() is independent of the
389
+ * linetype set with set(), it otherwise generally performs the same massaging
390
+ * steps as uvread() (e.g. data selection, amplitude flagging and planet
391
+ * scaling).
392
+ *
393
+ * The parameters and return values are the same as for uvread(), minus the
394
+ * +preamble+ parameter and return value.
395
+ */
396
+ static VALUE uvio_uvwread;
397
+
398
+ /*
399
+ * Document-method: getvr
400
+ *
401
+ * call-seq: getvr(name) -> value or nil
402
+ *
403
+ * Returns the current value of uv variable named +name+ or +nil+ if the named
404
+ * variable does not (yet) exist.
405
+ *
406
+ * Note that complex uv variables are not [yet] supported.
407
+ */
408
+ static VALUE uvio_getvr;
409
+
410
+ /*
411
+ * Document-method: updated?
412
+ *
413
+ * call-seq: updated?() -> true or false
414
+ *
415
+ * This checks whether any "important variables" has been updated in the
416
+ * last call to uvread() or scan(). Important variables are those flagged
417
+ * with the 'u' flag in a call to track().
418
+ */
419
+ static VALUE uvio_updated;
420
+
421
+ /*
422
+ * Document-method: track
423
+ *
424
+ * call-seq: track(name, switches)
425
+ *
426
+ * Allows the programmer to set switches associated with uv variable +name+.
427
+ *
428
+ * There appears to be no way to "untrack" a variable.
429
+ *
430
+ * +swicthes+ is a String containing one or both of the following characters:
431
+ *
432
+ * <tt>u</tt>::
433
+ * Remember if variable +name+ gets updated. When it gets updated, updated?
434
+ * returns true the next time it is called.
435
+ *
436
+ * <tt>c</tt>::
437
+ * Remember if variable +name+ gets updated. When it gets updated, cause it
438
+ * to be copied during the next call to copyvr. [copyvr not yet supported.]
439
+ */
440
+ static VALUE uvio_track;
441
+
442
+ /*
443
+ * Document-method: sela
444
+ *
445
+ * call-seq: sela(object, datasel, value) -> nil
446
+ *
447
+ * Select or reject uv data based on a String. This specifies the portion of
448
+ * the data to be selected by calls to uvread.
449
+ *
450
+ * +object+ can be either <tt>'source'</tt> or <tt>'purpose'</tt>.
451
+ *
452
+ * +datasel+ is either 1 to select or 0 to reject.
453
+ *
454
+ * +value+ is a String that will be used as the search critereon.
455
+ *
456
+ * See also select().
457
+ */
458
+ static VALUE uvio_sela;
459
+
460
+ /*
461
+ * Document-method: select
462
+ *
463
+ * call-seq: select(object, datasel, p1=0.0, p2=0.0) -> nil
464
+ *
465
+ * Select or reject uv data based on numeric values. This specifies the
466
+ * portion of the data to be selected by calls to uvread. Generally uvselect
467
+ * will be called many times, each call giving a different selection or discard
468
+ * criterion.
469
+ *
470
+ * Normally data that are not selected, are not returned. Exceptions are the
471
+ * "window" and "amplitude" objects, which cause the corresponding visibilities
472
+ * to be flagged as bad, but returned anyway.
473
+ *
474
+ * +object+ is a String giving the parameter on which a select/discard
475
+ * criterion is based. See the list below for permissible values for +object+.
476
+ *
477
+ * +datasel+ is either 1 to select or 0 to reject.
478
+ *
479
+ * <tt>p1</tt> and <tt>p2</tt>, both Floats, give added numerical parameters.
480
+ * Generally <tt>p1</tt> and <tt>p2</tt> give a range of parameter values to
481
+ * select or discard. Note that the units of the values are consistent with
482
+ * the units of the underlying uv variables. These are not necessarily the
483
+ * most convenient units for the user.
484
+ *
485
+ * Here is a list of permissible values for +object+ along with the
486
+ * applicability of <tt>p1</tt> and </tt>p2</tt> and their units (in
487
+ * parentheses). Only applicable parameters are shown; parameters not shown
488
+ * are ignored.
489
+ *
490
+ * <tt>time</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (Julian date)
491
+ * <tt>on</tt>:: <tt>p1</tt>=state
492
+ * <tt>polarization</tt>:: <tt>p1</tt>=polval (FITS code)
493
+ * <tt>dazim</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (radians?)
494
+ * <tt>delev</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (radians?)
495
+ * <tt>dra</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (radians)
496
+ * <tt>ddec</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (radians)
497
+ * <tt>ra</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (radians)
498
+ * <tt>dec</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (radians)
499
+ * <tt>ha</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (radians?)
500
+ * <tt>lst</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (radians?)
501
+ * <tt>elevation</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (radians?)
502
+ * <tt>uvrange</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (wavelengths)
503
+ * <tt>uvnrange</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (nanoseconds)
504
+ * <tt>frequency</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (GHz)
505
+ * <tt>pointing</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (arcseconds)
506
+ * <tt>seeing</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (???)
507
+ * <tt>visibility</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max
508
+ * <tt>increment</tt>:: <tt>p1</tt>=incr
509
+ * <tt>shadow</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max (???)
510
+ * <tt>bin</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max
511
+ * <tt>amplitude</tt>:: <tt>p1</tt>=min, <tt>p2</tt>=max
512
+ * <tt>window</tt>:: <tt>p1</tt>=win
513
+ * <tt>antennae</tt>:: <tt>p1</tt>=ant1, <tt>p2</tt>=ant2
514
+ * <tt>auto</tt>:: <tt></tt>
515
+ * <tt>or</tt>:: <tt></tt>
516
+ * <tt>and</tt>:: <tt></tt>
517
+ * <tt>clear</tt>:: <tt></tt>
518
+ *
519
+ * Notes:
520
+ *
521
+ * * For "antennae", a zero indicates "all antennae".
522
+ *
523
+ * * For "shadow", a zero indicates use "antdiam" variable.
524
+ *
525
+ * * The +clear+ object causes the selection criteria to be reset to its
526
+ * default of selected everything.
527
+ *
528
+ * * *NB*: +select+ treates +and+ and +or+ as having <b>identical
529
+ * precedence</b>, and handles these operators in the order in which they are
530
+ * given. Beware of this lack of precedence.
531
+ */
532
+ static VALUE uvio_select;
533
+
534
+ /*
535
+ * Document-method: flagwr
536
+ *
537
+ * call-seq: flagwr(flags) -> nil
538
+ *
539
+ * Write uv flags after a read. This causes the flags associated with
540
+ * correlation data to be rewritten. It is typically used by a flagging
541
+ * program to overwrite old flagging information. It will typically be called
542
+ * soon after uvread (which is used to get the old flags, and position the
543
+ * file), thus overwriting the old flags.
544
+ *
545
+ * +flags+ is either an Array or NArray (of type NArray::LINT) and will
546
+ * typically have been returned by uvread and subsequently modified.
547
+ */
548
+ static VALUE uvio_flagwr;
549
+
550
+ /*
551
+ * Document-method: wflagwr
552
+ *
553
+ * call-seq: wflagwr(flags) -> nil
554
+ *
555
+ * Write wideband flags after a uvwread. This rewrites the flags associated
556
+ * with the last call to uvwread. It will typically be called soon after
557
+ * uvwread, thus overwriting the old flags.
558
+ *
559
+ * +flags+ is either an Array or NArray (of type NArray::LINT) and will
560
+ * typically have been returned by uvread and subsequently modified.
561
+ */
562
+ static VALUE uvio_wflagwr;
563
+
564
+ /*
565
+ * Document-method: hiswrite
566
+ *
567
+ * call-seq: hiswrite(text) -> nil
568
+ *
569
+ * Write a line of text to the history file. This writes a text string to the
570
+ * history file associated with the underlying dataset.
571
+ */
572
+ static VALUE uvio_hiswrite;
573
+
574
+ #if 0
575
+ void Init_Uvio() {
576
+ VALUE mMiriad = rb_define_module("Miriad");
577
+ VALUE cUvio = rb_define_class_under(mMiriad,"Uvio",rb_cObject);
578
+ rb_define_method(cUvio, "initialize", uvio_initialize, 0);
579
+ rb_define_method(cUvio, "close", uvio_close, 0);
580
+ rb_define_method(cUvio, "flush", uvio_flush, 0);
581
+ rb_define_method(cUvio, "uvnext", uvio_uvnext, 0);
582
+ rb_define_method(cUvio, "rewind", uvio_rewind, 0);
583
+ rb_define_method(cUvio, "probvr", uvio_probvr, 0);
584
+ rb_define_method(cUvio, "putvr", uvio_putvr, 0);
585
+ rb_define_method(cUvio, "scan", uvio_scan, 0);
586
+ rb_define_method(cUvio, "write", uvio_write, 0);
587
+ rb_define_method(cUvio, "wwrite", uvio_wwrite, 0);
588
+ rb_define_method(cUvio, "set", uvio_set, 0);
589
+ rb_define_method(cUvio, "uvread", uvio_uvread, 0);
590
+ rb_define_method(cUvio, "uvwread", uvio_uvwread, 0);
591
+ rb_define_method(cUvio, "getvr", uvio_getvr, 0);
592
+ rb_define_method(cUvio, "updated?", uvio_updated, 0);
593
+ rb_define_method(cUvio, "track", uvio_track, 0);
594
+ rb_define_method(cUvio, "sela", uvio_sela, 0);
595
+ rb_define_method(cUvio, "select", uvio_select, 0);
596
+ rb_define_method(cUvio, "flagwr", uvio_flagwr, 0);
597
+ rb_define_method(cUvio, "wflagwr", uvio_wflagwr, 0);
598
+ rb_define_method(cUvio, "hiswrite", uvio_hiswrite, 0);
599
+ }
600
+ #endif // 0
601
+
602
+ /* vim: set expandtab ts=2 sw=2 smarttab syntax=c cindent fo+=tcroq : */