Guide : Prétraitement des Spectres
Un spectre brut issu d'un télescope n'est pas directement utilisable pour le Machine Learning. Ce guide explique comment le pipeline AstroSpectro nettoie et normalise chaque spectre pour le préparer à l'extraction de features.
Le Module SpectraPreprocessor
Toute la logique de prétraitement est encapsulée dans la classe SpectraPreprocessor
du fichier src/pipeline/preprocessor.py
. Le pipeline principal, orchestré par le notebook, fait appel aux méthodes de cette classe pour chaque spectre du lot.
Le processus se déroule en deux étapes principales.
Étape 1 : Chargement du Spectre
La première étape consiste à lire le fichier .fits.gz
et à en extraire les deux informations essentielles : le flux et la longueur d'onde.
- Extraction du Flux : Le flux (l'intensité lumineuse) est extrait de la première ligne de la matrice de données du fichier FITS.
- Reconstruction de la Longueur d'Onde : L'axe des longueurs d'onde n'est pas stocké directement. Il est reconstruit à partir des mots-clés
COEFF0
etCOEFF1
présents dans l'en-tête (header) FITS, qui définissent une échelle log-linéaire.
def load_spectrum(self, hdul):
flux = hdul[0].data[0]
# Reconstitution de l'axe lambda en Angströms
header = hdul[0].header
loglam = header['COEFF0'] + np.arange(len(flux)) * header['COEFF1']
wavelength = 10**loglam
return wavelength, flux
Étape 2 : Normalisation du Flux
Les étoiles ont des brillances intrinsèques très différentes. Pour les comparer sur une base équitable, il est essentiel de normaliser leurs spectres.
- Méthode : Le pipeline applique une normalisation simple mais robuste en divisant l'ensemble du flux par sa valeur médiane.
- Objectif : Cette opération ramène la majorité des spectres à une échelle de flux autour de 1.0, ce qui atténue les différences de magnitude absolue et met en valeur les variations relatives des raies spectrales par rapport au continuum.
def normalize_spectrum(self, flux):
median_flux = np.median(flux)
if median_flux > 0:
return flux / median_flux
return flux
Visualisation de l'Impact
L'image ci-dessous illustre l'effet de la normalisation. À gauche, deux spectres bruts d'étoiles de magnitudes différentes. À droite, les mêmes deux spectres après normalisation. On peut maintenant comparer directement la forme de leurs raies.

Le prétraitement actuel est volontairement simple. La Roadmap du projet prévoit des améliorations futures comme : Un ajustement plus fin du continuum. Des filtres de débruitage (denoising) comme Savitzky-Golay. La correction de l'extinction interstellaire.