TelescopeML -- I. An End-to-End Python Package for Interpreting Telescope Datasets through Training Machine Learning Models, Generating Statistical Reports, and Visualizing Results

TelescopeML -- I. An End-to-End Python Package for Interpreting Telescope Datasets through Training Machine Learning Models, Generating Statistical Reports, and Visualizing Results - Published in JOSS (2024)

https://github.com/ehsangharibnezhad/telescopeml

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

astronomy atmospheric-modelling convolutional-neural-networks machine-learning star telescope

Scientific Fields

Mathematics Computer Science - 88% confidence
Economics Social Sciences - 85% confidence
Last synced: 4 months ago · JSON representation

Repository

Deep Convolutional Neural Networks and Machine Learning Models for Analyzing Stellar and Exoplanetary Telescope Spectra

Basic Info
Statistics
  • Stars: 12
  • Watchers: 4
  • Forks: 18
  • Open Issues: 11
  • Releases: 0
Topics
astronomy atmospheric-modelling convolutional-neural-networks machine-learning star telescope
Created over 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme Contributing License Code of conduct

README.md

TelescopeML

PyPI - Latest Release DOI

Build Status .github/workflows/draft-pdf.yml pages-build-deployment License: GPL v3 Python Downloads

TelescopeML is a Python package comprising a series of modules, each equipped with specialized machine learning and statistical capabilities for conducting Convolutional Neural Networks (CNN) or Machine Learning (ML) training on datasets captured from the atmospheres of extrasolar planets and brown dwarfs. The tasks executed by the TelescopeML modules are outlined below:

  • DataMaster module: Performs various tasks to process the datasets, including:

    • Preparing inputs and outputs
    • Splitting the dataset into training, validation, and test sets
    • Scaling/normalizing the data
    • Visualizing the data
    • Conducting feature engineering
  • DeepTrainer module: Utilizes different methods/packages such as TensorFlow to:

    • Build Convolutional Neural Networks (CNNs) model using the training examples
    • Utilize tuned hyperparameters
    • Fit/train the ML models
    • Visualize the loss and training history, as well as the trained model's performance
  • Predictor module: Implements the following tasks to predict atmospheric parameters:

    • Processes and predicts the observational datasets
    • Deploys the trained ML/CNNs model to predict atmospheric parameters
    • Visualizes the processed observational dataset and the uncertainty in the predicted results
  • StatVisAnalyzer module: Provides a set of functions to perform the following tasks:

    • Explores and processes the synthetic datasets
    • Performs the chi-square test to evaluate the similarity between two datasets
    • Calculates confidence intervals and standard errors
    • Functions to visualize the datasets, including scatter plots, histograms, boxplots

or simply...

  • Load the trained CNN models
  • Follow the tutorials
  • Predict the stellar/exoplanetary parameters
  • Report the statistical analysis

Documentation

  • Documentation: https://ehsangharibnezhad.github.io/TelescopeML/
  • Installation: https://ehsangharibnezhad.github.io/TelescopeML/installation.html
  • Tutorials: https://ehsangharibnezhad.github.io/TelescopeML/tutorials.html
  • The code: https://ehsangharibnezhad.github.io/TelescopeML/code.html

Contributors

All Contributors <!-- ALL-CONTRIBUTORS-BADGE:END -->

Thanks goes to these wonderful people (emoji key): <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable -->

Ehsan Gharib-Nezhad
Ehsan Gharib-Nezhad

💻 🤔 🚧 📚
Natasha Batalha
Natasha Batalha

🧑‍🏫 🐛 🤔
Hamed Valizadegan
Hamed Valizadegan

🧑‍🏫 🤔
Miguel Martinho
Miguel Martinho

🧑‍🏫 🤔
Mahdi Habibi
Mahdi Habibi

💻 🤔
Gopal Nookula
Gopal Nookula

📚

Owner

  • Name: Ehsan (Sam) Gharib-Nezhad
  • Login: EhsanGharibNezhad
  • Kind: user
  • Location: San Fransisco Bay Area, CA.
  • Company: NASA Ames Research Center

Welcome to my data chamber! Data scientist at NASA Ames with 3+ years of experience in developing and vetting machine learning models

JOSS Publication

TelescopeML -- I. An End-to-End Python Package for Interpreting Telescope Datasets through Training Machine Learning Models, Generating Statistical Reports, and Visualizing Results
Published
July 18, 2024
Volume 9, Issue 99, Page 6346
Authors
Ehsan (Sam) Gharib-Nezhad ORCID
Space Science and Astrobiology Division, NASA Ames Research Center, Moffett Field, CA, 94035 USA, Bay Area Environmental Research Institute, NASA Research Park, Moffett Field, CA 94035, USA
Natasha E. Batalha ORCID
Space Science and Astrobiology Division, NASA Ames Research Center, Moffett Field, CA, 94035 USA
Hamed Valizadegan ORCID
Universities Space Research Association (USRA), Mountain View, CA 94043, USA, Intelligent Systems Division, NASA Ames Research Center, Moffett Field, CA 94035, USA
Miguel J. s. Martinho ORCID
Universities Space Research Association (USRA), Mountain View, CA 94043, USA, Intelligent Systems Division, NASA Ames Research Center, Moffett Field, CA 94035, USA
Mahdi Habibi ORCID
Institute for Radiation Physics, Helmholtz-Zentrum Dresden-Rossendorf, Dresden 01328, Germany
Gopal Nookula
Department of Computer Science, University of California, Riverside, Riverside, CA 92507 USA
Editor
Paul La Plante ORCID
Tags
Astronomy Exoplanets Brown dwarfs Spectroscopy Atmospheric retrieval Atmospheric models Machine learning Convolutional Neural Network Telescope datasets

GitHub Events

Total
  • Watch event: 4
  • Push event: 2
  • Fork event: 1
  • Create event: 1
Last Year
  • Watch event: 4
  • Push event: 2
  • Fork event: 1
  • Create event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 421
  • Total Committers: 3
  • Avg Commits per committer: 140.333
  • Development Distribution Score (DDS): 0.048
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
EhsanGharibNezhad e****d@g****m 401
Ehsan Gharib Nezhad e****n@E****l 19
Natasha Batalha n****a@g****m 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 0
  • Total pull requests: 155
  • Average time to close issues: N/A
  • Average time to close pull requests: about 7 hours
  • Total issue authors: 0
  • Total pull request authors: 15
  • Average comments per issue: 0
  • Average comments per pull request: 0.01
  • Merged pull requests: 141
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 10
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 10
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • EhsanGharibNezhad (158)
  • mdhabibi (6)
  • plaplant (4)
  • abhinavuppala (2)
  • ericslu (2)
  • abhinavish (2)
  • MittelmanDaniel (2)
  • tma66 (2)
  • snoopy202 (2)
  • sscott108 (2)
  • hussen2003 (1)
  • GdKent (1)
  • sierrajanson (1)
  • dfm (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 18 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 5
  • Total maintainers: 1
pypi.org: telescopeml

An End-to-End Python Package for Interpreting Telescope Datasets through Training Machine Learning Models, Generating Statistical Reports, and Visualizing Results

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 18 Last month
Rankings
Dependent packages count: 9.2%
Average: 38.7%
Dependent repos count: 68.2%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/draft-pdf.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
setup.py pypi
  • astropy *
  • bokeh *
  • jupyterlab *
  • keras ==2.14.0
  • matplotlib *
  • numpy ==1.26.1
  • pandas *
  • scikit-learn ==1.3.0
  • scipy ==1.11.1
  • seaborn ==0.12.2
  • spectres ==2.2.0
  • sphinx ==7.2.6
  • sphinx *
  • tensorflow ==2.14.0
requirements.txt pypi
  • astropy *
  • bokeh *
  • jupyterlab *
  • keras ==2.14.0
  • matplotlib *
  • numpy ==1.26.1
  • pandas *
  • scikit-learn ==1.3.0
  • scipy ==1.11.1
  • seaborn ==0.12.2
  • spectres ==2.2.0
  • sphinx ==7.2.6
  • sphinx *
  • tensorflow ==2.14.0
environment.yml conda
  • anyio 3.7.1.*
  • appnope 0.1.3.*
  • argon2-cffi 21.3.0.*
  • argon2-cffi-bindings 21.2.0.*
  • arrow 1.2.3.*
  • astropy 5.3.1.*
  • asttokens 2.2.1.*
  • async-lru 2.0.3.*
  • attrs 23.1.0.*
  • babel 2.12.1.*
  • backcall 0.2.0.*
  • backports 1.0.*
  • backports.functools_lru_cache 1.6.5.*
  • beautifulsoup4 4.12.2.*
  • bleach 6.0.0.*
  • bokeh 3.2.1.*
  • brotli 1.0.9.*
  • brotli-bin 1.0.9.*
  • brotli-python 1.0.9.*
  • bzip2 1.0.8.*
  • c-ares 1.19.1.*
  • ca-certificates 2023.7.22.*
  • cached-property 1.5.2.*
  • cached_property 1.5.2.*
  • cffi 1.15.1.*
  • charset-normalizer 3.2.0.*
  • comm 0.1.3.*
  • contourpy 1.1.0.*
  • cycler 0.11.0.*
  • debugpy 1.6.7.*
  • decorator 5.1.1.*
  • defusedxml 0.7.1.*
  • entrypoints 0.4.*
  • exceptiongroup 1.1.2.*
  • executing 1.2.0.*
  • flit-core 3.9.0.*
  • fonttools 4.41.1.*
  • fqdn 1.5.1.*
  • freetype 2.12.1.*
  • h5py 3.6.0.*
  • hdf5 1.12.1.*
  • idna 3.4.*
  • importlib-metadata 6.8.0.*
  • importlib-resources 6.0.0.*
  • importlib_metadata 6.8.0.*
  • importlib_resources 6.0.0.*
  • ipykernel 6.25.0.*
  • ipython 8.14.0.*
  • ipython_genutils 0.2.0.*
  • ipywidgets 8.0.7.*
  • isoduration 20.11.0.*
  • jedi 0.18.2.*
  • jinja2 3.1.2.*
  • joblib 1.3.0.*
  • json5 0.9.14.*
  • jsonschema 4.18.4.*
  • jsonschema-specifications 2023.7.1.*
  • jsonschema-with-format-nongpl 4.18.4.*
  • jupyter 1.0.0.*
  • jupyter-lsp 2.2.0.*
  • jupyter_client 8.3.0.*
  • jupyter_console 6.6.3.*
  • jupyter_core 5.3.1.*
  • jupyter_events 0.6.3.*
  • jupyter_server 2.7.0.*
  • jupyter_server_terminals 0.4.4.*
  • jupyterlab 4.0.3.*
  • jupyterlab_pygments 0.2.2.*
  • jupyterlab_server 2.24.0.*
  • jupyterlab_widgets 3.0.8.*
  • kiwisolver 1.4.4.*
  • krb5 1.21.1.*
  • lcms2 2.15.*
  • lerc 4.0.0.*
  • libblas 3.9.0.*
  • libbrotlicommon 1.0.9.*
  • libbrotlidec 1.0.9.*
  • libbrotlienc 1.0.9.*
  • libcblas 3.9.0.*
  • libcurl 8.2.1.*
  • libcxx 16.0.6.*
  • libdeflate 1.18.*
  • libedit 3.1.20191231.*
  • libev 4.33.*
  • libffi 3.4.2.*
  • libgfortran 5.0.0.*
  • libgfortran5 12.3.0.*
  • libjpeg-turbo 2.1.5.1.*
  • liblapack 3.9.0.*
  • libnghttp2 1.52.0.*
  • libopenblas 0.3.23.*
  • libpng 1.6.39.*
  • libprotobuf 3.19.6.*
  • libsodium 1.0.18.*
  • libsqlite 3.42.0.*
  • libssh2 1.11.0.*
  • libtiff 4.5.1.*
  • libwebp-base 1.3.1.*
  • libxcb 1.15.*
  • libzlib 1.2.13.*
  • llvm-openmp 16.0.6.*
  • markupsafe 2.1.3.*
  • matplotlib 3.7.2.*
  • matplotlib-base 3.7.2.*
  • matplotlib-inline 0.1.6.*
  • mistune 3.0.0.*
  • munkres 1.1.4.*
  • nb_conda_kernels 2.3.1.*
  • nbclient 0.8.0.*
  • nbconvert 7.7.3.*
  • nbconvert-core 7.7.3.*
  • nbconvert-pandoc 7.7.3.*
  • nbformat 5.9.1.*
  • ncurses 6.4.*
  • nest-asyncio 1.5.6.*
  • notebook 7.0.0.*
  • notebook-shim 0.2.3.*
  • openjpeg 2.5.0.*
  • openssl 3.1.4.*
  • overrides 7.3.1.*
  • packaging 23.1.*
  • pandas 2.0.3.*
  • pandoc 3.1.3.*
  • pandocfilters 1.5.0.*
  • parso 0.8.3.*
  • patsy 0.5.3.*
  • pexpect 4.8.0.*
  • pickleshare 0.7.5.*
  • pillow 10.0.0.*
  • pip 23.2.1.*
  • pkgutil-resolve-name 1.3.10.*
  • platformdirs 3.9.1.*
  • pooch 1.7.0.*
  • prometheus_client 0.17.1.*
  • prompt-toolkit 3.0.39.*
  • prompt_toolkit 3.0.39.*
  • psutil 5.9.5.*
  • pthread-stubs 0.4.*
  • ptyprocess 0.7.0.*
  • pure_eval 0.2.2.*
  • pycparser 2.21.*
  • pyerfa 2.0.0.3.*
  • pygments 2.15.1.*
  • pyobjc-core 9.2.*
  • pyobjc-framework-cocoa 9.2.*
  • pyparsing 3.0.9.*
  • pysocks 1.7.1.*
  • python 3.9.16.*
  • python-dateutil 2.8.2.*
  • python-fastjsonschema 2.18.0.*
  • python-json-logger 2.0.7.*
  • python-tzdata 2023.3.*
  • python_abi 3.9.*
  • pytz 2023.3.post1.*
  • pyyaml 6.0.1.*
  • pyzmq 25.1.0.*
  • qtconsole-base 5.4.4.*
  • qtpy 2.4.1.*
  • readline 8.2.*
  • referencing 0.30.0.*
  • requests 2.31.0.*
  • rfc3339-validator 0.1.4.*
  • rfc3986-validator 0.1.1.*
  • rpds-py 0.9.2.*
  • scikit-learn 1.3.0.*
  • scipy 1.11.1.*
  • seaborn 0.12.2.*
  • seaborn-base 0.12.2.*
  • send2trash 1.8.2.*
  • six 1.16.0.*
  • sniffio 1.3.0.*
  • soupsieve 2.3.2.post1.*
  • stack_data 0.6.2.*
  • statsmodels 0.14.0.*
  • terminado 0.17.1.*
  • threadpoolctl 3.2.0.*
  • tinycss2 1.2.1.*
  • tk 8.6.12.*
  • tomli 2.0.1.*
  • tornado 6.3.2.*
  • traitlets 5.9.0.*
  • typing-extensions 4.8.0.*
  • typing_extensions 4.8.0.*
  • typing_utils 0.1.0.*
  • tzdata 2023c.*
  • unicodedata2 15.0.0.*
  • uri-template 1.3.0.*
  • urllib3 2.0.7.*
  • wcwidth 0.2.6.*
  • webcolors 1.13.*
  • webencodings 0.5.1.*
  • websocket-client 1.6.1.*
  • wheel 0.41.0.*
  • widgetsnbextension 4.0.8.*
  • xorg-libxau 1.0.11.*
  • xorg-libxdmcp 1.1.3.*
  • xyzservices 2023.7.0.*
  • xz 5.2.6.*
  • yaml 0.2.5.*
  • zeromq 4.3.4.*
  • zipp 3.16.2.*
  • zlib 1.2.13.*
  • zstd 1.5.2.*
store/environment.yml conda
  • anyio 3.7.1
  • appnope 0.1.3
  • argon2-cffi 21.3.0
  • argon2-cffi-bindings 21.2.0
  • arrow 1.2.3
  • astropy 5.3.1
  • asttokens 2.2.1
  • async-lru 2.0.3
  • attrs 23.1.0
  • babel 2.12.1
  • backcall 0.2.0
  • backports 1.0
  • backports.functools_lru_cache 1.6.5
  • beautifulsoup4 4.12.2
  • bleach 6.0.0
  • bokeh 3.2.1
  • brotli 1.0.9
  • brotli-bin 1.0.9
  • brotli-python 1.0.9
  • bzip2 1.0.8
  • c-ares 1.19.1
  • ca-certificates 2023.7.22
  • cached-property 1.5.2
  • cached_property 1.5.2
  • certifi 2023.7.22
  • cffi 1.15.1
  • charset-normalizer 3.2.0
  • comm 0.1.3
  • contourpy 1.1.0
  • cycler 0.11.0
  • debugpy 1.6.7
  • decorator 5.1.1
  • defusedxml 0.7.1
  • entrypoints 0.4
  • exceptiongroup 1.1.2
  • executing 1.2.0
  • flit-core 3.9.0
  • fonttools 4.41.1
  • fqdn 1.5.1
  • freetype 2.12.1
  • h5py 3.6.0
  • hdf5 1.12.1
  • idna 3.4
  • importlib-metadata 6.8.0
  • importlib-resources 6.0.0
  • importlib_metadata 6.8.0
  • importlib_resources 6.0.0
  • ipykernel 6.25.0
  • ipython 8.14.0
  • ipython_genutils 0.2.0
  • ipywidgets 8.0.7
  • isoduration 20.11.0
  • jedi 0.18.2
  • jinja2 3.1.2
  • joblib 1.3.0
  • json5 0.9.14
  • jsonpointer 2.0
  • jsonschema 4.18.4
  • jsonschema-specifications 2023.7.1
  • jsonschema-with-format-nongpl 4.18.4
  • jupyter 1.0.0
  • jupyter-lsp 2.2.0
  • jupyter_client 8.3.0
  • jupyter_console 6.6.3
  • jupyter_core 5.3.1
  • jupyter_events 0.6.3
  • jupyter_server 2.7.0
  • jupyter_server_terminals 0.4.4
  • jupyterlab 4.0.3
  • jupyterlab_pygments 0.2.2
  • jupyterlab_server 2.24.0
  • jupyterlab_widgets 3.0.8
  • kiwisolver 1.4.4
  • krb5 1.21.1
  • lcms2 2.15
  • lerc 4.0.0
  • libblas 3.9.0
  • libbrotlicommon 1.0.9
  • libbrotlidec 1.0.9
  • libbrotlienc 1.0.9
  • libcblas 3.9.0
  • libcurl 8.2.1
  • libcxx 16.0.6
  • libdeflate 1.18
  • libedit 3.1.20191231
  • libev 4.33
  • libffi 3.4.2
  • libgfortran 5.0.0
  • libgfortran5 12.3.0
  • libjpeg-turbo 2.1.5.1
  • liblapack 3.9.0
  • libnghttp2 1.52.0
  • libopenblas 0.3.23
  • libpng 1.6.39
  • libprotobuf 3.19.6
  • libsodium 1.0.18
  • libsqlite 3.42.0
  • libssh2 1.11.0
  • libtiff 4.5.1
  • libwebp-base 1.3.1
  • libxcb 1.15
  • libzlib 1.2.13
  • llvm-openmp 16.0.6
  • markupsafe 2.1.3
  • matplotlib 3.7.2
  • matplotlib-base 3.7.2
  • matplotlib-inline 0.1.6
  • mistune 3.0.0
  • munkres 1.1.4
  • nb_conda_kernels 2.3.1
  • nbclient 0.8.0
  • nbconvert 7.7.3
  • nbconvert-core 7.7.3
  • nbconvert-pandoc 7.7.3
  • nbformat 5.9.1
  • ncurses 6.4
  • nest-asyncio 1.5.6
  • notebook 7.0.0
  • notebook-shim 0.2.3
  • openjpeg 2.5.0
  • openssl 3.1.4
  • overrides 7.3.1
  • packaging 23.1
  • pandas 2.0.3
  • pandoc 3.1.3
  • pandocfilters 1.5.0
  • parso 0.8.3
  • patsy 0.5.3
  • pexpect 4.8.0
  • pickleshare 0.7.5
  • pillow 10.0.0
  • pip 23.2.1
  • pkgutil-resolve-name 1.3.10
  • platformdirs 3.9.1
  • pooch 1.7.0
  • prometheus_client 0.17.1
  • prompt-toolkit 3.0.39
  • prompt_toolkit 3.0.39
  • psutil 5.9.5
  • pthread-stubs 0.4
  • ptyprocess 0.7.0
  • pure_eval 0.2.2
  • pycparser 2.21
  • pyerfa 2.0.0.3
  • pygments 2.15.1
  • pyobjc-core 9.2
  • pyobjc-framework-cocoa 9.2
  • pyparsing 3.0.9
  • pysocks 1.7.1
  • python 3.9.16
  • python-dateutil 2.8.2
  • python-fastjsonschema 2.18.0
  • python-json-logger 2.0.7
  • python-tzdata 2023.3
  • python_abi 3.9
  • pytz 2023.3.post1
  • pyyaml 6.0.1
  • pyzmq 25.1.0
  • qtconsole-base 5.4.4
  • qtpy 2.4.1
  • readline 8.2
  • referencing 0.30.0
  • requests 2.31.0
  • rfc3339-validator 0.1.4
  • rfc3986-validator 0.1.1
  • rpds-py 0.9.2
  • scikit-learn 1.3.0
  • scipy 1.11.1
  • seaborn 0.12.2
  • seaborn-base 0.12.2
  • send2trash 1.8.2
  • setuptools 68.0.0
  • six 1.16.0
  • sniffio 1.3.0
  • soupsieve 2.3.2.post1
  • stack_data 0.6.2
  • statsmodels 0.14.0
  • terminado 0.17.1
  • threadpoolctl 3.2.0
  • tinycss2 1.2.1
  • tk 8.6.12
  • tomli 2.0.1
  • tornado 6.3.2
  • traitlets 5.9.0
  • typing-extensions 4.8.0
  • typing_extensions 4.8.0
  • typing_utils 0.1.0
  • tzdata 2023c
  • unicodedata2 15.0.0
  • uri-template 1.3.0
  • urllib3 2.0.7
  • wcwidth 0.2.6
  • webcolors 1.13
  • webencodings 0.5.1
  • websocket-client 1.6.1
  • wheel 0.41.0
  • widgetsnbextension 4.0.8
  • xorg-libxau 1.0.11
  • xorg-libxdmcp 1.1.3
  • xyzservices 2023.7.0
  • xz 5.2.6
  • yaml 0.2.5
  • zeromq 4.3.4
  • zipp 3.16.2
  • zlib 1.2.13
  • zstd 1.5.2