Starfish-develop / Starfish-develop/Starfish
Notes for getting started with Starfish
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 78
- Forks
- 23
- PR merge metrics
- No merged PRs in 30d
Description
Hi folks, I recently emailed some Starfish quick start notes to a colleague, and thought I'd post them here in case they are useful to anyone else. More tips/tricks for newcomers are welcomed below.
Here are some general tips for getting started with Starfish:
All the code is on GitHub, either in Ian Czekala's original version, or my fork:
Ian's original version: https://github.com/iancze/Starfish
My fork: https://github.com/gully/Starfish
My active branch for the last year supports all sorts of extensions to Starfish, including:
- The ability to sample all stellar and nuisance parameters at once with the robust "emcee" algorithm.
- Nominal support for using the Marley et al. synthetic spectral models (in prep.)
- Several extensions to support "separable" model physics: mixture models from starspots, spectroscopic binaries, disk veiling, extinction, etc.
- Correctly supports flux-calibrated spectra
All of these extensions are undocumented here:
https://github.com/gully/Starfish/tree/mix_model_omega2
The best place to get started on understanding the code is:
- Read Ian's paper http://adsabs.harvard.edu/abs/2015ApJ...812..128C
- Read Section 3 of my paper http://adsabs.harvard.edu/abs/2017ApJ...836..200G
- Review these slides on how the emcee MCMC algorithm works: https://speakerdeck.com/dfm/data-analysis-with-mcmc
- Review this slideshow on probabilistic programming in Python:
https://speakerdeck.com/dfm/pyastro16 - Review these slides on Gaussian Processes for Astronomy, only up to slide 60:
https://speakerdeck.com/dfm/an-astronomers-introduction-to-gaussian-processes-v2 - Read the documentation and demos here:
http://iancze.github.io/Starfish/current/index.html
The most up-to-date info and conversations about the code occur in the open in the GitHub issues. I recommend a newcomer read through these to get a sense for the limitations and opportunities of the code.
https://github.com/iancze/Starfish/issues
All my code for my 2017 paper is free/public here, including some helpful Jupyter-notebooks:
https://github.com/BrownDwarf/welter/tree/master/notebooks
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing Starfish documentation and demos linked in the issue, then compare them with the listed newcomer notes and undocumented extensions. No target file or test is named; done would mean agreeing on a documentation location and adding clearly scoped getting-started guidance there.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100