Skip to content

Releases: waqasbhatti/astrobase

astrobase v0.5.3

16 Jan 21:49
Compare
Choose a tag to compare

v0.5.3 - 2021-01-16

New stuff

  • lcmath: The phase_bin_magseries_with_errs function can now accept per-measurement weights to allow different errors for each measurement. Added by @lgbouma.

  • services.tesslightcurves: The get_eleanor_lightcurves function now accepts an optional targetdata_kwargs dict to pass in custom target info parameters to the underlying eleanor.TargetData constructor. Added by @lgbouma.

  • services: A new alltesslightcurves 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 the checkplot, identifiers, and varclass.starfeatures modules. Set the data_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, and services.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 and services.skyview has been changed to 45 seconds.

  • Minor fixes for deprecated methods in matplotlib and numpy.

Fixes

  • services.gaia: The Heidelberg mirror URL now uses HTTPS and should no longer fail all the time.

astrobase v0.5.0

22 Mar 18:31
Compare
Choose a tag to compare

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: new tic_to_gaiadr2 function. By @lgbouma.

Fixes

  • periodbase.kbls: now resorts the input times, mags, errs by time to avoid a segfault in the wrapped eebls 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-level astrobase.lcfit subpackage instead.

astrobase v0.4.3

23 Nov 16:36
Compare
Choose a tag to compare

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 to lcfit.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 and services subpackages.

astrobase v0.4.2

07 Jul 01:26
Compare
Choose a tag to compare

Changes

  • All lcfit functions now use scipy.optimize.curve_fit instead of scipy.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 a matplotlib.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. Use astrotess.read_tess_fitslc instead.
  • Removed deprecated module services/tic.py. Use services/mast.py instead.

astrobase v0.4.1

04 May 22:15
Compare
Choose a tag to compare

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 an iterative_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 in periodbase/__init__.py to
    periodbase/utils.py and periodbase/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 uses tau in the calculation of the
    periodogram value.

  • varclass.starfeatures: fixed missing and in an if-statement (by
    @joshuawallace).

  • lcproc.tfa: various bug-fixes.

astrobase v0.4.0

28 Feb 17:16
Compare
Choose a tag to compare

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, and lcfit subpackages.
  • services.mast: now has a tic_xmatch function.
  • lcfit.transits: added new mandelagol_and_line_fit_magseries function (by
    @lgbouma).
  • timeutils: added new get_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 do from astrobase import periodbase. You can call
    periodbase.use_astropy_bls() immediately after importing periodbase to
    switch the default BLS implementation to periodbase.abls.

Changes

  • varbase.lcfit has been moved to a new top-level subpackage called lcfit,
    and is broken up into lcfit.sinusoidal, lcfit.eclipses,
    lcfit.nonphysical and lcfit.transits submodules. The varbase/lcfit.py
    module will be removed in Astrobase 0.4.5.
  • lcproc.py has been moved to a new top-level subpackage called lcproc, and
    is broken up by specific functionality.
  • checkplot.py has been moved to a new top-level subpackage called
    checkplot, and is broken up into checkplot.pkl for making checkplot
    pickles, and checkplot.png for making checkplot PNGs.
  • periodbase.kbls.bls_stats_singleperiod and periodbase.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 function plot_phased_mag_series is now called
    plot_phased_magseries.
  • plotbase: the function plot_mag_series is now called
    plot_magseries.
  • lcproc_aws.py has been moved to lcproc.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 in lcproc.py.
  • lcfit.sinusoidal: the fourier_fit_magseries function now returns
    times.min() as the epoch value in its fitinfo dict (by
    @joshuawallace). The actual time of minimum light is returned as
    actual_fitepoch in the fitinfo dict.
  • periodbase/oldpf.py has been moved to periodbase/_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 and astrotess.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

23 Oct 22:13
Compare
Choose a tag to compare

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 for lcproc_aws.py.
  • new lcproc_aws.py module for lcproc functions ported to AWS workflows.
  • astrotess.py now has read_tess_fitslc, consolidate_tess_fitslc, and filter_tess_fitslc functions like astrokep.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 a tic_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's ccd 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

17 Sep 02:05
Compare
Choose a tag to compare

v0.3.19

New stuff

  • varbase.lcfit: now includes a mandelagol_fit_magseries function to fit a
    Mandel-Agol transit model. Implemented by @lgbouma. Requires emcee, h5py,
    corner and BATMAN.
  • 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: the fast_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 typo abs_gaiamag -> gaia_absmag; these
    values will now be extracted correctly from checkplots.
  • periodbase.kbls.bls_serial/parallel_pfind: also returns the magsarefluxes
    kwarg from the input.
  • periodbase.kbls.bls_stats_singleperiod and bls_snr: fix transit depth sign
    if magsarefluxes = True.

v0.3.18

New stuff

  • checkplot: added a fast_mode kwarg for checkplot_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 for magseriesepoch 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 the hatsurveys subpackage
  • hatlc.read_and_filter_sqlitecurve: make less verbose in case of errors
  • kbls.bls_snr: get time of center-transit using a better method
  • kbls.bls_snr: return refit periods and epochs
  • cpserver.js: added parsing of observatory and telescope 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 after maxtries 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 to checkplotserver 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

14 May 14:56
Compare
Choose a tag to compare

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, and complete_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 necessary
  • checkplot._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

19 Apr 03:21
Compare
Choose a tag to compare

(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 by lcproc.make_lclist
  • lcproc, plotbase: add overlay_zoomcontain kwarg for fits_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