To familiarize myself with the steps necessary to create quality spectral profiles, I’ve been using Christian Buil’s program specINTI V 2.5.0 and the associated specINTI Editor V1.3.7 by Valérie Desnoux. Instructions for using the software is available in English. In addition, a translation of his Toolbox V2.0 was completed in December 2023.

My DADOS Slit-Spectrograph is equipped with a 200 Lines/mm blaze reflection grating, which is suitable for low-resolution spectrography. I wanted to concentrate on low-resolution so I could see the entire visible spectrum and get a sense as to stars are classified by spectral type. My spectra span about 4200 Angstroms, from the near ultraviolet (3800 Angstroms) to the near infrared (8000 Angstroms).

I decided to focus on fairly bright stars (magnitude 8 and brighter) initially, stars that were representative of the primary spectral types O B A F G K M which go from hottest to coolest. I remember the order of types with the sentence, “Only Bad Astronomers Forget Good Key Mnemonics.”

Here I illustrate the steps of obtaining a spectral profile from observations of the star Alfirk, a magnitude 3.23 star of type B (specifically, B0.5III). Alfirk is also commonly known as bet Cep (beta in the constellation Cepheus) and as HD 205021 in the Henry Draper catalog, but it has over 50 different identifiers in SIMBAD.

I chose Alfirk for several reasons: it’s bright and only requires short exposures; it is a circumpolar star that ranges between elevation 30° and 70° above the horizon; and most importantly, there is a reference profile in the Miles database, m_HD205021 which is available in specINTI. My goal was to see how close I could get to this reference using my own data.

Our raw spectra

I captured spectra of Alfirk in the early evening of Dec 23, 2023, taking 13 exposures of 2.5s each. The width of the slit was 25µ. The spectrum below is one such image, cropped to 3000 x 300 pixels. No other processing has been applied.

The first thing I do after capturing an image is to drag it into MaxIm DL and turn on the Graph feature to determine whether any pixels have been saturated (which would be indicated by a telltale flat top at around 65000 ADU). This is what I saw when I placed the Graph line through the middle to the spectral trace. No pixels are saturated:

Below is the reference profile for Alfirk, cropped to the same range of wavelength that I cropped my own observations: 3800-7400 Angstroms:

Our aspiration

This represents the spectral profile of Alfirk as it would appear outside the Earth’s atmosphere, say from the moon through a perfect telescope connected to a perfect spectrograph equipped with a perfect camera. The optics of a “perfect” telescope would not introduce any chromatic aberration, affecting different colors differently. The “perfect” spectrograph and camera system would be equally sensitive to all wavelengths. Essentially, this reference profile shows the “true” spectrum of Alfirk, without any distortion due to the atmosphere or the recording instrumentation.

So how can our measurements, obtained using imperfect equipment looking through a distorting atmosphere be corrected so as to produce a result more closely matching the ideal profile?

Raw profile

The specINTI configuration file CONF_EXTRACT_RAW uses calibration mode minus five (-5) to produce a raw profile from a set of spectra. Here is the result using my 13 spectra of Alfirk , after bias and dark frame reduction, but BEFORE applying a flat frame.

My main camera, a ZWO ASI533 has a frame size of 3008×3008 pixels, but I crop images to a height of 300 pixels, centered vertically on the slit, and a width of 3000 pixels which results in a more compact Graph result in MaxIm DL (using a width of 3008 pixels results in a horizontal axis that extends unnecessarily up to 4000 in the Graph) .

The next step is to obtain a master flat frame by illuminating the spectrograph with a hot halogen lamp. This is best done on the workbench, with the spectrograph disconnected from the telescope. See this description of the process.

master flat (combining 150 individual flat frames)

Application of flat frame

When we modify the configuration file, CONF_EXTRACT_RAW (see page 12 of specINTI_toolbox2_en.pdf) to include calibration frames (dark, offset and this master flat frame), we see a much different curve of intensity vs pixel position:

In the specINTI nomenclature, this profile is “level 0” because it has not been calibrated by wavelength.

Wavelength calibration

Next, we need to map pixel positions to wavelengths in Angstroms. While this can be done in several different ways, I have concentrated on just two: (1) using the emission lines from a mercury gas discharge tube (my Calibrator), and (2) using the absorption lines in a bright type O star, 10 Lacertae.

Steps to calibrate using emission lines of gas discharge tube

Steps to calibrate using absorption lines of a bright star

In summary, when we use spectra from the mercury discharge tube on the workbench, we get a dispersion polynomial of,

calib_coef: [-9.587175207753454e-10, 3.3610810724452596e-05, 1.4118365283007375, 3772.6974368777524]

When we use spectra from the star 10 Lacertae observed through the telescope, we get,

calib_coef: [-1.120594104431658e-09, 3.631287942199457e-05, 1.4071364519892544, 3772.5743186764466]

Comparing the two sets of coefficients in a table, we have,

using emission lines
c0 = 3772.6974368777524
c1 = 1.4118365283007375
c2 = 3.3610810724452596e-05
c3 = -9.587175207753454e-10

using absorption lines
c0 = 3772.5743186764466
c1 = 1.4071364519892544
c2 = 3.631287942199457e-05
c3 = -1.120594104431658e-09

The close agreement between these two different methods, especially coefficients c0 and c1, gives us some confidence that the dispersion relation for this particular setup is good.

Now we can return to our raw spectrum of Alfirk and produce a wavelength calibrated profile. We use a configuration file for “mode 2” which is useful when using a low resolution spectrograph such as ours that covers a wide range of frequencies. In mode 2 we obtain dispersion coefficients using an emission line lamp (as we have already done with the Calibrator on the workbench). Then, when making observations, we obtain additional calibration spectra to “correct” the first term c0 that varies due to flexure of the spectrograph in going from workbench to telescope. See section 12: Calibration modes for a detailed description of modes.

I have found that leaving the Calibrator on the telescope for all my observations. I can easily take calibration spectra after each set of spectra of the target without disturbing the spectrograph. I just move the telescope a small amount (about 5 arcminutes) out of the way of the slit and calibration spectra by turning on the Calibrator briefly. The emission line lamp is plenty bright, so I can take spectra in only 5 seconds.

In my configuration file conf_DADOS_level1_mode2, I include the dispersion coefficients found with the Calibrator on the workbench plus pixel positions of two bright Hg lines:

# ----------------------------------------------------------------
# Coefficients of the calibration polynomial
# ----------------------------------------------------------------

# from HgAr spectra on the workbench
calib_coef: [-9.587175207753454e-10, 3.3610810724452596e-05, 1.4118365283007375, 3772.6974368777524]

# ----------------------------------------------------------------
# Wavelengths of measured points
# ----------------------------------------------------------------
# 2 lines
wavelength: [4358.334, 5460.747] 

# ----------------------------------------------------------------
# Measured points' coordinates (approximations)
# ----------------------------------------------------------------
# 2 corresponding lines from  Hg_Arfik-1
line_pos: [412, 1165]

So far, I have NOT included anything in the configuration file to make any atmospheric corrections, or to take into account the Planck blackbody nature of my halogen lamp for taking flat frames.

Atmospheric corrections

To make atmospheric corrections, I added these lines to the configuration file:

# ---------------------------
# SIMBAD search
# ---------------------------
simbad: 1

# ----------------------------------------------------------------
# Atmospheric transmission correction
# ----------------------------------------------------------------
corr_atmo: 0.30

# ----------------------------------------------------------------
# Longitude of observation site
# ----------------------------------------------------------------
longitude: -122.6000

# ----------------------------------------------------------------
# Latitude of observation site
# ----------------------------------------------------------------
latitude: 48.0818

# ----------------------------------------------------------------
# Altitude of observation site (meters)
# ----------------------------------------------------------------
altitude: 100

The simbad: 1 line tells specINTI to go out to the SIMBAD website and find the RA and DEC coordinates of the target (Alfirk). Then, using that data, the UTC of the observation, and the geographic coordinates of the observation site, it finds the altitude of the star and uses the specified atmospheric correction corr_atmo to adjust the profile. The result is shown below:

Planck function for flat frames

The next step is to take into account the Planck function for the halogen lamp used to take flat frames. I used the following, based on the specifications for the lamp I was using:

# ----------------------------------------------------------------
# Temperature of lamp for flat frames
# ----------------------------------------------------------------
planck: 3100

Below is the result:

Having corrected for the estimated effects of the atmosphere, our profile still needs to be corrected for the optical effects of the telescope, the spectrograph (including lenses, slit and grating) and the camera. these combined effects can be bundled into a single function of wavelength called the instrumental response. the next step is to find the instrumental response of our apparatus.

Steps to find the instrumental response using a bright star having a reference profile

Application of instrumental response

Once we have found the instrumental response, we can use it in the configuration file CONF_LEVEL2_MODE1 (pp 30-31 of Toolbox2) to generate our final profile for the star Alfirk. Here is the result:

So how have we done? We plot our profile and the reference profile from the Miles database on the same axes below:

For greater clarity, we can reduce the displayed relative intensity of the reference by profile by an arbitrary 0.5 units (using the feature Operations | Operation with value.. | Subtraction in vSpec). This gives:

In principle, now that we have a master flat frame for our spectrograph, the coefficients for a 3rd order dispersion relation for calibrating by wavelength, and an instrumental response function, we should be able to apply this to observations of any star.