Deblazing HPF spectra

THe blaze function is a conspicuous feature of echelle spectrographs, a large upside down U shape enveloping the raw 1D echelle orders. The process of removing this instrumental artifact is deblazing, and we have mentioned it in previous tutorials. Here we show a new technique to deblazing based on calibration templates that are now built into muler automatically. This deblazing process is imperfect, but adequate for many purposes.

[1]:
%config InlineBackend.figure_format='retina'
from muler.hpf import HPFSpectrumList
[2]:
path = 'https://github.com/OttoStruve/muler_example_data/raw/main/HPF/01_A0V_standards/'
filename = 'Goldilocks_20210212T072837_v1.0_0037.spectra.fits'
spectra = HPFSpectrumList.read(path+filename)
[3]:
spectra.normalize().plot(ylo=0, yhi=4);
../_images/tutorials_Deblazing_HPF_spectra_3_0.png

We see the conspicuous blaze pattern in each spectra order. Let’s apply a correction to one of those orders:

[4]:
spectrum = spectra[15]
new_spectrum = spectrum.deblaze()
[5]:
ax = spectrum.normalize().plot(ylo=0, yhi=1.5, label='observed')
new_spectrum.normalize().plot(ax=ax, label='deblazed');
ax.legend();
../_images/tutorials_Deblazing_HPF_spectra_6_0.png

Nice! We see that the plunging edges have come closer to the a nearly flat native spectral tilt of a stellar spectrum (with some telluric absorption features still present). Since the deblazing step is spectrally smooth, it does not add any noise. The entire spectrum of this A0V star will have both telluric lines and broad Hydrogen lines. The deblazing correction is known to be coarse, with the most conspicuous imperfections near 1150 - 1210 nm.

[6]:
ax = spectra.deblaze().normalize().plot(ylo=0, yhi=1.5);
../_images/tutorials_Deblazing_HPF_spectra_8_0.png
This pattern will look familiar to most infrared astronomers: a Rayleigh-Jeans tail, atmospheric windows, and Hydrogen lines.
We can flatten by a black body:
[7]:
refined = spectra.deblaze().normalize().flatten_by_black_body(10_000).trim_edges((5, 2043))
ax = refined.plot(ylo=0, yhi=1.5);
ax.axhline(1.0, color='k', linestyle='dashed');
../_images/tutorials_Deblazing_HPF_spectra_10_0.png

Looks good!