holosim-ml

machine learning applied to the efficient analysis of radio holography measurements of complex optical systems

https://github.com/mcmahoncosmologygroup/holosim-ml

Science Score: 44.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.9%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

machine learning applied to the efficient analysis of radio holography measurements of complex optical systems

Basic Info
  • Host: GitHub
  • Owner: McMahonCosmologyGroup
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 927 KB
Statistics
  • Stars: 2
  • Watchers: 2
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Created almost 5 years ago · Last pushed almost 4 years ago
Metadata Files
Readme Citation

README.md

Code style: black

holosim-ml 📡

holosim-ml is a library for beam simulation and analysis of radio holography data from complex optical systems. This code uses machine learning to efficiently determine the position of hundreds of mirror adjusters on multiple mirrors with few micron accuracy. We apply this approach to the example of the Simons Observatory 6 m telescope.

For example, holosim-ml simulates the far-field beam pattern, with mirror surface error root-mean-squares of 0 µm, 20 µm, 35 µm, and 50 µm. The side-lobes around the central beam increase as RMS of panel errors increases. This figure was produced with the Window Function.ipynb notebook, at 150 GHz.

Dependencies

  • Python>=3.6
  • numpy, scipy, matplotlib, sklearn

Installation

$ git clone https://github.com/orgs/McMahonCosmologyGroup/holosim-ml

The notebooks call two .csv files with the telescope mirrors' panel geometries. In order to run the notebooks, change the path in pan_mod.py to the location of the .csv files (lines 264 and 270). ```

Primary mirror adjuster positions

dfm1 = pd.readcsv( "path/to/folder/pans-adjs/Mirror-M1-vertical-adjuster-pointsr1-1.csv", skiprows=2, navalues=["<-- ", "--> ", "<--", "-->"], )

Secondary mirror adjuster positions

dfm2 = pd.readcsv( "path/to/folder/pans-adjs/Mirror-M2-vertical-adjuster-pointsr1-1.csv", skiprows=2, navalues=["<-- ", "--> ", "<--", "-->"], ) ```

Contributions

If you have write access to this repository, please: * create a new branch * push your changes to that branch * merge or rebase to get in sync with main * submit a pull request on github * If you do not have write access, create a fork of this repository and proceed as described above. For more details, see Contributing.

Email: chesmore@uchicago.edu for .sav files.

Owner

  • Name: McMahonCosmologyGroup
  • Login: McMahonCosmologyGroup
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Chesmore
    given-names: Grace E.
    orcid: https://orcid.org/0000-0002-5127-0401
title: "The Simons Observatory HoloSim-ML: machine learning applied to the efficient analysis of radio holography measurements of complex optical systems"
version: 2.0
doi: 10.1364/AO.435007
date-released: 2021-10
url: "https://github.com/McMahonCosmologyGroup/holosim-ml"

GitHub Events

Total
Last Year

Dependencies

requirements.txt pypi
  • Jinja2 ==3.0.3
  • MarkupSafe ==2.0.1
  • Pillow ==8.4.0
  • Pygments ==2.10.0
  • QtPy ==1.11.2
  • Send2Trash ==1.8.0
  • argon2-cffi ==21.1.0
  • async-generator ==1.10
  • attrs ==21.2.0
  • backcall ==0.2.0
  • bleach ==4.1.0
  • certifi ==2020.6.20
  • cffi ==1.15.0
  • colorama ==0.4.4
  • cycler ==0.11.0
  • decorator ==5.1.0
  • defusedxml ==0.7.1
  • entrypoints ==0.3
  • importlib-metadata ==4.8.2
  • ipykernel ==5.5.6
  • ipython ==7.16.1
  • ipython-genutils ==0.2.0
  • ipywidgets ==7.6.5
  • jedi ==0.18.1
  • joblib ==1.1.0
  • jsonschema ==3.2.0
  • jupyter ==1.0.0
  • jupyter-client ==7.0.6
  • jupyter-console ==6.4.0
  • jupyter-core ==4.9.1
  • jupyterlab-pygments ==0.1.2
  • jupyterlab-widgets ==1.0.2
  • kiwisolver ==1.3.1
  • matplotlib ==3.3.4
  • mistune ==0.8.4
  • nbclient ==0.5.8
  • nbconvert ==6.0.7
  • nbformat ==5.1.3
  • nest-asyncio ==1.5.1
  • notebook ==6.4.6
  • numpy ==1.19.5
  • packaging ==21.3
  • pandas ==1.1.5
  • pandocfilters ==1.5.0
  • parso ==0.8.2
  • pickleshare ==0.7.5
  • prometheus-client ==0.12.0
  • prompt-toolkit ==3.0.22
  • pycparser ==2.21
  • pyparsing ==3.0.6
  • pyrsistent ==0.18.0
  • python-dateutil ==2.8.2
  • pytz ==2021.3
  • pywin32 ==302
  • pywinpty ==1.1.6
  • pyzmq ==22.3.0
  • qtconsole ==5.2.0
  • scikit-learn ==0.24.2
  • scipy ==1.5.4
  • six ==1.16.0
  • sklearn ==0.0
  • terminado ==0.12.1
  • testpath ==0.5.0
  • threadpoolctl ==3.0.0
  • tornado ==6.1
  • traitlets ==4.3.3
  • typing_extensions ==4.0.0
  • wcwidth ==0.2.5
  • webencodings ==0.5.1
  • widgetsnbextension ==3.5.2
  • wincertstore ==0.2
  • zipp ==3.6.0