You are here



The MAJA processor (MACCS ATCOR Joint Algorithm, say "maya") is a processor for cloud detection and atmospheric correction, specifically designed to process time series of optical images at high resolution, acquired under quasi constant viewing angles. It allows for instance to process time series of LANDSAT or Sentinel-2 images. Since 2016, it is progressively including methods taken from from DLR’s ATCOR processor. It is now the object of a collaboration between CNES, DLR and CESBIO, and benefitted from ESA funding.

 Its main feature is to use the multi-temporal information contained in time series to detect the clouds and their shadows, and to estimate the aerosol optical thickness and correct the atmospheric effects (taking into account the adjacency effect and the illumination variations due to topography).

For more detais on the methods behind MAJA :


How to run MAJA

To process time series, we have developped a basic python scheduler able to launch MAJA. It is available here :

The readme files also explains how to set the parameters and prepare the inpud data. We strongly advise to use it.


Data Format ?

Maja 3.2.2 is available under two versions for Sentinel-2 platform.

  • the TM (to MUSCATE) version delivers L2A products with Theia MUSCATE format (described gere) from L1C products available at ESA or on PEPS.
  • noTM :delivers L2A  using a "native format" (described here), still from L1C products from ESA or PEPS. This version is for users of MAJA 1.0, to maintain the same output format.  However, this version will not be mantained for long, and we advise users who can to use the TM versions.



The delivered version of MAJA can ingest L1 products int the following formats (delivered in the package):

  • Sentinel-2 : (PSD) S2-PDGS-TAS-DI-PSD  v.12 AND v.14.2
  • Landsat8: Landsat8_Level1_Data_Format_Control_Book_LSDS-809
  • Landsat 5-7: CNES internal format described in PSC-IF-411-0081-CNES_E1R4
  • Venus: Description du format


However, it might be had to use  with Landsat data as a prior resampling of Landsat products will be necessary.


Programming Language :

C++, Python; Cmake


Supported Operating Systems : 

Linux RedHat 6+, CENTOS 6+ Ubuntu 12.04+


Installation :

The libraries necessary for MAJA have been pre-compiled in the package. To Install MAJA? you only need to unzip the archive, and start the following command line :

>>> bash --target /path/to/install

This should yield the following answer :

          Verifying archive integrity...  100%   All good.
Uncompressing MAJA 3.2.2  100% 
You can now run /home/hagolle/PROG/MAJA_Distrib/Maja-3.2.2-TM/bin/maja
List of spectral camera enabled:
More documentation can be found in /home/hagolle/PROG/MAJA_Distrib/Maja-3.2.2-TM/README
Sentinel-2 is not mention in the list, but is available (it's a bug)

 Contact :


Download :

Click on MAJA menu on the left, or use