Releases: waqasbhatti/astrobase
astrobase v0.5.3
v0.5.3 - 2021-01-16
New stuff
-
lcmath
: Thephase_bin_magseries_with_errs
function can now accept per-measurement weights to allow different errors for each measurement. Added by @lgbouma. -
services.tesslightcurves
: Theget_eleanor_lightcurves
function now accepts an optionaltargetdata_kwargs
dict to pass in custom target info parameters to the underlyingeleanor.TargetData
constructor. Added by @lgbouma. -
services
: A newalltesslightcurves
module to get all available TESS light curves for an object was added by @mchris42. -
checkplot.png
: The_make_phased_magseries_plot
function now accepts atrimylim
kwarg to remove large outliers. Added by @lgbouma. -
Gaia EDR3 support is now available in all functions in the
services.gaia
module and the dependent functions in thecheckplot
,identifiers
, andvarclass.starfeatures
modules. Set thedata_release
kwarg to 'dr2' to use DR2, and 'edr3' to get data from EDR3.NOTE: The Vizier TAP service mirror for EDR3 (currently) uses column names that are different from the Gaia main EDR3 and Heidelberg EDR3 mirrors. The
services.gaia.objectlist_conesearch
,services.gaia.objectlist_radeclbox
, andservices.gaia.objectid_search
functions will fall back to DR2 if the Vizier mirror is used. To avoid this, use another mirror by setting thegaia_mirror
kwarg to either 'gaia' or 'heidelberg'.
Changes
-
The default timeout for the SkyView service clients in
plotbase
andservices.skyview
has been changed to 45 seconds. -
Minor fixes for deprecated methods in
matplotlib
andnumpy
.
Fixes
services.gaia
: The Heidelberg mirror URL now uses HTTPS and should no longer fail all the time.
astrobase v0.5.0
v0.5.0
This is a new major release. Support for Python 2.7 has been dropped. Astrobase now requires Python 3.5+.
New stuff
- New
services.tesslightcurves
module to retrieve TESS HLSP light curves from MAST. This requires the astroquery, eleanor, and lightkurve packages. By @lgbouma. services.identifiers
: newtic_to_gaiadr2
function. By @lgbouma.
Fixes
periodbase.kbls
: now resorts the input times, mags, errs by time to avoid a segfault in the wrappedeebls
Fortran code. Should fix #94.services.lccs
: now includes the logging bits to make it an actually standalone module.
Changes
periodbase
: all period-finder functions now resort their input times, mags, errs arrays by time before operating on them.cpserver
: reorganized the Tornado handlers into their own modules.- various
flake8
formatting fixes all over the package - removed Python 2 specific code all over the package
Removed
- The deprecated
astrobase.varbase.lcfit
module has been removed. Use the top-levelastrobase.lcfit
subpackage instead.
astrobase v0.4.3
New stuff
- New
services.limbdarkening
module to retrieve limb-darkening Claret+ 2017
coefficients from Vizier (just for the TESS band for now). Added by @lgbouma. - New
services.identifiers
module to convert between SIMBAD, GAIA DR2, and TIC
identifiers for objects. Added by @lgbouma. - New
imageutils
module for some simple FITS operations. - Added the
fivetransitparam_fit_magseries
function tolcfit.transits
for
fitting a line plus a Mandel-Agol transit model with everything fixed leaving
the t0, period, a/Rstar, Rp/Rstar, and inclination as free parameters. Added
by @lgbouma.
Fixes
- Minor fixes to the
checkplot
andservices
subpackages.
astrobase v0.4.2
Changes
- All
lcfit
functions now usescipy.optimize.curve_fit
instead ofscipy.optimize.leastsq
previously. This appears to produce much more reasonable fit parameter error estimates. periodbase.kbls
: The BLS stats functions now check for a sensible transit model when calculating stats (transit depth, duration, SNR, refit period and epoch).checkplot.png
: Added option to overplot circle on DSS finder-charts.checkplot.png.twolsp_checkplot_png
can now return amatplotlib.Figure
. Added by @lgbouma in #86.
Fixes
lcproc.tfa
: Fixed caching of collected LC info when generating a TFA template.checkplotserver
: Fixed column errors in exported CSV from the interface (#85).
Removed
- Removed deprecated function
astrotess.get_time_flux_errs_from_Ames_lightcurve
. Useastrotess.read_tess_fitslc
instead. - Removed deprecated module
services/tic.py
. Useservices/mast.py
instead.
astrobase v0.4.1
New stuff
-
periodbase.kbls
: now returns BLS stats along with the period finder results. -
varbase.trends
: added External Parameter Decorrelation with arbitrary
external parameters, optimizer function, and objective function. -
periodbase
: added a wrapper for the Transit Least Squares period-finder
(Hippke & Heller 2019; added by @lgbouma) -
periodbase.zgls
: added calculation of the analytic false-alarm probability. -
services.gaia
,services.mast
: added single-object search-by-name
functions. -
lcfit.utils
: added aniterative_fit
function.
Changes
-
lcproc.tfa
: now removes template objects from consideration if they're too
close to the target object. -
periodbase
: broke out all of the functions inperiodbase/__init__.py
to
periodbase/utils.py
andperiodbase/falsealarm.py
as appropriate.
Fixes
-
periodbase
: fixed epsilon checking against values of previous best periods
when iterating through periodogram peaks (by @joshuawallace). -
periodbase.zgls
: now correctly usestau
in the calculation of the
periodogram value. -
varclass.starfeatures
: fixed missingand
in an if-statement (by
@joshuawallace). -
lcproc.tfa
: various bug-fixes.
astrobase v0.4.0
This is a new major release. Several modules have been moved around. Most public
facing modules and functions now have full docstrings that auto-generate Sphinx
documentation (https://astrobase.readthedocs.io).
Work for the v0.4 series of releases will be tracked at:
https://github.com/waqasbhatti/astrobase/projects/1
New stuff
- New top-level
lcproc
,checkplot
, andlcfit
subpackages. services.mast
: now has atic_xmatch
function.lcfit.transits
: added newmandelagol_and_line_fit_magseries
function (by
@lgbouma).timeutils
: added newget_epochs_given_midtimes_and_period
function (by
@lgbouma).- New
periodbase.abls
module to use Astropy 3.1's BoxLeastSquares as the BLS
runner instead of the wrapped eebls.f used by
periodbase.kbls
.periodbase.kbls
remains the default implementation when
you dofrom astrobase import periodbase
. You can call
periodbase.use_astropy_bls()
immediately after importingperiodbase
to
switch the default BLS implementation toperiodbase.abls
.
Changes
varbase.lcfit
has been moved to a new top-level subpackage calledlcfit
,
and is broken up intolcfit.sinusoidal
,lcfit.eclipses
,
lcfit.nonphysical
andlcfit.transits
submodules. Thevarbase/lcfit.py
module will be removed in Astrobase 0.4.5.lcproc.py
has been moved to a new top-level subpackage calledlcproc
, and
is broken up by specific functionality.checkplot.py
has been moved to a new top-level subpackage called
checkplot
, and is broken up intocheckplot.pkl
for making checkplot
pickles, andcheckplot.png
for making checkplot PNGs.periodbase.kbls.bls_stats_singleperiod
andperiodbase.kbls.bls_snr
now do
a trapezoidal transit model fit to the prospective transit found by an initial
run of BLS and calculate the transit depth, duration, ingress duration, refit
period, and refit epoch that way.plotbase
: the functionplot_phased_mag_series
is now called
plot_phased_magseries
.plotbase
: the functionplot_mag_series
is now called
plot_magseries
.lcproc_aws.py
has been moved tolcproc.awsrun
.lcproc
now uses JSON files stored in either[astrobase install path]/data/lcformats
or~/.astrobase/lcformat-jsons
to register custom LC
formats. This is more flexible than the older approach of adding these to a
top-level dict inlcproc.py
.lcfit.sinusoidal
: thefourier_fit_magseries
function now returns
times.min() as theepoch
value in itsfitinfo
dict (by
@joshuawallace). The actual time of minimum light is returned as
actual_fitepoch
in thefitinfo
dict.periodbase/oldpf.py
has been moved toperiodbase/_oldpf.py
. It will be
removed in Astrobase 0.4.2.- The
services.tic
module has been deprecated and will be removed in Astrobase
0.4.2. - The
astrotess.get_time_flux_errs_from_Ames_lightcurve
function has been
deprecated and will be removed in Astrobase 0.4.2. Use the
astrotess.read_tess_fitslc
andastrotess.filter_tess_lcdict
functions
instead. - We no longer run the Astrobase test suite on Python 2.7. Most things should
continue to function, but there are no guarantees. Python 2.7 support will end
in December 2019.
Fixes
- Lots of bug fixes everywhere. See the commit history for details.
astrobase v0.3.20
New stuff
plotbase.plot_phased_magseries
can now overplot a light curve model. Added by @lgbouma.- new
varbase/transits.py
module for planet transit specific tools. Added by @lgbouma. - new
awsutils.py
module for interfacing with various AWS services forlcproc_aws.py
. - new
lcproc_aws.py
module for lcproc functions ported to AWS workflows. astrotess.py
now hasread_tess_fitslc
,consolidate_tess_fitslc
, andfilter_tess_fitslc
functions likeastrokep.py
to read MAST archived*_lc.fits
files (from the TESS Alerts page) into lcdicts.- new
services/mast.py
module for querying the STScI MAST API. Added atic_conesearch
function to help with future checkplot making that will include TIC IDs and TESS mags. lcproc.register_custom_lcformat
can now provide arbitrary kwargs to the LC reader and normalization functions.
Changes
services
: service clients that talk to single mirrors now use a random sleep before launching the request to avoid overload when running in many parallel processes.checkplot, starfeatures
: include all GAIA neighbor proper motions instead of just the target object proper motions.starfeatures
functions now recognize TESS and Kepler mags for checkplot making.services/lccs.py
: updated for v0.2 of the LCC-Server's API.lcproc.make_lclist
now accepts an input list of actual filenames to turn into a lclist catalog pickle.hatsurveys.hatlc.normalize_lcdict_byinst
now also uses the LC'sccd
column to generate the normalization key.
Fixes
- added checks in various places for both lists and tuples where lists only were expected.
lcfit.mandelagol_fit_magseries
: various bugfixes.lcproc.make_lclist
now handles duplicate object IDs with different light curve files correctly.lcproc, checkplot
: remove spaces in object IDs for output filenames.astrokep.py
: fix LC normalization.
v0.3.19
v0.3.19
New stuff
varbase.lcfit
: now includes amandelagol_fit_magseries
function to fit a
Mandel-Agol transit model. Implemented by @lgbouma. Requiresemcee
,h5py
,
corner
andBATMAN
.- Added
astrotess.py
by @lgbouma containing basic TESS TOI light curve reader
functions. - Added
services/tic.py
by @lgbouma containing a basic TESS Input Catalog at
MAST API client. lcproc.parallel_cp
: can now slice task lists using start and end indices.
Changes
services/skyview
: added configurable retry behavior if the downloaded FITS
file is corrupted.checkplot
: thefast_mode
kwarg now disables SIMBAD lookup because the
service is unreliable.hatsurveys/hatlc
: added a quiet kwarg for the normalization functions.
Fixes
lcproc.add_cpinfo_to_lclist
: fix typoabs_gaiamag
->gaia_absmag
; these
values will now be extracted correctly from checkplots.periodbase.kbls.bls_serial/parallel_pfind
: also returns themagsarefluxes
kwarg from the input.periodbase.kbls.bls_stats_singleperiod
andbls_snr
: fix transit depth sign
ifmagsarefluxes = True
.
v0.3.18
New stuff
- checkplot: added a
fast_mode
kwarg forcheckplot_pickle
so external
service queries time out faster when the services are not responsive.
Changes
lcmath.sigclip_magseries
:sigclip
can now be either int or float.
Fixes
- lcfit: in the
*_fit_magseries
functions,fitmagminind
can be a
multiple-item array instead of a single item for flat light curves. This will
break the time-of-minimum finding routine for an LC fit. Now uses the first
item in the array formagseriesepoch
if this is the case. Added by
@joshuawallace.
v0.3.17
New stuff
- kbls: added a dedicated
bls_stats_singleperiod
function to get time of
center-transit, refit period, and transit duration - hatlc: added console script to directly read/dump HAT LCs and metadata from the
command-line - hatlc: added support for LCC server produced CSV light curves
- services: removed hatds.py, added new lccs.py for common LCC server API
- checkplotserver: added a standalone mode for serving checkplot pickles
checkplot.checkplot_pickle_to_png
: add support for LCC server produced JSON
Changes
- k2hat: fixes to column names in lcdict to bring into line with other LC
readers in thehatsurveys
subpackage hatlc.read_and_filter_sqlitecurve
: make less verbose in case of errorskbls.bls_snr
: get time of center-transit using a better methodkbls.bls_snr
: return refit periods and epochs- cpserver.js: added parsing of
observatory
andtelescope
keys in
checkplots if present
Fixes
cp.checkplot_pickle_update
: fix unicode filename handling for py2 (#52)- coordutils: fix sign parsing bug in
dms_str_to_tuple
lcproc.add_cpinfo_to_lclist
: fix incorrect cpdict keys for varfeatures
v0.3.16
Fixes
- services: fixed infinite mirror-hop loop when submitting queries for
SIMBAD/GAIA, these should now bail out aftermaxtries
number of submission
tries are reached. - cpserver: fixed some issues with frontend JS breaking if GAIA xy positions are
not available for some reason
v0.3.15
New stuff
- cpserver: added a
baseurl
kwarg tocheckplotserver
so one can launch
multiple instances of it and have them go to separate base URLs if
reverse-proxying to external users. plotbase.plot_phased_mag_series
: allow output to an existing
matplotlib.axes.Axes
object
Changes
- cpserver: checkplot filenames are now URI encoded in requests to
checkplotserver
astrobase v0.3.14
New stuff
- checkplot: add
update_checkplot_objectinfo
function to retroactively update checkplots with new information after they've been created - services: added a SIMBAD TAP query client
- services.gaia: added
complete_query_later
kwarg to save still-running query info if a timeout is reached. the next invocation of the same query will check if it completed and will retrieve the results - varclass.starfeatures: get all possible external object IDs from SIMBAD
- checkplot, lcproc, starfeatures: add
gaia_max_timeout
,gaia_mirror
, andcomplete_query_later
kwargs to query and checkplot related functions
Changes
- services.gaia: now uses DR2
- services.gaia: now figures out which GAIA mirrors to use automatically, uses CDS by default
- services.gaia: can now skip to another GAIA mirror if the current one doesn't work. mirrors enabled are the GAIA main site, the Heidelberg mirror, and the CDS mirror
lcproc.add_cpinfo_to_lclist
: add magcols to the output dict and run SIMBAD query again if necessarycheckplot._pkl_finder_objectinfo
: allow direct use of dict as lclistpkl kwarg
Fixes
- checkplot: actually retry finder chart with forcefetch=True
- cpserver.js: handle errors correctly on checkplot load
- cpserver.js: more failure handling
- kbls: new chunk-size determination scheme, should fix Github #50
- services.gaia: automatically figure out table names for mirrors
- services.gaia: fix missing import, tests: use new expected GAIA ID for DR2
- services.gaia: handle timeouts and 503s a bit better
- services.gaia, skyview: add handling for corrupt cached results
- services.simbad: enforce random wait time between retries
- starfeatures: fix missing simbad_result var
- tests: more fixes for GAIA DR2
varfeatures.nonperiodic_lightcurve_features
: fix ndet inconsistency
astrobase v0.3.13
(this changelog includes v0.3.12 changes)
New stuff
- checkplot, checkplotserver: handle cases of no PF results, also PF results w/ only 1 phased LC. This allows making checkplot pickles for objects with no period-finder results just to see their mags, colors, finder chart, and GAIA info in the checkplotserver web interface or as checkplot pickles exported to PNG
lcproc.runcp
: allow empty pfpickle input for CPs w/o phased LCs- lcproc: new
add_cpinfo_to_lclist
function to add back checkplot info to the object catalog generated bylcproc.make_lclist
- lcproc, plotbase: add
overlay_zoomcontain
kwarg forfits_finder_chart
function to zoom finder charts automatically to the footprint of all annotated objects in the overlay - services.gaia: now randomly picks between GAIA archive mirrors and can skip dead ones automatically
- (v0.3.12) lcproc: added TFA (Kovacs et al. 2005) implementation and parallel drivers
- (v0.3.12) lcproc: added EPD drivers for LC collections
Changes
- checkplot: finder reticle now at radec -> xy of object instead of center of chart
- services.gaia: return query params for info after an HTTPError
- (v0.3.12) lcproc, checkplotlist: make nworkers depend on actual number of CPUs
- (v0.3.12) lcproc: add minobservations kwarg for
runcp
,parallel_cp
,parallel_cpdir
Fixes
- services.gaia: standardize ra, dec etc strings to make cache hits more probable
lcproc.runcp
: workaround for list of pfmethods if not provided in the period-finding result pickle- cps UI: fix overview tab LC tile widths if no PF methods are present in the checkplot pickle
- cpserver: fix object comments not being included in CSV/JSON export from web interface or being written to the original checkplotlist JSON
- checkplot: handle 'objectid' not found in HAT LC objectinfo dicts
- (v0.3.12) lcproc: fix addressing of magcols so stuff like specifying 'epd.mags', 'tfa.mags' works for most functions correctly
- (v0.3.12)
lcproc.timebinlc
: write results to correct outdict keys based on magcols - (v0.3.12) lcfit: fix missing imports
- (v0.3.12)
lcfit.spline_fit_magseries
: fix annoying 'x must be strictly increasing' error by removing duplicate x values - (v0.3.12) checkplot: fix axes -> ax typo