rascal

RAnsac Assisted Spectral CALibration

https://github.com/jveitchmichaelis/rascal

Science Score: 67.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
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.1%) to scientific vocabulary

Keywords

astronomy astrophysics calibration spectroscopy
Last synced: 8 months ago · JSON representation ·

Repository

RAnsac Assisted Spectral CALibration

Basic Info
  • Host: GitHub
  • Owner: jveitchmichaelis
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Size: 134 MB
Statistics
  • Stars: 14
  • Watchers: 1
  • Forks: 3
  • Open Issues: 23
  • Releases: 12
Topics
astronomy astrophysics calibration spectroscopy
Created almost 7 years ago · Last pushed about 2 years ago
Metadata Files
Readme Changelog License Citation Zenodo

README.md

Rascal: RANSAC Assisted Spectral CALibration

Python package Coverage Status Readthedocs Status PyPI version Downloads DOI Code style: black

Rascal is a library for automated spectrometer wavelength calibration. It has been designed primarily for astrophysics applications, but should be usable with spectra captured from any similar spectrometer.

Given a set of peaks located in your spectrum, Rascal will attempt to determine a model for your spectrometer to convert between pixels and wavelengths.

Unlike other calibration methods, rascal does not require you to manually select lines in your spectrum. Ideally you should know approximate parameters about your system, namely:

  • What arc lamp was used (e.g. Xe, Hg, Ar, CuNeAr)
  • What the dispersion of your spectrometer is (i.e. angstroms/pixel)
  • The spectral range of your system, and the starting wavelength

You don't need to know the dispersion and start wavelength exactly. Often this information is provided by the observatory, but if you don't know it, you can take a rough guess. The closer you are to the actual system settings, the more likely it is that Rascal will be able to solve the calibration. Blind calibration, where no parameters are known, is possible but challenging currently. If you don't know the lamp, you can try iterating over the various combinations of sources. Generally when you do get a correct fit, with most astronomical instruments the errors will be extremely low.

More background information can be referred to this arXiv article.

Dependencies

  • python >= 3.7
  • numpy>=1.16,<1.24
  • scipy>=1.3.3
  • pynverse>=0.1.4
  • matplotlib>=3.0.3
  • tqdm>=4.48.0

Optional Dependencies

Installation

Instructions can be found here.

Reporting issues/feature requests

Please use the issue tracker to report any issues or support questions.

Getting started

The quickstart guide will show you how to reduce the example dataset.

Contributing Code/Documentation

If you are interested in contributing code to the project, thank you! For those unfamiliar with the process of contributing to an open-source project, you may want to read through Github’s own short informational section on how to submit a contribution or send me a message.

Style -- we now use black for formatting, you can easily set this up using a pre-commit hook.

pip install pre-commit
pre-commit install

Disclaimer

We duplicate some of the relevant metadata, but we do not process the raw metadata. Some of the metadata this software creates contain full path to the files in your system, which most likely includes a user name on your machine. Please be advised it is your responsibility to be compliant with the privacy law(s) that you are oblidged to follow, and it is your responsibility to remove any metadata that may reveal personal information and/or provide information that can reveal any computing vulunerability.

Owner

  • Name: Josh Veitch-Michaelis
  • Login: jveitchmichaelis
  • Kind: user
  • Location: Zürich, Switzerland
  • Company: ETH Zürich

ML for social good.

Citation (CITATION.cff)

cff-version: 1.2.0
title: rascal
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Josh
    family-names: Veitch-Michaelis
    email: j.veitchmichaelis@gmail.com
    affiliation: ETH Zurich
    orcid: 'https://orcid.org/0000-0003-2780-7843'
  - given-names: Marco C
    family-names: Lam
    email: lam@mail.tau.ac.il
    affiliation: Tel Aviv University
    orcid: 'https://orcid.org/0000-0002-9347-2298'
identifiers:
  - type: doi
    value: 10.5281/zenodo.4117514
    description: Zenodo
  - type: url
    value: >-
      http://aspbooks.org/custom/publications/paper/527-0627.html
    description: >-
      Article in the ASP Conference Series
      Astronomical Data Analysis Software and Systems
      XXIX
repository-code: 'https://github.com/jveitchmichaelis/rascal'
url: 'https://pypi.org/project/rascal/'
license: BSD-3-Clause

GitHub Events

Total
  • Issues event: 1
  • Watch event: 1
  • Issue comment event: 4
Last Year
  • Issues event: 1
  • Watch event: 1
  • Issue comment event: 4

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 169 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 1
  • Total versions: 14
  • Total maintainers: 1
pypi.org: rascal

The Pyhton Automated Wavelenmgth Calibrator.

  • Versions: 14
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 169 Last month
Rankings
Dependent packages count: 4.7%
Average: 14.5%
Downloads: 17.1%
Dependent repos count: 21.6%
Maintainers (1)
Last synced: 9 months ago

Dependencies

docs/requirements.txt pypi
  • astropy *
  • matplotlib *
  • numpy *
  • plotly *
  • pynverse *
  • scipy *
  • sphinx-autoapi *
  • tqdm *
requirements.txt pypi
  • astropy *
  • matplotlib *
  • numpy *
  • pynverse *
  • scipy *
  • tqdm *
.github/workflows/python-package.yml actions
  • AndreMiras/coveralls-python-action develop composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • s-weigand/setup-conda v1 composite
.github/workflows/python-publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish release/v1 composite
test-requirements.txt pypi
  • astropy >=4.0 test
  • plotly >=4.0 test
  • pytest >=5.3 test
  • pytest-cov >=2.8 test
pyproject.toml pypi
setup.py pypi