MACCS (Multi-sensor Atmospheric Correction and Cloud Screening) is a level 2A processor, which detects the clouds and their shadows, and estimates aerosol optical thickness (AOT), water vapour and corrects for the atmospheric effects. The processor was jointly developed by CESBIO and CNES. CESBIO developed the methods and a prototype, while CNES funded the operational version of the processor, with a strong support from CESBIO for the validation. More recently CNES+CESBIO and DLR joined their efforts to develop a joint processor named MAJA, for MACCS-ATCOR Joint Algorithm. MAJA is an evolution of MACCS, in which a couple of methods inspired by ATCOR software have been added. MAJA V1_0 could have been called MACCS V6.0, but we wanted to celebrate the association of both entities with a new name.
MAJA’s distinctive feature is its dedication to high resolution time series and its wide use of multi-temporal methods. For this reason, MAJA can only be applied to the optical missions which observe the earth under constant viewing angles. It is the case for Sentinel-2, VENµS, LANDSAT and Trishna satellites.
How to access MAJA code and products ?
There are several ways to acces to MAJA itself or to its products:
MAJA is freely available in binary versionfor a few linux distributions. Our new maja website is providing the latest documentation. Since version 4.2, MAJA is an open source software, released under the permissive Apache licence 2.0
MAJA runs at CNES within the Muscate ground segment of Theia (data are available here). It is used there to process Sentinel-2, LANDSAT and VENµS data over seleted zones.
MAJA also runs within PEPS, as an on-demand processor. Just select the granules you need, and submit the processing. This can be done either through the peps web interface, or through a command line interface. However, the infrastructure is limited to 10 processings in parallel. Processing whole continentts could take years…
CAP Gemini is offering an on demand production service based on MUSCATE. Information on this service is available from the following document
The following ATBD document provides a detailed description of the methods used in MAJA. But if you lack time, here is a much shorter description. MAJA is briefly described in the joined figure. The text below provides some information for the main boxes.
Atmajaspheric absorption
In the case of Sentinel-2 and Venµs, which include a water vapour channel at 940 nm (resp. 910nm) in a strong water vapour absorption band, a first step consists in estimating the atmospheric water vapour content. For the other satellites, weather analysis data can be used. After that, the processor can correct for the gaseous absorption using the SMAC model.
Composite imajage
The next steps deeply involve multi-temporal methods. Of course, to do that, a time series must be processed in chronological order. After each processing, a composite image is updated with with the unclouded pixels from the processed date. This composite image is used as a reference for the cloud detection and the AOT estimate.
The cloud majasks
Our cloud detection method is based on a large number of tests, the most efficient of which are :
a test based on the cirrus band (at 1380 nm), available on Landsat 8 and Sentinel-2, which detects very well the high clouds (above 2000m)
a multi-temporal test, which detects a steep increase of the blue surface reflectance, which is the sign of presence of a cloud.
and finally, to avoid over detections of clouds, for each potential detected by one of the previous tests, a last test measures the correlation of the pixel neighbourhood with the previous images. As it is unlikely that two different clouds at the same location on successive dates have the same shape, if a large correlation is observed, the pixel is finally not declared as a cloud.
Having detected the clouds, we can proceed with the detection of cloud shadows, water, and snow.
Aerosol optical thickness estimajate
The aerosol optical thickness (AOT) estimate combines several criteria in the computation of a global cost function, which is then inverted using non linear least mean squares inversion.
A multi-temporal criterion : after atmospheric correction, two successive observations of the same neighbourhood should provide nearly the same surface reflectances. The squared residuals after atmospheric correction are inserted in the cost function.
A multi-spectral criterion : above vegetation, and also above many bare soils, the surface reflectance in the blue is close to half the reflectance in the red. The squared residuals to this relation after atmospheric correction are also added to the cost function.
Optical Thickness minimum and maximum : AOT cannot be negative, and should not get higher that the one measured using the dark pixel method. When the AOT values are above maximum or under minimum, a high cost is added to the cost function.
The cost function evaluation is evaluated using neighbourhoods of coarse resolution pixels (240m), spreading over 2 kilometres. The obtained AOT images are then smoothed, the gaps are filled to obtain finally an AOT map with a 5 km resolution. The aerosol type is not estimated, it is a processing parameter which can be fixed per geographic region.
Atmajospheric correction
One of he quicklooks we produce with each image for visual verification, here for Chiapas site in Mexico, with the TOA reflectance, top left, the AOT and cloud mask, bottom left, surface reflectance after adjacency effect correction, top right, and the same with slope correction, bottom right.
Once the AOT is known, we can retrieve the surface reflectances. To do that, we are using look-up tables (LUT) which are computed using the SOS radiative transfer code (Successive Orders of Scattering, Lenoble, 2007). These LUT are also used in the AOT estimation. The surface reflectance of the cloud free pixels obtained there are used to update the composite image, which will be used for the processing of the next image in the time series. Before editing the output product, we still need to correct for two other points, already described in this blog : the adjacency effects and the effects of terrain slopes on the illumination.
Contributions
MAJA development started in 2005, and the contributor list is starting to be quite long :
at CESBIO : H.Tromp, V. Debaecker, M. Huc, P.Gely, Bastien Rouquié, Jérôme Colin, O.Hagolle,
at CNES : B. Petrucci, D.Villa-Pascual, Camille Desjardins, Pierre Lassalle, Peter Kettig, Sophie Coustance
at DLR : A. Makarau, R.Richter, P. d’Angelo
at CS-SI : T.Feuvrier, C.Ruffel, A.Bricier, B. Esquis, J.Brossard
at CAP Gemini : M.Farges, G. Rochais, E.Durand
at Magellium : E. Hillairet
at Thales-IS : J.Staufer
References
For more details, we have published 4 papers about MAJA’s methods and validation :
A multi-temporal method for cloud detection, applied to FORMOSAT-2, VENµS, LANDSAT and SENTINEL-2 images, O Hagolle, M Huc, D. Villa Pascual, G Dedieu, Remote Sensing of Environment 114 (8), 2008, 1747-1755
Correction of aerosol effects on multi-temporal images acquired with constant viewing angles: Application to Formosat-2 images, O Hagolle, G Dedieu, B Mougenot, V Debaecker, B Duchemin, A Meygret, Remote Sensing of Environment, 2010, 112 (4), 1689-1701
Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web. Si vous continuez à utiliser ce site, nous supposerons que vous en êtes satisfait.OK
MACCS/MAJA, how it works
Olivier Hagolle, 17 novembre 2015
You will find the latest documentation and useful links on the new MAJA website.
MACCS (Multi-sensor Atmospheric Correction and Cloud Screening) is a level 2A processor, which detects the clouds and their shadows, and estimates aerosol optical thickness (AOT), water vapour and corrects for the atmospheric effects. The processor was jointly developed by CESBIO and CNES. CESBIO developed the methods and a prototype, while CNES funded the operational version of the processor, with a strong support from CESBIO for the validation. More recently CNES+CESBIO and DLR joined their efforts to develop a joint processor named MAJA, for MACCS-ATCOR Joint Algorithm. MAJA is an evolution of MACCS, in which a couple of methods inspired by ATCOR software have been added. MAJA V1_0 could have been called MACCS V6.0, but we wanted to celebrate the association of both entities with a new name.
MAJA’s distinctive feature is its dedication to high resolution time series and its wide use of multi-temporal methods. For this reason, MAJA can only be applied to the optical missions which observe the earth under constant viewing angles. It is the case for Sentinel-2, VENµS, LANDSAT and Trishna satellites.
How to access MAJA code and products ?
There are several ways to acces to MAJA itself or to its products:
A short description of MAJA
The following ATBD document provides a detailed description of the methods used in MAJA. But if you lack time, here is a much shorter description. MAJA is briefly described in the joined figure. The text below provides some information for the main boxes.
Atmajaspheric absorption
In the case of Sentinel-2 and Venµs, which include a water vapour channel at 940 nm (resp. 910nm) in a strong water vapour absorption band, a first step consists in estimating the atmospheric water vapour content. For the other satellites, weather analysis data can be used. After that, the processor can correct for the gaseous absorption using the SMAC model.
Composite imajage
The next steps deeply involve multi-temporal methods. Of course, to do that, a time series must be processed in chronological order. After each processing, a composite image is updated with with the unclouded pixels from the processed date. This composite image is used as a reference for the cloud detection and the AOT estimate.
The cloud majasks
Our cloud detection method is based on a large number of tests, the most efficient of which are :
Having detected the clouds, we can proceed with the detection of cloud shadows, water, and snow.
Aerosol optical thickness estimajate
The aerosol optical thickness (AOT) estimate combines several criteria in the computation of a global cost function, which is then inverted using non linear least mean squares inversion.
The cost function evaluation is evaluated using neighbourhoods of coarse resolution pixels (240m), spreading over 2 kilometres. The obtained AOT images are then smoothed, the gaps are filled to obtain finally an AOT map with a 5 km resolution. The aerosol type is not estimated, it is a processing parameter which can be fixed per geographic region.
Atmajospheric correction
Once the AOT is known, we can retrieve the surface reflectances. To do that, we are using look-up tables (LUT) which are computed using the SOS radiative transfer code (Successive Orders of Scattering, Lenoble, 2007). These LUT are also used in the AOT estimation. The surface reflectance of the cloud free pixels obtained there are used to update the composite image, which will be used for the processing of the next image in the time series. Before editing the output product, we still need to correct for two other points, already described in this blog : the adjacency effects and the effects of terrain slopes on the illumination.
Contributions
MAJA development started in 2005, and the contributor list is starting to be quite long :
References
For more details, we have published 4 papers about MAJA’s methods and validation :
On retournera écouter de la musique au Bataclan
Sentinel-2 is observing again