This is a minor bugfix release containing the following improvements:
- Fixed minor bugs in
PLDCorrector.correct()
[#498],TargetPixelFile.create_threshold_mask()
[#502], andLightCurve.bin()
[#503]. - Ensure users are alerted if a large number of cadences are masked out by
quality_bitmask when opening data products. [#495]
- CBVCorrector now accepts a KeplerLightCurve as input. [#504]
- The ~lightkurve.search functions now provide a more helpful error message
if the download cache contains a corrupt file. [#512]
- Switched continuous integration from Travis/Appveyor to Azure pipelines. [#497]
This is the first stable release of Lightkurve. It was prepared with the help of 45 contributors!
This release contains major changes to the LombScarglePeriodogram
class:
- Changed the default behavior of
LombScarglePeriodogram.from_lightcurve()
to usenormalization='amplitude'
andoversample_factor=5
(the previous defaults werenormalization='psd'
andoversample_factor=1
). The docstring has been expanded to help users understand these options. [#491] - Added a
LightkurveWarning
to alert users of the changes to the default behavior. [#493] - Deprecated the
min_frequency
/max_frequency
arguments in favor ofminimum_frequency
/maximum_frequency
to be consistent with the other Periodogram classes. [#478] - Likewise, deprecated the
min_period
/max_period
arguments in favor ofminimum_period
/maximum_period
to be consistent with the other Periodogram classes. [#478]
Other changes are:
- Improved
PLDCorrector
to be more robust against the presence of NaNs. [#479, #488] - Improved
search_tesscut
to avoid crashing in the event of an empty search result, and to ensure that the files it returns carry the search string as thetargetid
attribute. [#475, #477] - Various minor bug fixes. [#488, #490, #494]
- Significantly improved the performance of the
PLDCorrector
feature for systematics removal. [#470] - Improved the normalization of the result returned by
Periodogram.smooth(method='logmedian')
. [#453] - Improved the visualization of NaN values in
TargetPixelFile.plot()
. [#455] - Various minor bug fixes. [#448, #450, #463, #471]
- The
search_tesscut(...).download()
feature now supports downloading rectangular TESS FFI cut-outs. It previously only supported squares. [#441] - Fixed a bug which prevented
search_tesscut(...).download_all()
from downloading all sectors. [#440] - Minor bug fixes and performance improvements. [#439, #446]
- Simplified the installation of Lightkurve by turning several packages into
optional rather than required dependencies (
celerite
,pybind
,scikit-learn
, andbokeh
). [#436] - Added
search_tesscut()
: an easy interface to access data produced using the MAST TESSCut service. This service extracts Target Pixel Files (TPFs) from TESS Full Frame Images (FFIs). [#418] - Added
TargetPixelFile.interact_sky()
: an interactive Bokeh widget to overlay Gaia DR2 source positions on top of TPFs. [#124] - Changed
LightCurve.fold()
: thetransit_midpoint
parameter has been deprecated in favor of thet0
parameter. [#419]
- Made
BoxLeastSquaresPeriodogram
robust against light curves that contain NaNs. [#432] TargetPixelFile.wcs
now works for Target Pixel Files produced using the MAST TessCut service. [#434]
- Introduced a new layout for the ``online documentation <https://docs.lightkurve.org>``_. [#360, #400, #406]
- Added
LightCurve.interact_bls()
: an interactive Bokeh widget to find planets using the Box Least Squares (BLS) method. [#401] - Added
LombScarglePeriodogram
andBoxLeastSquarePeriodogam
sub-classes to distinguish periodograms generated using different methods. [#403] - Added the
PLDCorrector
class to remove instrument systematics using the Pixel Level Decorrelation (PLD) method. [#305] - Added the
TargetPixelFile.to_corrector()
convenience method to make systematics correction classes easy to access. [#305] - Refactored
SFFCorrector
to make its API consistent withPLDCorrector
, and deprecated theLightCurve.correct()
method in favor ofLightCurve.to_corrector()
. [#408, #417] - Made
SFFCorrector
robust against light curves that contain big gaps in time. [#414] - Minor bug fixes. [#392, #397, #420]
- Increased the unit test coverage. [#387, #388]
- The
TargetPixelFile.interact()
bokeh app now includes aSave Lightcurve
button [#329]. - Fixed a minor bug in
LightCurve.bin()
[#377].
- Added support for TESS to
search_targetpixelfile()
andsearch_lightcurvefile()
[#367]. - Added support for data generated by the TESScut service [#369, #375].
- Removed "Impulsive outliers" from the default set of quality constraints applied to TESS data [#374].
LightCurve.flatten()
is now more robust against outliers [#372].LightCurve.fold()
now takes atransit_midpoint
parameter instead of thephase
parameter [#361, #363].- Various minor bugfixes [#372].
TargetPixelFile.create_threshold_mask()
now only returns one contiguous mask, which is configurable using the newreference_pixel
argument [#345].TargetPixelFile.interact()
: now requiresBokeh v1.0
or later [#355].utils.detect_filetype()
automatically detects Kepler or TESS Target Pixel Files and Light Curve files [#340, #350, #356].LightCurve.estimate_cdpp()
: the argumentsigma_clip
was renamed intosigma
[#359].- Fixed minor bugs in
LightCurve.to_pandas()
[#343],LightCurve.correct()
[#347],FoldedLightCurve.errorbar()
[#352],LightCurve.fold()
[#353]. - Documentation improvements [#344, #358].
- Increased the unit test coverage [#351].
lightkurve.open()
was added to provide a single function to read in any light curve or target pixel file from Kepler or TESS and return the appropriate object [#317].- The
from_fits()
methods have been deprecated in favor oflightkurve.open()
[#336]. - The
lightkurve.mast
module has been removed in favor of the newlightkurve.search
module. - Various small bugfixes, speed-ups, and documentation improvements [#314, #315, #322, #323, #325, #331, #334, #335].
- The
from_archive()
methods ofKeplerTargetPixelFile
andKeplerLightCurveFile
have been deprecated in favor of the newsearch_targetpixelfile()
andsearch_lightcurvefile()
functions. These allow users to inspect the results of their queries and offer more powerful features, e.g. cone-searches. If you are currently usingtpf = KeplerTargetPixelFile.from_archive("objectname")
, please start usingtpf = search_targetpixelfile("objectname").download()
instead. TargetPixelFile
objects can now be indexed and sliced. [#308]- The default number of
windows
used by the SFF systematics removal algorithm has been changed from 1 to 10. [#312] - Various small bug fixes and unit test improvements.
- We adopted a rule that all method names must include a verb, and all class
properties must be a noun [#286]. As a result, we renamed the following methods:
LightCurve.cdpp()
is nowLightCurve.estimate_cdpp()
LightCurve.periodogram()
is nowLightCurve.to_periodogram()
LichtCurve.properties()
is nowLightCurve.show_properties()
TargetPixelFile.aperture_photometry()
is nowTargetPixelFile.extract_aperture_photometry()
TargetPixelFile.centroids()
is nowTargetPixelFile.estimate_centroids()
TargetPixelFile.header()
is now a property.
- Added
Periodogram.smooth()
[#288]. Periodogram.estimate_snr()
was renamed toPeriodogram.p.flatten()
[#290].- Lightkurve can now read in light curve files produced using
LightCurveFile.to_fits()
[#297].
- The
Periodogram
class has been refactored; - The
LightCurve.remove_outliers()
method now acceptssigma_lower
andsigma_upper
parameters.