Welcome to the Baseband-tasks documentation! Baseband-tasks is a package for reduction and analysis of radio baseband data.

If you used this package in your research, please cite it via DOI 10.5281/zenodo.3951543.



At the core of Baseband-tasks is a collection of “tasks”, filehandle-like classes that can be linked together into a data reduction pipeline. These would generally be accessed from baseband.tasks, but are here organized by type.


To help simulate and debug reduction processes, Baseband-tasks allows one to generate fake signals.


Baseband-tasks offers options to write out intermediate products as HDF5 files and final products, such as folded profiles, in PSRFITS format. The former, like most I/O of raw files, can also be accessed using (with format='hdf5' for writing).


Baseband-tasks also contains helper modules that assist with calculations and that link it with other software, such as Fourier transform packages or pulsar timing software.

Project details

Powered by Astropy Badge DOI 10.5281/zenodo.3951543 Test Status Coverage Level Documentation Status


baseband.tasks Package


seek_float(ih, offset[, whence])

Get a float sample position.

sinc_hamming(n_tap, n_sample[, sinc_scale])

Construct a sinc-hamming polyphase filter.


ChangeSampleShape(ih, task[, method])

Change sample shape using a callable.

ChangeSampleShapeBase(ih, **kwargs)

Base class for sample shape operations.

Channelize(ih, n[, samples_per_frame, ...])

Basic channelizer.

CombineStreams(ihs, task[, method, atol, ...])

Combining streams using a callable.

CombineStreamsBase(ihs, *[, atol, ...])

Base class for combining streams.

Concatenate(ihs[, axis, atol, samples_per_frame])

Concatenate streams along an existing axis.

Convolve(ih, response, *[, offset, ...])

Convolve a time stream with a response, in the Fourier domain.

ConvolveSamples(ih, response, *[, offset, ...])

Convolve a time stream with a response, in the time domain.

Dechannelize(ih[, n, samples_per_frame, ...])

Basic dechannelizer.

Dedisperse(ih, dm, *[, reference_frequency, ...])

Coherently dedisperse a time stream.

DedisperseSamples(ih, dm, *[, ...])

Incoherently shift a time stream to correct for a dispersive time delay.

Disperse(ih, dm, *[, reference_frequency, ...])

Coherently disperse a time stream.

DisperseSamples(ih, dm, *[, ...])

Incoherently shift a time stream to give it a dispersive time delay.

Fold(ih, n_phase, phase[, step, start, ...])

Fold pulse profiles in fixed time intervals.

GetItem(ih, item)

Index or slice the samples of a stream.

GetSlice(ih, item)

Slice a stream and index or slice its samples.

Integrate(ih[, step, phase, start, average, ...])

Integrate a stream stepwise.

InversePolyphaseFilterBank(ih, response, sn)

Dechannelize a stream produced by a polyphase filter bank.

PolyphaseFilterBank(ih, response[, ...])

Channelize using a polyphase filter bank, in the frequency domain.

PolyphaseFilterBankSamples(ih, response[, ...])

Channelize using a polyphase filter bank, in the time domain.

Power(ih[, polarization])

Calculate powers and cross terms for two polarizations.

Real2Complex(ih[, samples_per_frame])

Convert a real baseband signal to a complex baseband signal.

Resample(ih, offset[, whence, pad, ...])

Resample a stream such that a sample occurs at the given offset.

Reshape(ih, sample_shape)

Reshapes the sample shape of a stream.

ReshapeAndTranspose(ih, sample_shape, ...)

Reshapes the sample shape of a stream and transpose its axes.

SetAttribute(ih, *[, start_time, sample_rate])

Wrapper for streams that allows one to set or change attributes.

ShiftAndResample(ih, shift[, offset, ...])

Shift and optionally resample a stream in time.

ShiftSamples(ih, shift, *[, samples_per_frame])

Shift channels in a stream by integer numbers of samples.

Square(ih[, polarization])

Converts samples to intensities by squaring.

Stack(ih, n_phase, phase, *[, start, ...])

Create a stream of pulse profiles.

Task(ih, task[, method])

Apply a user-supplied callable to a stream.

TimeDelay(ih, delay, *, lo[, frequency, ...])

Delay a stream by a given amount, taking care of phase rotations.

Transpose(ih, sample_axes)

Reshapes the axes of the samples of a stream.