Commit 5bf63bc7 authored by Julie Brossard's avatar Julie Brossard

Merge branch 'release_v4.2.2'

parents 09b79fd0 27ffcec3
Pipeline #6996 failed with stages
in 25 seconds
......@@ -34,12 +34,12 @@
############################################################################################################
# The MAJA core version
set(MAJA_CORE_VERSION "4.2.1")
set(MAJA_CORE_VERSION "4.2.2")
# The MAJA algorithms version (3 digits)
set(MAJA_ALGORITHMS_VERSION "4.2.1")
set(MAJA_ALGORITHMS_VERSION "4.2.2")
set(MAJA_VERSION "4.2.1")
set(MAJA_VERSION "4.2.2")
set(MAJA_VERSION_CHAIN "4.2")
# List of the spectral camera available
......
......@@ -88,7 +88,7 @@ file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/Art DESTINATION ${RST_BINARY_DIR})
set(SPHINX_CONF_DIR ${CMAKE_CURRENT_BINARY_DIR})
set(MAJA_COPYRIGHT_TEXT "2019-2020 CNES. The documentation of the MAJA software is lincensed under the Creative Commons Attribution 4.0 international license (CC BY 4.0)"
set(MAJA_COPYRIGHT_TEXT "2019-2020 CNES. The documentation of the MAJA software is lincensed under the Creative Commons Attribution 4.0 international license (CC BY 4.0)")
configure_file(${RST_SOURCE_DIR}/conf.py.in ${SPHINX_CONF_DIR}/conf.py @ONLY)
message(${SPHINX_CONF_DIR}/conf.py)
......
......@@ -14,7 +14,7 @@ Chaque module algorithmique suivant fait l’objet d’un ou plusieurs tests per
Stratégie et méthode des tests numériques
------------------------------------------
Les données Formosat sont principalement utilisées pour la validation numérique (à l’exception du test de détection des cirrus qui nécessite le plan d’altitude stéréoscopique des nuages présent dans les produits Venμs). Suite au développment de la chaîne MAJA, des tests supplémentaires avec des produits Landsat et Sentinel2 ont été ajoutés pour prendre en compte les dernières évolutions de la chaîne comme la création de nouveaux algorithmes (détection de la neige, des cirrus, estimation des aérosols, etc.) ou la gestion de produits à multiples résolutions. L’essentiel de la validation numérique est menée en comparant chaque image du produit de niveau 2 générée par les chaînes scientifiques Venμs à celle produite précedement par le prototype développé au CESBIO. L’outil de comparaison de l’OTB effectue une différence des images pixel à pixel. Pour chaque bande, il génère l’image des différences et calcule la somme des différences. Le test est validé si ces valeurs sont nulles à un epsilon près, qui est un paramètre d’entrée du test. L’outil calcule également le nombre de pixels sur lesquels sont mesurés ces différences. Compte tenu de la complexité des algorithmes, la valeur nulle semble difficile à atteindre. La valeur du epsilon sera fixée en concer- tation avec le CNES et en tenant compte des résultats obtenus pour les tests unitaires. Il convient également de déterminer si la différence mesurée est acceptable par rapport à la donnée testée (ordre de grandeur des écarts par rapport aux valeurs issues du prototype) Comme pour les tests unitaires, une analyse importante est l’analyse visuelle des images et des images de différence. Elle permet de détecter une structuration non aléatoire des différences sur l’image mais aussi de localiser les différences (proche d’un nuage, d’une zone d’eau, etc.). A cette analyse des images de différence, s’ajoutent d’autres moyens d’analyse. Une stratégie de validation différente est adoptée en fonction du types de données à comparer. Plusieurs types de données sont comparés : les images contenant des grandeurs physiques, les images de dates et les masques. La validation des produits composites passe dans un premier temps par la comparaison des plans « date » pour visualiser les zones qui diffèrent. Les différences mesurées lors de la comparaison des images de date vont se retrouver sur les images composite de réflectance. La validation des masques présents dans le produits L2 se traduit par une analyse statistique des différences entre le masque généré et le masque de référence si besoin est. En effet, la probabilité d’avoir des masques parfaitement identiques entre les masques issus des chaînes Venμs et les masques de référence est faible. Pour comparer ces masques, la simple différence réalisée pixel à pixel peut être complétée par la mise en place d’indicateurs statistiques. Ces derniers permettent de quantifier la performance des détections. Les performances du masque obtenu sont alors exprimées par une matrice de confusion par rapport au masque de référence. A ces indicateurs s’ajoutent le calcul des proportions de bonnes et de fausses détections c’est-à-dire le nombre de pixels correctement identifiés par rapport au nombre de pixels de l’image. Une fois l’algorithme validé, les résultats du test sont référencés et dès lors, systématiquement contrôlés à chaque nouvelle exécution du test. Cette démarche assure la non-régression des algo- rithmes développés tout au long de la phase de codage. Les résultats des tests joués sont systématiquement envoyés au serveur CDash pour être mis en forme et offrir au développeur un environnement de contrôle ergonomique et le suivi de l’évolution des résultats au cours du temps.
Les données Formosat sont principalement utilisées pour la validation numérique (à l’exception du test de détection des cirrus qui nécessite le plan d’altitude stéréoscopique des nuages présent dans les produits Venus). Suite au développment de la chaîne MAJA, des tests supplémentaires avec des produits Landsat et Sentinel2 ont été ajoutés pour prendre en compte les dernières évolutions de la chaîne comme la création de nouveaux algorithmes (détection de la neige, des cirrus, estimation des aérosols, etc.) ou la gestion de produits à multiples résolutions. L’essentiel de la validation numérique est menée en comparant chaque image du produit de niveau 2 générée par les chaînes scientifiques Venus à celle produite précedement par le prototype développé au CESBIO. L’outil de comparaison de l’OTB effectue une différence des images pixel à pixel. Pour chaque bande, il génère l’image des différences et calcule la somme des différences. Le test est validé si ces valeurs sont nulles à un epsilon près, qui est un paramètre d’entrée du test. L’outil calcule également le nombre de pixels sur lesquels sont mesurés ces différences. Compte tenu de la complexité des algorithmes, la valeur nulle semble difficile à atteindre. La valeur du epsilon sera fixée en concer- tation avec le CNES et en tenant compte des résultats obtenus pour les tests unitaires. Il convient également de déterminer si la différence mesurée est acceptable par rapport à la donnée testée (ordre de grandeur des écarts par rapport aux valeurs issues du prototype) Comme pour les tests unitaires, une analyse importante est l’analyse visuelle des images et des images de différence. Elle permet de détecter une structuration non aléatoire des différences sur l’image mais aussi de localiser les différences (proche d’un nuage, d’une zone d’eau, etc.). A cette analyse des images de différence, s’ajoutent d’autres moyens d’analyse. Une stratégie de validation différente est adoptée en fonction du types de données à comparer. Plusieurs types de données sont comparés : les images contenant des grandeurs physiques, les images de dates et les masques. La validation des produits composites passe dans un premier temps par la comparaison des plans « date » pour visualiser les zones qui diffèrent. Les différences mesurées lors de la comparaison des images de date vont se retrouver sur les images composite de réflectance. La validation des masques présents dans le produits L2 se traduit par une analyse statistique des différences entre le masque généré et le masque de référence si besoin est. En effet, la probabilité d’avoir des masques parfaitement identiques entre les masques issus des chaînes Venus et les masques de référence est faible. Pour comparer ces masques, la simple différence réalisée pixel à pixel peut être complétée par la mise en place d’indicateurs statistiques. Ces derniers permettent de quantifier la performance des détections. Les performances du masque obtenu sont alors exprimées par une matrice de confusion par rapport au masque de référence. A ces indicateurs s’ajoutent le calcul des proportions de bonnes et de fausses détections c’est-à-dire le nombre de pixels correctement identifiés par rapport au nombre de pixels de l’image. Une fois l’algorithme validé, les résultats du test sont référencés et dès lors, systématiquement contrôlés à chaque nouvelle exécution du test. Cette démarche assure la non-régression des algo- rithmes développés tout au long de la phase de codage. Les résultats des tests joués sont systématiquement envoyés au serveur CDash pour être mis en forme et offrir au développeur un environnement de contrôle ergonomique et le suivi de l’évolution des résultats au cours du temps.
Formalisation des tests de validation algorithmique
......
......@@ -89,7 +89,7 @@ file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/Art DESTINATION ${RST_BINARY_DIR})
set(SPHINX_CONF_DIR ${CMAKE_CURRENT_BINARY_DIR})
set(MAJA_COPYRIGHT_TEXT "2019-2020 CNES. The documentation of the MAJA software is lincensed under the Creative Commons Attribution 4.0 international license (CC BY 4.0)"
set(MAJA_COPYRIGHT_TEXT "2019-2020 CNES. The documentation of the MAJA software is lincensed under the Creative Commons Attribution 4.0 international license (CC BY 4.0)")
configure_file(${RST_SOURCE_DIR}/conf.py.in ${SPHINX_CONF_DIR}/conf.py @ONLY)
message(${SPHINX_CONF_DIR}/conf.py)
......
......@@ -31,12 +31,12 @@ Rappel de la fonction : MAJA constitue la chaîne de niveaux 2 multi-missi
IDENTIFICATION DE LA VERSION
----------------------------
Date version : 29/09/2020
Numero version : 4.2.1
Date version : 04/11/2020
Numero version : 4.2.2
Numero version Superbuild-Archive : 4.2.0
Numero version reference : 4.2.0
Etat version : Teste, opérationnel.
Justification : Livraison MAJA V4.2.1
Justification : Livraison MAJA V4.2.2
Type de livraison : Complete
......@@ -185,10 +185,8 @@ Liste des FA corrigees
FA tracees dans le code source
------------------------------
161 :: Landsat8 debug message format error | #CS
163 :: Venus CAMS not subscriptable (1) | #CS
165 :: Not all CAMS models present | #CS
170 :: Wrong folder.txt.in | #CS
185 :: Maja 4.2.1 No quicklook written for non-valid L2 | #CS
182 :: --version is no longer available | #CS
FA non tracees dans le code source
......@@ -197,9 +195,7 @@ Liste des FA corrigees
FA incluant une nouvelle bibliotheque
--------------------------------------
166 :: Maja 4.2 Performance difference RH6 <-> RH7 | #CS
Néant
FA sur documentation
--------------------
......@@ -215,7 +211,6 @@ Liste des FA non reproductbiles ou annulees
FA annulees
-----------
164 :: Venus CAMS not subscriptable (2) | #CS
Liste des DM prises en compte
......
......@@ -251,7 +251,7 @@ class AppHandler:
'L2BACKWARD'
],
default='L2INIT',
required=True)
required=False)
parser.add_argument(
"-t",
"--enableTest",
......@@ -277,11 +277,12 @@ class AppHandler:
"-o",
"--output",
help="Output data directory (product directory). Default value: '.'",
required=True)
required=False)
parser.add_argument(
"-w",
"--workingdir",
help="Working directory (working 'temporary' directory). Default value: the '--output parameter value'")
help="Working directory (working 'temporary' directory). Default value: the '--output parameter value'",
required=False)
plugin_choices = "Available plugins : "
creators = FactoryBase.get_registered("PluginBase")
......
......@@ -487,7 +487,7 @@ class L2Processor(BaseProcessor):
l_IsCirrusCorrected = False
l_DFPMaskAvailable = l_CurrentPluginBase.DFPMasking
l_StopLevel2Processing = False
l_WriteL2Products = True
l_WriteL2Products = False
# New in 4-1 : Re init the validity of the product
self._productIsValid = True
# Get the caching option
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment