VLBIFileReaderInfo

class baseband.vlbi_base.file_info.VLBIFileReaderInfo[source] [edit on github]

Bases: baseband.vlbi_base.file_info.VLBIInfoBase

Standardized information on file readers.

The info descriptor has a number of standard attributes, which are determined from arguments passed in opening the file, from the first header (info.header0) and from possibly scanning the file to determine the duration of frames.

Examples

The most common use is simply to print information:

>>> from baseband.data import SAMPLE_MARK5B
>>> from baseband import mark5b
>>> fh = mark5b.open(SAMPLE_MARK5B, 'rb')
>>> fh.info
File information:
format = mark5b
frame_rate = 6400.0 Hz
bps = 2
complex_data = False
readable = False

missing:  nchan: needed to determine sample shape and rate.
          kday, ref_time: needed to infer full times.

errors:  start_time: unsupported operand type(s) for +: 'NoneType' and 'int'
         frame0: In order to read frames, the file handle should be initialized with nchan set.

>>> fh.close()

>>> fh = mark5b.open(SAMPLE_MARK5B, 'rb', kday=56000, nchan=8)
>>> fh.info
File information:
format = mark5b
frame_rate = 6400.0 Hz
sample_rate = 32.0 MHz
samples_per_frame = 5000
sample_shape = (8,)
bps = 2
complex_data = False
start_time = 2014-06-13T05:30:01.000000000
readable = True
>>> fh.close()
Attributes
formatstr or None

File format, or None if the underlying file cannot be parsed.

frame_rateQuantity

Number of data frames per unit of time.

sample_rateQuantity

Complete samples per unit of time.

samples_per_frameint

Number of complete samples in each frame.

sample_shapetuple

Dimensions of each complete sample (e.g., (nchan,)).

bpsint

Number of bits used to encode each elementary sample.

complex_databool

Whether the data are complex.

start_timeTime

Time of the first complete sample.

readablebool

Whether the first sample could be read and decoded.

missingdict

Entries are keyed by names of arguments that should be passed to the file reader to obtain full information. The associated entries explain why these arguments are needed.

errorsdict

Any exceptions raised while trying to determine attributes. Keyed by the attributes.

Attributes Summary

attr_names

bps

complex_data

format

frame_rate

readable

sample_rate

sample_shape

samples_per_frame

start_time

Methods Summary

__call__(self)

Create a dict with file information, including missing pieces.

Attributes Documentation

attr_names = ('format', 'frame_rate', 'sample_rate', 'samples_per_frame', 'sample_shape', 'bps', 'complex_data', 'start_time', 'readable')
bps = None
complex_data = None
format = None
frame_rate = None
readable = None
sample_rate = None
sample_shape = None
samples_per_frame = None
start_time = None

Methods Documentation

__call__(self) [edit on github]

Create a dict with file information, including missing pieces.