vsini_fourier¶
v sin i from the first zero of the Fourier transform of one line profile.
| Category | Kinematics |
| Backend | scipy - implemented here on top of scipy primitives |
| Version | 2.0.0 |
| Reads | ctx.spectrum (a Spectrum1D) |
| Writes | metrics.vsini_kms, metrics.fourier_first_zero_s_per_km, metrics.q1_used, metrics.velocity_step_kms, metrics.fourier_sidelobe_ratio, metrics.fourier_noise_floor, metrics.line_depth, extras.vsini_fourier |
Cuts ± window_angstrom around line_center_angstrom, fits a straight continuum through the outer continuum_fraction of the window on each side, forms D = 1 − F/Fc on v = c·(λ − λ0)/λ0, resamples to the median native velocity step, zero-pads by zero_pad_factor and takes the FFT. The first local minimum of |d(σ)| below 30 % of |d(0)| at which the centroid-shifted real part changes sign is the first zero σ1 when the side lobe that follows it (max of |d| over (σ1, 1.6 σ1]) reaches 3 % of |d(0)| (the transform of the rotation profile has a first side lobe of 0.132 |d(0)| at ε = 0, 0.104 at ε = 0.6, 0.086 at ε = 1, halved by Gaussian broadening at the validity limit), stands 3× above the Fourier noise floor (median |d(σ)| over the upper half of the frequency axis) and 1.5× above the minimum ; a rejected minimum already at the noise level ends the search. v sin i = q1(epsilon)/σ1 with the Dravins et al. 1990 polynomial (q1 = 0.610 at ε = 0, 0.660 at ε = 0.6). Fails when the window holds an emission feature rather than an absorption line, when the line depth is below 3× the continuum-anchor scatter, or when no validated zero exists below the Nyquist frequency 1/(2Δv) — the line is unresolved (v sin i ≲ 2·q1·Δv), Gaussian-dominated, or the window clips the profile. Needs an isolated absorption line ; blends and strong macroturbulence (slow rotators, v sin i ≲ 10 km/s) bias the zero. fourier_sidelobe_ratio well below the theoretical 0.09–0.13, or under ~4× fourier_noise_floor, means the zero sits in the noise (a Gaussian-dominated line can then yield a spurious v sin i below 2× its FWHM). Match window_angstrom to the line (±2–3 × λ0·v sin i/c plus continuum) : the noise floor grows as √window. extras['vsini_fourier'] holds |d(σ)|/|d(0)| up to 3 σ1 for plotting. v2.0.0: masked samples (Spectrum1D.mask) are ignored — dropped like non-finite ones before the continuum fit and the resampling onto the uniform velocity grid (which bridges the gap linearly).
Parameters¶
| Parameter | Default | Required | Description |
|---|---|---|---|
line_center_angstrom |
None |
yes | Rest-frame centre (Å) of an isolated absorption line (required). |
window_angstrom |
5.0 |
- | Half-width (Å) of the analysis window ; must contain the whole rotation profile (λ0 · v sin i / c on each side) plus continuum. |
epsilon |
0.6 |
- | Linear limb-darkening coefficient ε in [0, 1] for q₁(ε). |
continuum_fraction |
0.2 |
- | Fraction of each window edge used to anchor the continuum. |
zero_pad_factor |
16 |
- | Zero-padding factor of the FFT (σ sampling refinement), ≥ 2. |
Use it¶
{
"tool": "vsini_fourier",
"arguments": {
"session_id": "<session_id>",
"params": {
"line_center_angstrom": "<value>",
"window_angstrom": 5.0,
"epsilon": 0.6,
"continuum_fraction": 0.2,
"zero_pad_factor": 16
}
}
}
Every algorithm is an MCP tool of the same name; describe_algorithm returns
this page's metadata as JSON.
References¶
- Carroll 1933, MNRAS 93, 478 — zeros of the Fourier transform of the rotation profile as a v sin i diagnostic.
- Gray 2005, The Observation and Analysis of Stellar Photospheres, 3rd ed., Cambridge UP — ch. 18, rotation profile G(Δλ) and its Fourier analysis (first zero at σ₁ v sin i = 0.660 for ε = 0.6).
- Dravins, Lindegren & Torkelsson 1990, A&A 237, 137 — q₁(ε) = 0.610 + 0.062 ε + 0.027 ε² + 0.012 ε³ + 0.004 ε⁴.
- Díaz, González, Levato & Grosso 2011, A&A 531, A143 — Fourier v sin i recipe and error analysis.
Related algorithms¶
rotation_curve- Projected long-slit rotation curve v_los(r) from Hα per slit offset.