star_vsini_fourier¶
Projected rotational velocity v sin i of a star from the first zero of the Fourier transform of one isolated absorption line (Carroll 1933; Gray 2005), on a continuum-normalised, reduced spectrum. The line, its window and the limb-darkening coefficient depend on the star and on your resolution, so they are variables.
| Kind | campaign |
| Status | draft - draft: conventions still open for discussion |
| Version | 1.0.0 |
| Source | package:spectro-kernel-recipes |
| Requires | spectro-kernel >=0.7 |
Conventions¶
Continuum normalised with a 3rd-order polynomial and 3-sigma clipping before the transform; the method is valid only when the rotational broadening dominates the instrumental profile (v sin i above roughly twice the instrumental FWHM in velocity): the brick refuses unresolved lines and reports the Fourier noise floor so the acceptance of the zero can be judged.
References¶
- Carroll 1933, MNRAS 93, 478 - zeros of the Fourier transform of the rotation profile
- Gray 2005, The Observation and Analysis of Stellar Photospheres, 3rd ed., ch. 18
- Dravins, Lindegren & Torkelsson 1990, A&A 237, 137 - q1 as a function of the limb darkening
- Diaz, Gonzalez, Levato & Grosso 2011, A&A 531, A143 - the Fourier v sin i recipe
Variables¶
The instrument- or observer-dependent values. Provide them with a profile
file, --set name=value, or variables={...} in Python.
| Variable | Type | Required / default | Description |
|---|---|---|---|
line_center_angstrom |
float | required | rest wavelength (air) of an isolated absorption line, e.g. Mg II 4481.13 for A stars, Fe I 6430.85 for cooler stars |
window_angstrom |
float | default 5.0 |
half-window around the line, wide enough to reach the continuum on both sides (about 2-3 times lambda * v sin i / c plus margin) |
epsilon |
float | default 0.6 |
linear limb-darkening coefficient of the star at the line's wavelength |
Steps¶
| # | Algorithm | Parameters |
|---|---|---|
| 1 | normalize_polynomial Continuum normalisation |
order=3, sigma_clip=3.0 |
| 2 | vsini_fourier v sin i from the Fourier first zero |
line_center_angstrom='${line_center_angstrom}', window_angstrom='${window_angstrom}', epsilon='${epsilon}' |
Run it¶
from spectro_kernel import WorkContext
from spectro_kernel.pipeline import PipelineBuilder
variables = {"line_center_angstrom": 0.0, "window_angstrom": 5.0, "epsilon": 0.6}
pipeline = PipelineBuilder().from_preset("star_vsini_fourier", variables).build()
result = pipeline.execute(ctx) # ctx holds the spectrum / frames
print(result.history[-1]) # pipeline:<name> vX.Y.Z + variables