GUPPIStreamReader

class baseband.guppi.base.GUPPIStreamReader(fh_raw, squeeze=True, subset=(), verify=True)[source] [edit on github]

Bases: baseband.guppi.base.GUPPIStreamBase, baseband.vlbi_base.base.VLBIStreamReaderBase

GUPPI format reader.

Allows access to GUPPI files as a continuous series of samples.

Parameters:

fh_raw : filehandle

Filehandle of the raw GUPPI stream.

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 possibly squeezing). If a single indexing object is passed, it selects polarizations. With a tuple, the first selects polarizations and the second selects channels. If the tuple is empty (default), all components are read.

verify : bool, optional

Whether to do basic checks of frame integrity when reading. The first frame of the stream is always checked, so verify is effective only when reading sequences of files. Default: True.

Attributes Summary

bps Bits per elementary sample.
complex_data Whether the data are complex.
dtype
fill_value Value to use for invalid or missing data.
header0 First header of the file.
info Standardized information on stream readers.
ndim Number of dimensions of the (squeezed/subset) stream data.
sample_rate Number of complete samples per second.
sample_shape Shape of a complete sample (possibly subset or squeezed).
samples_per_frame Number of complete samples per frame, excluding overlap.
shape Shape of the (squeezed/subset) stream data.
size Total number of component samples in the (squeezed/subset) stream data.
squeeze Whether data arrays have dimensions with length unity removed.
start_time Start time of the file.
stop_time Time at the end of the file, just after the last sample.
subset Specific components of the complete sample to decode.
time Time of the sample pointer’s current offset in file.
verify Whether to do consistency checks on frames being read.

Methods Summary

close()
read([count, out]) Read a number of complete (or subset) samples.
seek(offset[, whence]) Change the stream position.
tell([unit]) Current offset in the file.

Attributes Documentation

bps

Bits per elementary sample.

complex_data

Whether the data are complex.

dtype
fill_value

Value to use for invalid or missing data. Default: 0.

header0

First header of the file.

info

Standardized information on stream readers.

The info descriptor provides a few standard attributes, all of which can also be accessed directly on the stream filehandle. More detailed information on the underlying file is stored in its info, accessible via info.file_info.

Attributes

start_time (Time) Time of the first complete sample.
stop_time (Time) Time of the complete sample just beyond the end of the file.
sample_rate (Quantity) Complete samples per unit of time.
shape (tuple) Equivalent shape of the whole file, i.e., combining the number of complete samples and the shape of those samples.
bps (int) Number of bits used to encode each elementary sample.
complex_data (bool) Whether the data are complex.
ndim

Number of dimensions of the (squeezed/subset) stream data.

sample_rate

Number of complete samples per second.

sample_shape

Shape of a complete sample (possibly subset or squeezed).

samples_per_frame

Number of complete samples per frame, excluding overlap.

shape

Shape of the (squeezed/subset) stream data.

size

Total number of component samples in the (squeezed/subset) stream data.

squeeze

Whether data arrays have dimensions with length unity removed.

If True, data read out has such dimensions removed, and data passed in for writing has them inserted.

start_time

Start time of the file.

See also time for the time of the sample pointer’s current offset, and (if available) stop_time for the time at the end of the file.

stop_time

Time at the end of the file, just after the last sample.

See also start_time for the start time of the file, and time for the time of the sample pointer’s current offset.

subset

Specific components of the complete sample to decode.

The order of dimensions is the same as for sample_shape. Set by the class initializer.

time

Time of the sample pointer’s current offset in file.

See also start_time for the start time, and (if available) stop_time for the end time, of the file.

verify

Whether to do consistency checks on frames being read.

Methods Documentation

close() [edit on github]
read(count=None, out=None) [edit on github]

Read a number of complete (or subset) samples.

The range retrieved can span multiple frames.

Parameters:

count : int or None, optional

Number of complete/subset samples to read. If None (default) or negative, the whole file is read. Ignored if out is given.

out : None or array, optional

Array to store the data in. If given, count will be inferred from the first dimension; the other dimension should equal sample_shape.

Returns:

out : ndarray of float or complex

The first dimension is sample-time, and the remainder given by sample_shape.

seek(offset, whence=0) [edit on github]

Change the stream position.

This works like a normal filehandle seek, but the offset is in samples (or a relative or absolute time).

Parameters:

offset : int, Quantity, or Time

Offset to move to. Can be an (integer) number of samples, an offset in time units, or an absolute time.

whence : {0, 1, 2, ‘start’, ‘current’, or ‘end’}, optional

Like regular seek, the offset is taken to be from the start if whence=0 (default), from the current position if 1, and from the end if 2. One can alternativey use ‘start’, ‘current’, or ‘end’ for 0, 1, or 2, respectively. Ignored if offset is a time.

tell(unit=None) [edit on github]

Current offset in the file.

Parameters:

unit : Unit or str, optional

Time unit the offset should be returned in. By default, no unit is used, i.e., an integer enumerating samples is returned. For the special string ‘time’, the absolute time is calculated.

Returns:

offset : int, Quantity, or Time

Offset in current file (or time at current position).