Display an interactive Jupyter Notebook widget to inspect the pixel data.
The widget will show both the lightcurve and pixel data. By default,
the lightcurve shown is obtained by calling the to_lightcurve() method,
unless the user supplies a custom LightCurve object.
This feature requires an optional dependency, bokeh (v0.12.15 or later).
This dependency can be installed using e.g. conda install bokeh.
conda install bokeh
At this time, this feature only works inside an active Jupyter
Notebook, and tends to be too slow when more than ~30,000 cadences
are contained in the TPF (e.g. short cadence data).
Location of the Jupyter notebook page (default: “localhost:8888”)
When showing Bokeh applications, the Bokeh server must be
explicitly configured to allow connections originating from
different URLs. This parameter defaults to the standard notebook
host and port. If you are running on a different location, you
will need to supply this value for the application to display
properly. If no protocol is supplied in the URL, e.g. if it is
of the form “localhost:8888”, then “http” will be used.
Print an error message if the number of cadences shown is larger than
this value. This limit helps keep browsers from becoming unresponsive.
A boolean array describing the aperture such that True means
that the pixel will be used.
If None or ‘all’ are passed, all pixels will be used.
If ‘pipeline’ is passed, the mask suggested by the official pipeline
will be returned.
If ‘threshold’ is passed, all pixels brighter than 3-sigma above
the median flux will be used.
If ‘default’ is passed, ‘pipeline’ mask will be used when available,
with ‘threshold’ as the fallback.
An optional filename to assign to exported fits files containing
the custom aperture mask generated by clicking on pixels in interact.
The default adds a suffix ‘-custom-aperture-mask.fits’ to the
A function that transforms the lightcurve. The function takes in a
LightCurve object as input and returns a LightCurve object as output.
The function can be complex, such as detrending the lightcurve. In this
way, the interactive selection of aperture mask can be evaluated after
inspection of the transformed lightcurve. The transform_func is applied
before saving a fits file. Default: None (no transform is applied).
A function that returns ylimits (low, high) given a LightCurve object.
The default is to return an expanded window around the 10-90th
percentile of lightcurve flux values.
To select an aperture mask for V827 Tau:
>>> import lightkurve as lk
>>> tpf = lk.search_targetpixelfile("V827 Tau", mission="K2").download()
To see the full y-axis dynamic range of your lightcurve and normalize
the lightcurve after each pixel selection:
>>> ylim_func = lambda lc: (0.0, lc.flux.max())
>>> transform_func = lambda lc: lc.normalize()
>>> tpf.interact(ylim_func=ylim_func, transform_func=transform_func)