open¶
-
baseband.mark4.
open
(name, mode=u'rs', **kwargs) [edit on github]¶ Open Mark4 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
Mark4StreamReader
)sample_rate :
Quantity
, optionalNumber of complete samples per second, i.e. the rate at which each channel is sampled. If not given, will be inferred from scanning two frames of the file.
ntrack : int, optional
Number of Mark 4 bitstreams. If
None
(default), will attempt to automatically detect it by scanning the file.decade : int or None
Decade of the observation start time (eg.
2010
for 2018), needed to remove ambiguity in the Mark 4 time stamp (default:None
). Can instead pass an approximateref_time
.ref_time :
Time
or NoneReference time within 4 years of the start time of the observations. Used only if
decade
is not given.squeeze : bool, optional
If
True
(default), remove any dimensions of length unity from decoded data.subset : indexing object, optional
Specific channels of the complete sample to decode (after possible squeezing). If an empty tuple (default), all channels 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 frame of the stream is always checked. Default:
True
.— For writing a stream : (see
Mark4StreamWriter
)header0 :
Mark4Header
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 is sampled. Needed to calculate header timestamps.
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
Mark4StreamWriter
.Returns: Filehandle
Mark4FileReader
orMark4FileWriter
(binary), orMark4StreamReader
orMark4StreamWriter
(stream)