K2flix: Kepler/K2/TESS pixel data visualizer

Create quicklook movies from the pixels observed by NASA’s Kepler/K2/TESS spacecraft.

PyPI Travis status MIT license DOI ADS Bibcode

K2flix makes it easy to inspect the CCD pixel data obtained by NASA’s Kepler space telescope, or simulated data from the future TESS space telescope.

The need for this tool arised from the fact that the two-wheeled extended Kepler mission, K2, is affected by new sources of noise – including pointing jitter and foreground asteroids –which are more easily spotted by eye than by algorithm.

This tool takes Kepler’s Target Pixel Files (TPF) as input and turns them into contrast-stretched animated gifs or MPEG-4 movies. These TPF files are publically available from the Kepler archive and the K2 archive.

K2flix can be used both as a command-line tool or using its Python API.


Asteroids commonly pass in front of Kepler/K2 targets. We can use k2flix to create a two-day animation of pixel data to count the number of asteroids whizzing past:

$ k2flix --start 545 --stop 680 --step 1 --fps 12 http://archive.stsci.edu\

k2flix output example

To see many more examples, follow @KeplerBot on Twitter!


If you have a working installation of Python on your system, you can install k2flix using pip:

$ pip install k2flix

Alternatively, you can get the latest version by installing from source:

$ git clone https://github.com/barentsen/k2flix.git
$ cd k2flix
$ python setup.py install

K2flix has been tested under Linux. Get in touch if you encounter issues on OS X or Windows.

Using k2flix

After installation, the k2flix tool will be available on the command line. You can then use it as follows.

Converting a Kepler pixel file to an animated gif:

$ k2flix tpf-file.fits.gz

Converting a Kepler pixel file to an MPEG-4 movie:

$ k2flix -o movie.mp4 tpf-file.fits.gz

K2flix supports reading from web URLs, so you can generate a movie directly from the data archive:

$ k2flix https://archive.stsci.edu/missions/k2/target_pixel_files/c1/201400000/00000/ktwo201400022-c01_lpd-targ.fits.gz

To see all the options, use the –help argument to see the full usage information:

$ k2flix --help
usage: k2flix [-h] [-v] [--output FILENAME] [--start START] [--stop STOP]
              [--step STEP] [--fps FPS] [--binning BINNING] [--dpi DPI]
              [--stretch STRETCH] [--min_cut MIN_CUT] [--max_cut MAX_CUT]
              [--min_percent %] [--max_percent %] [--cmap CMAP] [--flags]
              [--raw | --background | --cosmic]
              [--ut | --jd | --mjd | --bkjd | --cadence]
              tpf_filename [tpf_filename ...]

Converts a Target Pixel File (TPF) from NASA's Kepler/K2/TESS spacecraft into
an animated gif or MPEG-4 movie for human inspection.

positional arguments:
  tpf_filename       path to one or more Target Pixel Files (TPF)

optional arguments:
  -h, --help         show this help message and exit
  -v, --verbose
  --output FILENAME  .gif or .mp4 output filename (default: gif with the same
                     name as the input file)
  --start START      first frame to show. Give the frame number (default 0),
                     or a Julian Day if --jd/--mjd is set, or a cadence number
                     if --cadence is set.
  --stop STOP        final frame to show. Give the frame number (default: -1),
                     or a Julian Day if --jd/--mjd is set, or a cadence number
                     if --cadence is set.
  --step STEP        spacing between frames (default: show 100 frames)
  --fps FPS          frames per second (default: 15)
  --binning BINNING  number of cadence to co-add per frame (default: 1)
  --dpi DPI          resolution of the output in dots per K2 pixel (default:
                     choose a dpi that produces a 440px-wide image)
  --stretch STRETCH  type of contrast stretching: "linear", "sqrt", "power",
                     "log", or "asinh" (default is "log")
  --min_cut MIN_CUT  minimum cut level (default: use min_percent)
  --max_cut MAX_CUT  maximum cut level (default: use max_percent)
  --min_percent %    minimum cut percentile (default: 1.0)
  --max_percent %    maximum cut percentile (default: 95)
  --cmap CMAP        matplotlib color map name (default: gray)
  --flags            show the quality flags
  --raw              show the uncalibrated pixel counts ('RAW_CNTS')
  --background       show the background flux ('FLUX_BKG')
  --cosmic           show the cosmic rays ('COSMIC_RAYS')
  --ut               use Universal Time
  --jd               use Julian Day for annotation and --start/--stop
  --mjd              use Modified Julian Day for annotation and --start/--stop
  --bkjd             use Kepler Julian Day for annotation and --start/--stop
  --cadence          use Cadence Number for annotation and --start/--stop


This tool was created by Geert Barentsen at NASA’s Kepler/K2 Guest Observer Office. If this tool aided your research, please include a citation. The code has been registered in the Astrophysics Source Code Library [ascl:1503.001] and the preferred BibTeX entry is:

      author        = { {Barentsen}, G.},
      title         = "{K2flix: Kepler pixel data visualizer}",
      howpublished  = {Astrophysics Source Code Library},
      year          = 2015,
      month         = mar,
      archivePrefix = "ascl",
      eprint        = {1503.001},
      adsurl        = {http://adsabs.harvard.edu/abs/2015ascl.soft03001B},
      adsnote       = {Provided by the SAO/NASA Astrophysics Data System},
      doi           = {10.5281/zenodo.15576},
      url           = {http://dx.doi.org/10.5281/zenodo.15576}


To report bugs and request features, please use the issue tracker. Code contributions are very welcome.


Copyright 2016 Geert Barentsen. K2flix is free software made available under the MIT License. For details see the LICENSE file.