open¶
-
baseband.vdif.base.
open
(name, mode=u'rs', **kwargs) [edit on github]¶ Open VDIF file for reading or writing.
Opened as a binary file, one gets a wrapped filehandle that adds methods to read/write a frame. Opened as a stream, the handle is wrapped further, with methods such as reading and writing to the file as if it were a stream of samples.
Parameters: name : str or filehandle
File name or handle.
mode : {‘rb’, ‘wb’, ‘rs’, or ‘ws’}, optional
Whether to open for reading or writing, and as a regular binary file or as a stream. Default: ‘rs’, for reading a stream.
**kwargs
Additional arguments when opening the file as a stream.
— For reading a stream : (see
VDIFStreamReader
)sample_rate :
Quantity
, optionalNumber of complete samples per second, i.e. the rate at which each channel in each thread is sampled. If
None
(default), will be inferred from the header or by scanning one second of the file.squeeze : bool, optional
If
True
(default), remove any dimensions of length unity from decoded data.subset : indexing object or tuple of objects, optional
Specific components of the complete sample to decode (after possible squeezing). If a single indexing object is passed, it selects threads. If a tuple is passed, the first selects threads and the second selects channels. If the tuple is empty (default), all components are read.
fill_value : float or complex, optional
Value to use for invalid or missing data. Default: 0.
verify : bool, optional
Whether to do basic checks of frame integrity when reading. The first frameset of the stream is always checked. Default:
True
.— For writing a stream : (see
VDIFStreamWriter
)header0 :
VDIFHeader
Header for the first frame, holding time information, etc. Can instead give keyword arguments to construct a header (see
**kwargs
).sample_rate :
Quantity
Number of complete samples per second, i.e. the rate at which each channel in each thread is sampled. For EDV 1 and 3, can alternatively set
sample_rate
within the header.nthread : int, optional
Number of threads (e.g., 2 for 2 polarisations). Default: 1.
squeeze : bool, optional
If
True
(default), writer accepts squeezed arrays as input, and adds any dimensions of length unity.**kwargs
If the header is not given, an attempt will be made to construct one with any further keyword arguments. See
VDIFStreamWriter
.Returns: Filehandle
VDIFFileReader
orVDIFFileWriter
(binary), orVDIFStreamReader
orVDIFStreamWriter
(stream).