Quickstart#

The easiest way to install tesscube and all of its dependencies is to use the pip command.

To install tesscube, run the following command in a terminal window:

$ python -m pip install tesscube --upgrade

The --upgrade flag is optional, but recommended if you already have tesscube installed and want to upgrade to the latest version.

Depending on the specific Python environment, you may need to replace python with the correct Python interpreter, e.g., python3.

Load an FFI cube#

You can work with an FFI cube by loading it using a sector, camera, and CCD number.

from tesscube import TESSCube
cube = TESSCube(sector=1, camera=1, ccd=4)

Obtain an FFI Using tesscube#

You can obtain an FFI image by indexing into a cube

from tesscube import TESSCube
cube = TESSCube(sector=1, camera=1, ccd=4)
ffi = cube[300]

This will return an astropy.fits.HDUList

Obtain a TPF#

You can obtain a TPF in two ways, either you can either pass a pixel position

from tesscube import TESSCube
from astropy.coordinates import SkyCoord
corner = (1282, 1750)
cube = TESSCube(sector=1, camera=1, ccd=4)
tpf = cube.get_tpf(corner, shape=(10, 11))

Or you can pass an astropy SkyCoord object containing the RA and Dec of the target

from tesscube import TESSCube
from astropy.coordinates import SkyCoord
coord = SkyCoord.from_name("AU Mic")
cube = TESSCube(sector=1, camera=1, ccd=4)
tpf = cube.get_tpf(coord, shape=(10, 11))

Alternatively, you can index into the cube like so:

from tesscube import TESSCube
cube = TESSCube(sector=1, camera=1, ccd=4)
tpf = cube[:, 401:410, 503:510]

Both will return an astropy.fits.HDUList, with a file format similar to the official mission products.

Obtain a time-coadded TPF#

TESS data can be coadded in time to increase signal to noise at the expense of time resolution. You can obtain a lower time resolution by either passing in a frame_bin parameter, which will downsample the resultant TPF,

from tesscube import TESSCube
from astropy.coordinates import SkyCoord
corner = (1282, 1750)
cube = TESSCube(sector=1, camera=1, ccd=4)
tpf = cube.get_tpf(corner, shape=(10, 11), frame_bin=10)

Or you can slice the cube, which will return a downsampled TPF

from tesscube import TESSCube
cube = TESSCube(sector=1, camera=1, ccd=4)
tpf = cube[::10, 401:410, 503:510]

Both will return an astropy.fits.HDUList, with a file format similar to the official mission products, with the time resolution reduced by a factor of 10.

Obtain a TICA TPF#

TICA data are FFIs produced by MIT with a quick turn around time that are rapidly delivered to MIT to enable quick processing of data for transient events. You can create a TPF out of TICA products, but this functionality is potentially brittle.

TICA FFIs do not always conform to the same standard and sometimes have larger headers. This means they are hard to read in by tesscube, which assumes that there are always the same numbers of bytes. You will have to specify for a given sector how many header blocks each TICA cube has. Usually this is 6, but sometimes it is 7, depending on the sector.

from tesscube import TESSCubes
cube = TESSCube(sector=1, camera=1, ccd=4, tica=True, nhdr_blocks=6)

Once this object is initialized you should be able to work with it to extract a TPF

cube.get_tpf()

TICA FFIs do not have errors. When functions should return errors, these will be filled with zeros.

Currently there is not a way to index into the cube object and get the TICA FFI, because these are not stored in the AWS cloud.