Skip to main content

Spectroscopic Binary System

PyPI version

Spectroscopic Binary System is a package intended to contain functionality and some common tools needed for performing astrophysics on spectroscopic binary stars with Python. It allows, among other things, to automatically measure the radial velocity of SB1 type systems and to find their orbital solution with BinaryStarSolver (https://github.com/NickMilsonPhysics/BinaryStarSolver)

Installation

To install spectroscopicbinarysystem with pip, run:

  # mac / unix
  pip install spectroscopicbinarysystem

  # windows
  py -m pip install spectroscopicbinarysystem

If you want to make sure none of your existing dependencies get upgraded, you can also do:

  # mac / unix
  pip install spectroscopicbinarysystem --no-deps 

  # windows
  py -m pip install spectroscopicbinarysystem --no-deps

Prerequisites

Your spectra must be in fit(s) format with (at minimum) the following fields in the header. The geographical coordinates of the observer will allow to automatically correct the heliocentric/baricentric velocity.

01 | SIMPLE = T                                   / File does conform to FITS standard
02 | BITPIX = -32                                 / Number of bits per data pixel
03 | NAXIS = 1                                    / Number of data axes
04 | NAXIS1 = 1212                                / Length of data axis 1
05 | CRVAL1 = 3780.17883300781                    / Coordinate at reference pixel
06 | CDELT1 = 3.267211914                         / Coordinate increment
09 | DATE-OBS= '2021-03-24T19:45:00'              / Date of observation start
12 | BSS_INST= 'SW72ED + StarEx 2400 + ASI183MM'  / Instrument
16 | OBSERVER= 'gbertrand'                        / Observer name or alias
17 | CUNIT1 = 'Angstrom'                          / Wavelength unit
18 | CTYPE1 = 'Wavelength'                        / Axis type
20 | CRPIX1 = 1                                   / Reference pixel
21 | BSS_VHEL= 0                                  / [km/s] Heliocentric speed
26 | JD-OBS = 0                                   / JD start observation
29 | GEO_LONG= 0                                  / Obs. geographic longitude
30 | GEO_LAT = 0                                  / Obs. geographic latitude
31 | GEO_ELEV= 0                                  / Obs. geographic elevation

Usage/Examples

Download sample data (see /examples/alphadra directory) or from the STAROS database (https://alphadra.staros-projects.org/)

And run this code :

from spectroscopicbinarysystem import SpectroscopicBinarySystem

sbs = SpectroscopicBinarySystem(
    object_name='hd123299',
    spectra_path='./examples/alphadra/',
    t0=2451441.804,
    period_guess=51,
    conf={
        "LAMBDA_REF": 6562.82,
        "LINE_FIT_MODEL": "gaussian",
        "LINE_FIT_FWHM": 1.0,
        "RV_CORR_TYPE": "barycentric",
        "SB_TYPE": 1
    },
    verbose=False,
    debug=False)

# plot result with matplotlib and save the results
sbs.plotRadialVelocityCurve(
    title="α Dra - HD123299 - Phased radial velocities",
    subtitle=f"{sbs.getObservationCount()} observations collected from april 2022 to may 2023\nhttps://alphadra.staros-projects.org/\n",
    savefig=True)

# plot 2d dynamic spectrum
sbs.plotSpec2DFlux(
    title="α Dra - HD123299 - Hα line 2d dynamic spectrum",
    subtitle=f"{sbs.getObservationCount()} observations collected from april 2022 to may 2023\nhttps://alphadra.staros-projects.org/\n",
    savefig=True
)

# display result with plotly
sbs.plotlyRadialVelocityCurve(
    title="α Dra - HD123299 - Phased radial velocities",
    group_by_instrument=False)

results

results

results

Metadata

Release files for SpectroscopicBinarySystem 1.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for SpectroscopicBinarySystem 1.5.0
File Size Uploaded
SpectroscopicBinarySystem-1.5.0.tar.gz 12.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for SpectroscopicBinarySystem 1.5.0
File Interpreter ABI Platform
SpectroscopicBinarySystem-1.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.5 kB

Release files / SpectroscopicBinarySystem-1.5.0.tar.gz

Download URL SpectroscopicBinarySystem-1.5.0.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c33946b583f7bca2ba41de28beed62a19a9efdbcb5f3ecb52aaf8c0c70729070
BLAKE2b-256 checksum
How to use checksums
730d5871e99eeb8a6fa102eec6e4998eef1b31a7b9b5d16df02e929cd651f3d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.2

Release files / SpectroscopicBinarySystem-1.5.0-py3-none-any.whl

Download URL SpectroscopicBinarySystem-1.5.0-py3-none-any.whl
Size 12.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d5946e42147d9f1352cc3ffc128912e8e39c5c541eefe89076f26ec58cd11e48
BLAKE2b-256 checksum
How to use checksums
df698658720416ab97bef0744bc6240d7bc8db77fa8a89f65d96ada57d0db5e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.2

Release history Release notifications | RSS feed

This release

1.5.0 This release

2 release files

1.4.0

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.18

2 release files

1.0.17

2 release files

1.0.16

2 release files

1.0.15

2 release files

1.0.14

2 release files

1.0.13

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page