Hello world! Welcome to the documentation for
orbitize, a Python
package for fitting orbits of directly imaged planets.
orbitize packages two back-end algorithms into a consistent API.
It’s written to be fast, extensible, and easy-to-use. The tutorials below will walk
you through the code and introduce some technical stuff, but we suggest learning about
the Orbits for the Impatient (OFTI) algorithm
and MCMC algorithms (we use this one) before diving in.
Our contributor guidelines
document will point you to more useful resources.
orbitize is designed to meet the needs of the exoplanet imaging community, and we
encourage community involvement. If you find a bug, want to request a feature, etc. please
create an issue on GitHub.
orbitize is patterned after and inspired by radvel.
If you use
orbitizein your work, please cite Blunt et al (2019).
If you use the OFTI algorithm, please also cite Blunt et al (2017).
If you use the Affine-invariant MCMC algorithm from
emcee, please also cite Foreman-Mackey et al (2013).
If you use the parallel-tempered Affine-invariant MCMC algorithm from
ptemcee, please also cite Vousden et al (2016).
If you use the Hipparcos intermediate astrometric data (IAD) fitting capability, please also cite Nielsen et al (2020).
- Frequently Asked Questions
- Detailed API Documentation
orbitize is under active development, and we’ve still got a lot to do! To get involved,
check out our contributor guidelines,
look over our issues list, and/or reach out to
Sarah. We’d love to have
you on our team!
Members of our team have collectively drafted this community agreement stating both our values and ground rules. In joining our team, we ask that you read and (optionally) suggest changes to this document.
Some major planned updates:
fit Gaia astrometry
marginalize over instrumental uncertainties
This is the beta release of orbitize! version 2.
Big changes: - N-body Kepler solver backend! (@sofiacovarrubias) - Fitting in XYZ orbital basis! (@rferrerc) - API for fitting in arbitrary new orbital bases! (@TirthDS) - compute_all_orbits separated out, streamlining stellar astrometry & RV calculations (@sblunt) - Hip IAD! (@sblunt) - param_idx now used everywhere under the hood (system parsing updated) (@sblunt) - KDE prior added (inspiration=training on RV fits) (@jorgellop)
Small changes: - HD 4747 rv data file fix for the RV tutorial (@lhirsch238) - Add check_prior_support to sampler.MCMC (@adj-smith) - Update example generation code in MCMC v OFTI tutorial (@semaphoreP) - Fixed plotting bug (issue #243) (@TirthDS) - Expand FAQ section (@semaphoreP) - use astropy tables in results (@semaphoreP) - Expand converge section of MCMC tutorial (@semaphoreP) - Deprecated functions and deprecation warnings officially removed (@semaphoreP) - Fix logic in setting of track_planet_perturbs (@sblunt) - Fix plotting error if orbital periods are > 1e9 days (@sblunt) - Add method for printing results of a fit (@sblunt)
Fixed chop_chains() function to copy original data over when updating Results object (@TirthDS)
User-defined prior on PAN were not being applied if OFTI is used; fixed (@sblunt)
Dates in HD 4747 data file were incorrect; fixed (@lhirsch238)
Addressed issue #177, giving Results and Sampler classes a parameter label array (@sblunt)
Fixed a bug that was causing RA/Dec data points to display wrong in orbit plots (@sblunt)
Bugfix for issue #234 (@semaphoreP, @adj-smith)
Add codeastro mode to pytest that prints out a SECRET CODE if tests pass omgomg (@semaphoreP)
Fixed backwards-compatibility bug with version numbers and saving/loading (@semaphoreP, @wbalmer)
Fixed bug where users with Results objects from v<14.0 couldn’t load using v>=14.0 (@semaphoreP, @wbalmer)
Fixed order of Axes objects in Advanced Plotting tutorial (@wbalmer, @sblunt)
Handle covariances in input astrometry (@semaphoreP)
Version number now saved in results object (@hgallamore)
Joint RV+astrometry fits can now handle different RV instruments! (@vighnesh-nagpal, @Rob685, @lhirsch238)
New “FAQ” section added to docs (@semaphoreP)
Bugfix for multiplanet code (@semaphoreP) introduced in PR #192
now you can pass a preexisting Figure object into
colorbar label is now “Epoch [year]” (@sblunt)
corner plot maker can now handle fixed parameters without crashing (@sblunt)
radvel_utilssubmodule now returns
astropy._erfawas deprecated (now in separate package). Dependencies updated. (@sblunt)
radvel-utilssubmodule which allows users to calculate projected separation posteriors given RadVel chains (@sblunt)
Fixed a total mass/primary mass mixup bug that was causing problems for equal-mass binary RV+astrometry joint fits (@sblunt)
Bugfix for multiplanet perturbation approximation: now only account for inner planets only when computing perturbations (@semaphoreP)
tau_ref_epochis now set to Jan 1, 2020 throughout the code (@semaphoreP)
restrict_angle_rangeskeyword now works as expected for OFTI (@sblunt)
Save results section of OFTI tutorial now current (@rferrerc)
Modifying MCMC initial positions tutorial documentation now uses correct orbital elements (@rferrerc)
Added transparency option for plotting MCMC chains (@sofiacovarrubias)
Removed some redundant code (@MissingBrainException)
Fixed a string formatting bug causing corner plots to fail for RV+astrometry fits
Changes to directory structure of sample data files
Fixed a bug that was causing corner plots to fail on loaded results objects
Joint RV + relative astrometry fitting capabilities!
New tutorial added
Minor documentation upgrades
This is the first Python 2 noncompliant version
Bugfixes related to numpy and astropy upgrades
This is the last version that will support Python 2
Default corner plots now display angles in degrees instead of radians
Add a keyword for plotting orbits that cross PA=360
Mikkola solver now implemented in C-Kepler solver
Fixed a bug with parallel processing for OFTI
Added orbit vizualisation jupyter nb show-me-the-orbit to docs/tutorials
New methods for viewing/chopping MCMC chains
Parallel processing for OFTI.
Fixed a bug converting errors in RA/Dec to sep/PA in OFTI.
OFTI and MCMC now both return likelihood, whereas before one returned posterior.
Updated logic for restricting Omega and omega bounds.
API change to lay the groundwork for dynamical mass calculation.
JeffreysPrior -> LogUniformPrior
Added some informative error messages for input tables.
Bugfix for RA/Dec inputs to the OFTI sampler (Issue #108).
Add ability to customize date of tau definition.
Sampler now saves choice of tau reference with results.
Default tau value is now Jan 1, 2020.
Add custom likelihood function.
Add progress bar for
Add customizable color axis for orbit plots.
Add sep/PA panels to orbit plot.
GaussianPriornow operates on only positive numbers by default.
Expand input reading functionality.
Bugfixes for MCMC.
Bugfix for building on CentOS machines.