GUPPIFileReader

class baseband.guppi.base.GUPPIFileReader(fh_raw)[source] [edit on github]

Bases: FileBase

Simple reader for GUPPI files.

Wraps a binary filehandle, providing methods to help interpret the data, such as read_frame and get_frame_rate. By default, frame payloads are mapped rather than fully read into physical memory.

Parameters:
fh_rawfilehandle

Filehandle of the raw binary data file.

Attributes Summary

fh_raw

info

Methods Summary

close()

get_frame_rate()

Determine the number of frames per second.

read_frame([memmap, verify])

Read the frame header and read or map the corresponding payload.

read_header()

Read a single header from the file.

temporary_offset([offset, whence])

Context manager for temporarily seeking to another file position.

Attributes Documentation

fh_raw = None
info

Methods Documentation

close() [edit on github]
get_frame_rate()[source] [edit on github]

Determine the number of frames per second.

The routine uses the sample rate and number of samples per frame (excluding overlap) from the first header in the file.

Returns:
frame_rateQuantity

Frames per second.

read_frame(memmap=True, verify=True)[source] [edit on github]

Read the frame header and read or map the corresponding payload.

Parameters:
memmapbool, optional

If True (default), map the payload using memmap, so that parts are only loaded into memory as needed to access data.

verifybool, optional

Whether to do basic checks of frame integrity. Default: True.

Returns:
frameGUPPIFrame

With .header and .payload properties. The .data property returns all data encoded in the frame. Since this may be too large to fit in memory, it may be better to access the parts of interest by slicing the frame.

read_header()[source] [edit on github]

Read a single header from the file.

Returns:
headerGUPPIHeader
temporary_offset(offset=None, whence=0) [edit on github]

Context manager for temporarily seeking to another file position.

To be used as part of a with statement:

with fh_raw.temporary_offset() [as fh_raw]:
    with-block

On exiting the with-block, the file pointer is moved back to its original position. As a convenience, one can pass on the offset to seek to when entering the context manager. Parameters are as for io.IOBase.seek().