Skip to main content

Build Status Documentation Status codecov JOSS status

Breakthrough Listen I/O Methods for Python.

Filterbank + Raw file readers

This repository contains Python 2/3 readers for interacting with Sigproc filterbank (.fil), HDF5 (.h5) and guppi raw (.raw) files, as used in the Breakthrough Listen search for intelligent life.

Installation

System Dependencies

Sometimes the pip installation can fail if a system dependency is not installed. To fix this, make sure you have curl and install the required system dependencies with the command bellow:

Debian/Ubuntu
curl https://raw.githubusercontent.com/UCBerkeleySETI/blimpy/master/dependencies.txt | xargs -n 1 sudo apt install --no-install-recommends -y

Manual Installation

The latest release can be installed via pip directly from this repository:

python3 -m pip install -U git+https://github.com/UCBerkeleySETI/blimpy

Or, the latest version of the development code can be installed from the github repo and then run python setup.py install or pip install . (with sudo if required), or by using the following terminal command:

python3 -m pip install -U https://github.com/UCBerkeleySETI/blimpy/tarball/master

To install everything required to run the unit tests, run:

python3 -m pip install -e .[full]

You will need numpy, h5py, astropy, scipy, and matplotlib as dependencies. A pip install should pull in numpy, h5py, and astropy, but you may still need to install scipy and matplotlib separately. To interact with compressed files, you'll need the hdf5plugin package too.

Note that h5py generally needs to be installed in this way:

$ python3 -m pip install --no-binary=h5py h5py

Command line utilities

After installation, the following command will display the metadata (header) values and some information about the data matrix:

watutil -i

Other command line utilities available post-installation:

  • bldice, Extract a smaller frequency region from a Filterbank file (.fil or .h5 file).
  • calcload, Calculate the Waterfall max_load value needed to load the entire data array for a given Filterbank file.
  • dsamp, Down-sample (time-dimension only) from one Filterbank file to another.
  • fil2h5, Convert a .fil file into .h5 format.
  • h52fil, Convert an .h5 file into .fil format.
  • matchfils, Check if two .fil files are the same.
  • peek, Display a selected portion of values from the data matrix of a Filterbank file.
  • rawhdr, Display the header fields of a raw guppi file.
  • rawutil, Plot data in a guppi raw file.
  • srcname, Patch the header source_name field in a .h5 file.
  • stax, For a collection of .h5 or .fil files sharing the same frequency range, create a vertical stack of waterfall plots as a single PNG file.
  • stix, For a single very large Filterbank file, create a horizontal or vertical stack of waterfall plots as a single PNG file.
  • watutil, Information/read/write/plot utility for Filterbank files.

Use the -h flag to any of the above command line utilities to display their available arguments.

Reading blimpy filterbank files in .fil or .h5 format

The blimpy.Waterfall provides a Python API for interacting with filterbank data. It supports all BL filterbank data products; see this example Jupyter notebook for an overview.

From the python, ipython or jupiter notebook environments.

from blimpy import Waterfall
fb = Waterfall('/path/to/filterbank.fil')
#fb = Waterfall('/path/to/filterbank.h5') #works the same way
fb.info()
data = fb.data

Reading guppi raw files

The Guppi Raw format can be read using the GuppiRaw class from guppi.py:

from blimpy import GuppiRaw
gr = GuppiRaw('/path/to/guppirawfile.raw')

header, data = gr.read_next_data_block()

or

from blimpy import GuppiRaw
gr = GuppiRaw('/path/to/guppirawfile.raw')

for header, data_x, data_y in gr.get_data():
    # process data

Note: most users should start analysis with filterbank files, which are smaller in size and have been generated from the guppi raw files.

Using blimpy inside Docker

The blimpy images are pushed to a public repository after each successful build on Travis. If you have Docker installed, you can run the following commands to pull our images, which have the environment and dependencies set up for you.

docker pull fx196/blimpy:py3_kern_stable

Here is a more complete guide on using blimpy in Docker.

Further reading

A detailed overview of the data formats used in Breakthrough Listen can be found in our data format paper. An archive of data files from the Breakthrough Listen program is provided at seti.berkeley.edu/opendata.

If you have any requests or questions, please lets us know!

Metadata

Release files for blimpy 2.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for blimpy 2.1.4
File Size Uploaded
blimpy-2.1.4.tar.gz 89.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for blimpy 2.1.4
File Interpreter ABI Platform
blimpy-2.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 193.6 kB

Release files / blimpy-2.1.4.tar.gz

Download URL blimpy-2.1.4.tar.gz
Size 89.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5ad923ed50bae2f421ba3024fd03a87046f004789e19b8d5e2fcb6f78c3a6dae
BLAKE2b-256 checksum
How to use checksums
d20d7ffc61a69a8582c810057c07445ed23d1617defe462ab9059981919bc2fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.0

Release files / blimpy-2.1.4-py3-none-any.whl

Download URL blimpy-2.1.4-py3-none-any.whl
Size 104.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
213425ea2fcdc2ed74dc4074b894b2d2861bb3e197308cdeb3707f6301a7ba0a
BLAKE2b-256 checksum
How to use checksums
373b3f315b189e1f25db9682f42a9227a396957d0bdd11623989ed5416de81aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.0

Release history Release notifications | RSS feed

This release

2.1.4 This release

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.42

2 release files

2.0.41

2 release files

2.0.40

2 release files

2.0.39

2 release files

2.0.35

2 release files

2.0.34

2 release files

2.0.33

2 release files

2.0.32

2 release files

2.0.31

2 release files

2.0.29

2 release files

2.0.28

2 release files

2.0.27

2 release files

2.0.26

2 release files

2.0.25

2 release files

2.0.24

2 release files

2.0.23

2 release files

2.0.22

2 release files

2.0.19

2 release files

2.0.18

2 release files

2.0.17

2 release files

2.0.15

2 release files

2.0.11

2 release files

2.0.2

2 release files

2.0.0

2 release files

1.5.0

2 release files

1.4.2

2 release files

1.4.0

1 release file

1.3.6

1 release file

1.3.5

1 release file

1.3.3

1 release file

1.2.1

1 release file

1.2.0

1 release file

1.1.8

1 release file

1.1.7

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page