Mark5BFrame

class baseband.mark5b.frame.Mark5BFrame(header, payload, valid=None, verify=True)[source] [edit on github]

Bases: FrameBase

Representation of a Mark 5B frame, consisting of a header and payload.

Parameters:
headerMark5BHeader

Wrapper around the encoded header words, providing access to the header information.

payloadMark5BPayload

Wrapper around the payload, provding mechanisms to decode it.

validbool or None

Whether the data are valid. If None (default), the validity will be determined by checking whether the payload consists of the fill pattern 0x11223344.

verifybool

Whether to do basic verification of integrity (default: True)

Notes

The Frame can also be read instantiated using class methods:

fromfile : read header and payload from a filehandle

fromdata : encode data as payload

Of course, one can also do the opposite:

tofile : method to write header and payload to filehandle

data : property that yields full decoded payload

A number of properties are defined: shape, dtype and size are the shape, type and number of complete samples of the data array, and nbytes the frame size in bytes. Furthermore, the frame acts as a dictionary, with keys those of the header. Any attribute that is not defined on the frame itself, such as .time will be looked up on the header as well.

Attributes Summary

data

Full decoded frame.

dtype

Numeric type of the frame data.

fill_value

Value to replace invalid data in the frame.

nbytes

Size of the encoded frame in bytes.

ndim

Number of dimensions of the frame data.

sample_shape

Shape of a sample in the frame (nchan,).

shape

Shape of the frame data.

size

Total number of component samples in the frame data.

valid

Whether frame contains valid data.

Methods Summary

fromdata(data[, header, bps, valid, verify])

Construct frame from data and header.

fromfile(fh, *[, kday, ref_time, ...])

Read a frame from a filehandle.

keys()

tofile(fh)

Write encoded frame to filehandle.

verify()

Simple verification.

Attributes Documentation

data

Full decoded frame.

dtype

Numeric type of the frame data.

fill_value

Value to replace invalid data in the frame.

nbytes

Size of the encoded frame in bytes.

ndim

Number of dimensions of the frame data.

sample_shape

Shape of a sample in the frame (nchan,).

shape

Shape of the frame data.

size

Total number of component samples in the frame data.

valid

Whether frame contains valid data.

Methods Documentation

classmethod fromdata(data, header=None, bps=2, valid=True, verify=True, **kwargs)[source] [edit on github]

Construct frame from data and header.

Parameters:
datandarray

Array holding data to be encoded.

headerMark5BHeader or None

If not given, will attempt to generate one using the keywords.

bpsint

Bits per elementary sample. Default: 2.

validbool

Whether the data are valid (default: True). If not, the payload will be set to a fill pattern.

verifybool

Whether to do basic checks of frame integrity (default: True).

classmethod fromfile(fh, *, kday=None, ref_time=None, sample_shape=(1,), bps=2, valid=None, verify=True)[source] [edit on github]

Read a frame from a filehandle.

Parameters:
fhfilehandle

To read the header and payload from.

kdayint or None

Explicit thousands of MJD of the observation time. Can instead pass an approximate ref_time.

ref_timeTime or None

Reference time within 500 days of the observation time, used to infer the full MJD. Used only if kday is not given.

sample_shapetuple of int, optional

Can have only one entry, the number of channels. Default: (1,).

bpsint, optional

Bits per elementary sample. Default: 2.

verifybool

Whether to do basic checks of frame integrity (default: True).

keys() [edit on github]
tofile(fh)[source] [edit on github]

Write encoded frame to filehandle.

verify() [edit on github]

Simple verification. To be added to by subclasses.