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.


The package was recently renamed. For reproducing old scripts, see the scintillometry branch.


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.


baseband.tasks Package


float_offset(ih, offset[, whence])

Get a float sample position.


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.

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

Coherently disperse a time stream.

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.

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, samples_per_frame])

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, …])

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

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.

Transpose(ih, sample_axes)

Reshapes the axes of the samples of a stream.