=>De nouveaux coefficients ont été ajoutés au site du CESBIO . Les nouveaux satellites pris en compte sont :

  • Landsat 8, RapidEye
  • Quickbird, Worldview2, Ikonos
  • Pléiades1A (PHR1A)
  • DMC-DEIMOS1

 Le Simplifié Modèle d’Atmosphérique Correction (SMAC) est parfaitement adapté à l’implémentation rapide et approchée de corrections atmosphériques. Il s’agit de fonctions analytiques dérivées du modèle 5S. Les 49 coefficients de ce modèle sont ajustés à partir de simulations de transfert radiatif obtenues avec le modèle 6S (l’ancienne version, pas la récente version vectorielle). SMAC n’est pas un modèle très précis (beaucoup moins que MACCS), et il faut lui fournir des données auxiliaires pour l’épaisseur optique des aérosols ou pour les contenus atmosphériques en ozone et vapeur d’eau. Quand ces données sont précisément connues, la précision des simulations est en général meilleure que deux à trois pour cent, sauf parfois pour les grands angles (au dessus de 70°) ou dans de fortes bandes d’absorption et si on ne prend pas en compte les effets d’environnement et les effets de pente. SMAC a été conçu pour être facile à utiliser :

#lecture des 49 cofficientsnom_smac ='COEFS/coef_FORMOSAT2_B1_CONT.dat'coefs=coeff(nom_smac)#Lire la réflectance TOA de la bande à traiter#(celà va dépendre du format de l'image)#Lire les valeurs des angles dans les métadonnées (ici, on les fixe)theta_s=30phi_s=180theta_v=0phi_v=0# calculer la pression atmosphérique à l'altitude du pixelpressure=PdeZ(1300)#trouver les valeurs des variables atmsophériques (ici, on les fixe arbitrairement)AOT550=0.1UO3=0.3UH2O=3#calculer la correction atmosphériquer_surf=smac_inv(r_toa,theta_s,phi_s,theta_v,phi_v,pressure,AOT,UO3,UH2O,coefs)

Dans la dernière ligne ci-dessus :

  • theta_s, phi_s sont resp. l’angle solaire zenithal et azimuthal
  • theta_v, phi_v sont resp. l’angle de visée zenithal et azimutha
  • AOT est l’épaisseur optique à 550 nm qui peut provenir d’une station Aeronet, ou fixée au jugé, ou égale à 0.1 (si on se contente d’une correction très approchée).
  • UO3 est le contenu en ozone, en cm.atm (0.3 est souvent suffisamment précis)
  • UH2O est le contenu en vapeur d’eau, en kg/m². J’utilise souvent une valeur égale à 3, quand je ne cherche pas une grande précision, dans des bandes ou l’absorption est faible
References

[1] Rahman, H., & Dedieu, G. (1994). SMAC: a simplified method for the atmospheric correction of satellite measurements in the solar spectrum. REMOTE SENSING, 15(1), 123-143.« [2] »Tanré, D., Deroo, C., Duhaut, P., Herman, M., Morcrette, J. J., Perbos, J., & Deschamps, P. Y. (1990). Technical note Description of a computer code to simulate the satellite signal in the solar spectrum: the 5S code. International Journal of Remote Sensing, 11(4), 659-668.« [3] »Vermote, E. F., Tanré, D., Deuze, J. L., Herman, M., & Morcette, J. J. (1997). Second simulation of the satellite signal in the solar spectrum, 6S: An overview. Geoscience and Remote Sensing, IEEE Transactions on, 35(3), 675-686.>« [4] »Kotchenova, S. Y., Vermote, E. F., Matarrese, R., & Klemm Jr, F. J. (2006). Validation of a vector version of the 6S radiative transfer code for atmospheric correction of satellite data. Part I: Path radiance. Applied Optics, 45(26), 6762-6774.« [5] »Kotchenova, S. Y., & Vermote, E. F. (2007). Validation of a vector version of the 6S radiative transfer code for atmospheric correction of satellite data. Part II. Homogeneous Lambertian and anisotropic surfaces. Applied Optics, 46(20), 4455-4464. 

5 thoughts on “SMAC prend en charge de nouveaux satellites

  1. Bonjour Doit-on multiplier la correction à chaque valeur de pixel de chaque bande de l’image à corriger ?

    1. Bonjour, \nvotre question est peu précise, j’espère que je réponds bien.\nIl ne faut pas multiplier, il faut utiliser la fonction smac_inv, comme dans le code ci-dessus. Il faut le faire pour toutes les bandes et tous les pixels, mais en python, avec numpy, on peut passer l’image entière en argument sans faire de boucle sur les pixels. La boucle sur les bandes est obligatoire.

  2. Bonjour , Merci beaucoup pour votre réponse Je voulais savoir : que faut t-il faire après avoir calculer la réflectance pour chaque Band ?J’utilise IDL , j’ai rapidement réécrit le code C. J’ai donc la fonction SMAC , et j’obtient une valeur de réflectance par Band( puisque j’ai une même pression appliqué à l’ensemble des pixel )A partir de la valeur de réflectance obtenue par band faut-il , pour corriger l’image , l’ajouter ou la multiplier à chaque valeur de pixel de l’image original ( pour un bande donnée ) ? Cldt

    1. Merci, c’est plus clair ainsi.\nInutile de multiplier ou additionner. Il suffit de remplacer la valeur. La fonction SMAC vous fournit la réflectance corrigée des effets de l’atmosphère.\nOlivier

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.