fitsbits

Utilities for FITS files: safe (de)compression, exporting to images/movies, parallelized ops on collections, and QA


Keywords
astronomy, FITS
License
MIT
Install
pip install fitsbits==0.1.4

Documentation

FITSbits is a Python package that contains various utilities for handling FITS files.

To install fitsbits from the Python Package Index (PyPI):

$ pip install fitsbits

See the installation instructions below for details.

This package requires Python >= 3.6.

Package contents

  • compression.py: contains functions to perform safe and atomic compression and decompression of FITS files in gzip and fpack formats. Requires the GNU gzip and CFITSIO fpack/funpack utilities.

  • export.py: contains functions to export FITS images as JPEGs, generating stamps for FITS images and exporting these as PNGs, and turning collections of FITS JPEGs into movies.

  • files.py: contains functions to work on collections of FITS files: parallelized extraction of header information (including regex matching), sorting and filtering by FITS header keys; group frames by pointing, observed object, image type, or file name patterns; and parallel compression and uncompression for FITS file lists or directories.

  • operations.py: contains functions to perform various header and data extraction operations on FITS files.

  • quality.py: contains functions that help assess the quality of FITS images: including extracting image backgrounds, tiling images, checking for image curvature and vignetting, and calculating image statistics.

Command-line utilities

  • fits2export.py: command-line utility available as fitsbits-export when this package is installed; exports a FITS image to a full JPEG or PNG, stamp PNG, or JPEGs/PNGs of specified regions (RA/Dec or x/y coordinate boxes).

  • fits2mp4.py: command-line utility available as fitsbits-movie when this package is installed; converts a series of FITS images to a MP4 movie. Requires FFmpeg.

  • fitshdr.py: command-line utility available as fitsbits-header when this package is installed; extracts and dumps a FITS file's header to stdout.

Changelog

Please see https://github.com/waqasbhatti/fitsbits/blob/master/CHANGELOG.md for a list of changes applicable to tagged release versions.

Installation

Requirements

This package requires the following other packages:

  • numpy
  • scipy
  • astropy
  • Pillow
  • filelock
  • tenacity
  • scikit-learn

Installing with pip

You can install fitsbits with:

(venv)$ pip install fitsbits

Other installation methods

Install the latest version (may be unstable at times):

$ git clone https://github.com/waqasbhatti/fitsbits
$ cd fitsbits
$ python setup.py install
$ # or use pip install . to install requirements automatically
$ # or use pip install -e . to install in develop mode along with requirements

License

fitsbits is provided under the MIT License. See the LICENSE file for the full text.