Metadata-Version: 2.4
Name: gollum
Version: 0.4.3
Summary: An intuitive programmatic and visual interface for precomputed synthetic spectral model grids
Home-page: https://github.com/BrownDwarf/gollum
Author: gully
Author-email: Sujay Shankar <sujays2001@gmail.com>, Michael Gully-Santiago <igully@gmail.com>, Caroline Morley <cmorley@utexas.edu>, Jiayi Cao <jiayicao@utexas.edu>
Maintainer-email: Sujay Shankar <sujays2001@gmail.com>
License: MIT License
        
        Copyright (c) 2021 gully
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/BrownDwarf/gollum
Project-URL: Issues, https://github.com/BrownDwarf/gollum/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: matplotlib
Requires-Dist: astropy
Requires-Dist: specutils
Requires-Dist: tqdm
Requires-Dist: pandas
Requires-Dist: bokeh
Requires-Dist: python-dotenv
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# gollum 
### Version 0.4.3

<a href="https://gollum-astro.readthedocs.io/en/latest/"><img src="https://img.shields.io/badge/Read-the%20docs-blue"></a>
<a href="https://pypi.org/project/gollum/"><img src="https://img.shields.io/badge/pip_install-gollum-yellow"></a>
<a href="https://ui.adsabs.harvard.edu/abs/2013A%26A...553A...6H/abstract"><img src="https://img.shields.io/badge/Works_with-PHOENIX-brightgreen"></a>
<a href="https://zenodo.org/record/1309035#.YL_SQoRKiV4"><img src="https://img.shields.io/badge/Works_with-Sonora_Bobcat-brightgreen"></a>
<a href="https://ascl.net/2503.015"><img src="https://img.shields.io/badge/ascl-2503.015-blue.svg?colorB=262255" alt="ascl:2503.015" /></a>

A microservice for programmatic access to precomputed synthetic spectral model grids in astronomy.

![gollum demo](docs/_static/gollum_resample.png?raw=true "Code Snippet of PHOENIX Synthetic Model Demonstration")

The goal of this repo is to provide a Python Application Programming Interface (API) to several different synthetic spectral models. `gollum` will be built on the astropy affiliated package [specutils](https://specutils.readthedocs.io/en/stable/), and will be inspired by the API design of [lightkurve](http://docs.lightkurve.org/). This project is loosely related to the parallel [muler](http://muler.readthedocs.io/) framework that is built on specutils and focuses on data. This project is all about models. The code itself and will have some overlap with functionality in [Starfish](https://starfish.readthedocs.io/en/latest/), and this project could one day become a microservice to Starfish, rather than duplicate code.

# Dashboard

We have a human-in-the-loop interactive dashboard which allows users to compare data to models. The current version of the dashboard supports the Sonora-Bobcat 2021 Models and the PHOENIX model grid.

![dashboard demo](https://user-images.githubusercontent.com/98151293/167173097-31427d83-f7fc-4146-a520-34e6b97b3b1b.gif)

This dashboard allows users to control sliders correlating with intrinsic properties (effective temperature, surface gravity, and metallicity) and extrinsic properties (rotational broadening, radial velocity, and a normalization scalar). From the selected intrinsic values, the dashboard can find the closest matching model (based on the closest existing point in a jagged 3D array of existing intrinsic values) and display it on screen so that the user can compare it with the real data. The data itself shows up as a blue plot, while the model is red, which will allow users to make by-eye fittings of the models to the data displayed.

There is some latency in the updating of the model's graph when the user moves certain sliders too quickly. This latency comes from the large amount of data points and the effect of the curse of dimensionality when it comes to the search for the nearest grid point based on intrinsic values that the dashboard must do with each update of the sliders. This latency mostly only applies when the user moves the sliders very quickly, however. More gradual movement of the sliders allows for relatively smooth updating of the model spectrum with minimal latency.

Cite this software:
```
@ARTICLE{gollum,
       author = {{Shankar}, Sujay and {Gully-Santiago}, Michael and {Morley}, Caroline and {Cao}, Jiayi and {Kaplan}, Kyle and {Kimani-Stewart}, Karina and {Gonzalez-Arg{\'u}eta}, Diana},
        title = "{gollum: An intuitive programmatic and visual interface for precomputed synthetic spectral model grids}",
      journal = {The Journal of Open Source Software},
     keywords = {astronomy, spectroscopy, stars, echelle, Jupyter Notebook, Python},
         year = 2024,
        month = aug,
       volume = {9},
       number = {100},
          eid = {6601},
        pages = {6601},
          doi = {10.21105/joss.06601},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2024JOSS....9.6601S},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
```


The package is under active development. Feel free to contibute by either raising issues here in GitHub or by submitting pull requests. If you have questions or need help, please also use GitHub issues to reach out to the development team and we will do our best to assist you.
