MAJA 4.2 is available and open source

=>

MAJA is the high quality cloud detection and atmospheric correction code developped by CNES and CESBIO, with contributions from DLR, and coded by CS GROUP. It is used within Pôle Theia, Sen2Agri, Sen4cap, DLR, EEA Snow&Ice, KERMAP… to process #Sentinel2 time series.

It’s been a long time since we wanted to make MAJA available as an open source code, and we finally made it ! After years of internal discussions within CNES, the decision had been taken this winter to release MAJA as open source with version 4.2. But it took us 6 months from the decision to the release, half for the final validation of the results and correction of the last bugs, and half to perform an audit of the code. The audit was necessary to check that our developpment did not include code protected by other licences.

As a result, you may look, download and modify MAJA’s code from here.

https://github.com/CNES/MAJA

You will see the size of MAJA project: MAJA is certainly not a simple code, it uses very advanced features of C++. But anyway, as an amateur pythonist, I still have been able to make slight changes within MAJA, in a period I had some spare time. As a result, real computer professionals should still manage to contribute.

Of course, we still distribute compiled versions of MAJA for linux systems (Ubuntu, Redhat), and MAJA 4.2 has been added to the list of available versions. The executable code can be downloaded from here :

https://logiciels.cnes.fr/en/content/maja

 

MAJA ‘s development had been started more than twelve years ago, and the Orfeo Tool Box, on which MAJA relies, has considerably evolved since then. As a result, we felt it was necessary to update MAJA to better use the framework of OTB Applications, and to replace the main C++ program which was hard to maintain, by a new orchestrator written in Python. The version 4 so far is mainly a transformation of the code with little improvement regarding the content of the algorithmic methods, but there is one which is important, so please read until the end of the list below.

Here is a list of what’s new with MAJA V4.2, compared to MAJA V3 series  :

  • It is the first open source release of Maja !
  • The orchestration has been rewritten in python, facilitating the use of Maja while keeping the legacy interfaces in place.Swapping to MAJA 4.2 should be very easy.
  • Regarding the interfaces, only the processing parameters have been slightly changed in MAJA 4.2. MAJA nominal output formats are the same as those of MUSCATE, the Theia processing center. The formats that we callled « native » might be abandonned in the future versions
  • A new download script for CAMS data (Copernicus Atmosphere Monitoring service) has been included
  • The new and old CAMS formats are supported, the limitation after July 2019 is not active anymore. We will finally be able to  swith MAJA production using CAMS in theia production center. CAMS data are used to specify the aerosol type before estimating the aerosol optical thickness.
  • Our launcher to process time series, Start_maja, is now natively included within Maja. It was completely rewritten by Peter Kettig himself, and it is good to see the difference of a professional code compared to my version 🙂 . Start Maja includes a lot of new features that make the use of MAJA much much easier.
    • There is an automatic DTM creation tool within Start_maja. You just need specify the tile to process and Start-MAJA fetches the data and generates the DTM files, if they do not exist yet.
    • The nominal processing parameters, and the LUTS (GIPP) are also downlaoded automatically
  • We also implemented a Snow mask for VENµS (which does not have a SWIR band)
  • One evolution has a large impact on the quality of the products generated by MAJA V4.2. It is the possibility to increase the resolution of cloud masks. This is possible thanks to an improvement of the speed of the module to find cloud shadows. MAJA V4.2 is able to process cloud masks and aerosol detection at 120 m resolution, with an increment of duration of about 10% compared to cloud masks at 240 m resolution in MAJA V3.x.

 

 

Cloud mask generated at 240m resolution, example in French GuyanaCloud mask generated at 120 m resolution. More small clouds and more shadows are detected.

 

A big « thank you » to Manuel Grizonnet and Pierre Lassalle, who started the refactoring, and Peter Kettig who handled most of the project and rewrote and improved start-maja. The coding was made by the CS-SI company, mainly Benjamin Esquis et Julie Brossard. The participation of Jerome Colin from CESBIO was essential for the validation, and I just insisted a lot, so that we solve the bug that prevented us from working at 120m resolution … Many thanks also to those at CNES who helped us making MAJA’s source available to everyone: it required a cultural change, and the pioneering work of the Orfeo ToolBox (OTB) team within CNES was essential.

 

Plus d'actualités

BIOMASS, the third launched satellite mission designed at CESBIO !

After SMOS in 2009, and VENµS in 2017, the CESBIO Laboratory is very proud to see its third proposed mission, Biomass, reach orbit. As always, it has been a long journey from the idea, at the beginning of the century, to the selection in 2013 as the seventh Earth Explorer Mission by ESA, to the […]

Sentinel-2 reveals the surface deformation after the 2025 Myanmar earthquake

Sentinel-2 captured several clear-sky images of Myanmar before and after the 28 March 2025 earthquake. The animation below shows a 5-day apart sequence of images captured by Sentinel-2B and Sentinel-2C (10 m resolution) near the epicenter located close to Mandalay. The surface slip due to the earthquake follows the Sagaing Fault, a major fault in […]

Evolution de l’altitude de la ligne de neige au cours des 41 dernières années dans le bassin versant du Vénéon (Oisans)

Pour contribuer à caractériser les conditions hydrométéorologiques lors de la crue torrentielle qui a frappé la Bérarde en juin, j’ai analysé une nouvelle série de cartes d’enneigement qui couvre la période 1984-2024 [1]. Grâce à la profondeur temporelle de cette série, on constate que l’altitude de la ligne de neige dans le bassin versant du […]

Rechercher