Commit 8a171ba1c429d2ebe5c273832f59098651718e7c

Authored by Jordi Inglada
1 parent 837b13d0
Exists in master

Rename dir

jobs/prepare_samples.cfg 0 → 100644
@@ -0,0 +1,146 @@ @@ -0,0 +1,146 @@
  1 +################################################################################################
  2 +# Chain
  3 +################################################################################################
  4 +
  5 +chain:
  6 +{
  7 + outputPath:'/work/OT/theia/oso/jordi/maassp_data/tiles/output/'
  8 + remove_outputPath:True #Ecrase l'éventuel contenu du outputpath?
  9 +
  10 + jobsPath:'/work/OT/theia/oso/jordi/maassp_data/tiles/jobs/'
  11 + pyAppPath:'/work/OT/theia/oso/production/cnes/sources/iota2/scripts' # Chemin de la chaine
  12 +
  13 + chainName:'iota2_maassp_tiles' # N'a aucune influence sur le run
  14 +
  15 + nomenclaturePath:'/work/OT/theia/oso/vincent/Nomenclature_30classes.csv' # Nomenclature
  16 +
  17 + outputStatistics:True # Si False ne garde pas les matrices intermédiaires dans le cas de runs > 1
  18 +
  19 + merge_final_classifications:False # si runs > 1 (anciennement generateMajorityVoteMap?)
  20 + merge_final_classifications_ratio:0.1 # 10% des échantillons d'entrée extrait avant la séparation app / val
  21 + merge_final_classifications_undecidedlabel:255
  22 + merge_final_classifications_method:"majorityvoting"#"majorityvoting" or "dempstershafer"
  23 + dempstershafer_mof:"precision"#precision/recall/accuracy/kappa
  24 +
  25 + keep_runs_results:False # résultats intermédiaires écrits des différents runs
  26 +
  27 +
  28 + listTile:'T31TCJ' # Tuiles à classer
  29 + S2Path:'/work/OT/theia/oso/sensorsDatas/S2/2017'
  30 +
  31 +
  32 + groundTruth:'/work/OT/theia/oso/shapes/ReferenceData/2017/v3-RPG-UA/learn_CP2014_RPG2016_UA.shp'
  33 + # Fichier d'échantillons en polygones
  34 +
  35 + dataField:'Code' # Champ qui définit les différentes classes en type "Entier"
  36 +
  37 + runs:1 # nombre de runs (intervalle de confiance)
  38 +
  39 + ratio:0.7 # Séparation des polygones d'apprentissage et de validation
  40 +
  41 + cloud_threshold:1 # seuil limite d'échantillonnage
  42 +
  43 + spatialResolution:10 # Résolution spatiale de la carte de classification en sortie
  44 +
  45 + firstStep:init
  46 + lastStep:sampling#init,sampling,learning,classification,mosaic,validation
  47 +
  48 + logFileLevel:"INFO" # Niveau de debug : https://docs.python.org/2/library/logging.html#logging-levels
  49 +
  50 + colorTable:'/work/OT/theia/oso/vincent/colorFile30classes.txt'
  51 + # Correspondance des code raster (définis dans /mnt/data/Soufflet/traitements/config/Nomenclature_SudFrance.csv) avec codes RGB
  52 +
  53 +
  54 + iota2_module_path:'/work/OT/theia/oso/modulefiles'
  55 + iota2_module_name:'release_66'
  56 +
  57 + remove_tmp_files:False #si True enlève les résulats intermédiaires
  58 +}
  59 +
  60 +################################################################################################
  61 +# training
  62 +################################################################################################
  63 +
  64 +argTrain:
  65 +{
  66 + sampleSelection : { "sampler":"random",
  67 + "strategy":"percent", #percent
  68 + "strategy.percent.p":0.1,
  69 + # pourcentage d'échantillonnage pour l'apprentissage dans les polygones déjà échantillonnés avec le paramètre ratio
  70 +
  71 + "ram":4000,
  72 + # "per_models":[{"target_model":4, "sampler":"periodic"}]
  73 + }
  74 +
  75 + classifier :'rf' # choix du Classifier, voir les paramètres de chaque classifier de otbcli_TrainImagesClassifier
  76 + options :'-classifier.rf.min 5 -classifier.rf.max 25 '
  77 + # choix des paramètres du Classifier, voir les paramètres de chaque classifier de otbcli_TrainImagesClassifier
  78 + sampleAugmentation : {"activate":False}
  79 +}
  80 +
  81 +################################################################################################
  82 +# classifications
  83 +################################################################################################
  84 +
  85 +argClassification:
  86 +{
  87 + classifMode :'separate'
  88 + #fusion (si "fusion" alors mode_outside_RegionSplit utilisé - cas des régions trop grand pour openCV (apprentissage)) or separate ()
  89 +
  90 + fusionOptions :'-nodatalabel 0 -method majorityvoting' # Paramètres de l'application otbcli_FusionOfClassifications
  91 + pixType : 'uint8'
  92 +
  93 + noLabelManagement : 'maxConfidence'#maxConfidence or learningPriority
  94 +}
  95 +
  96 +################################################################################################
  97 +# sensors
  98 +################################################################################################
  99 +Sentinel_2:
  100 +{
  101 + nodata_Mask : False
  102 + nativeRes : 10
  103 + arbo : "/*/"
  104 + imtype : "*STACK.tif"
  105 + nuages : "CLM_R1.tif"
  106 + saturation : "SAT_R1.tif"
  107 + div : "EDG_R1.tif"
  108 + nodata : ""
  109 + nuages_reproj : "CLM_R1_reproj.tif"#must ended with _reproj.tif
  110 + saturation_reproj : "SAT_R1_reproj.tif"
  111 + div_reproj : "EDG_R1_reproj.tif"
  112 + arbomask : "/*/MASKS/"
  113 + startDate:"" # Date de début du rééchantillonnage temporel si "autoDate" est à False
  114 + endDate:"" # Date de fin du rééchantillonnage temporel si "autoDate" est à False
  115 + temporalResolution:10 # Résolution temporelle de rééchantillonnage temporel en jours
  116 + additionalFeatures:"b1+b2,(b1-b2)/(b1+b2)"
  117 + #comma splited # Formules pour ajouter des primitives (features) si le paramètre "useAdditionalFeatures" est à True
  118 + keepBands:[[1,"blue"],[2,"green"],[3,"red"],[7,"NIR"],[9,"SWIR"]] # A ne pas toucher pour l'instant
  119 +}
  120 +
  121 +
  122 +
  123 +GlobChain:
  124 +{
  125 + proj : "EPSG:2154"
  126 + features: ["NDVI","NDWI","Brightness"]
  127 + autoDate:True # Génération automatique des dates de début et de fin de rééchantillonnage temporel
  128 + writeOutputs:True # écriture des sorties de chaque étape de traitements -->pour le featurepath seulement!
  129 + useAdditionalFeatures:False
  130 + useGapFilling:True # Rééchantillonnage temporel (GapFilling)
  131 +}
  132 +
  133 +
  134 +iota2FeatureExtraction:
  135 +{
  136 + copyinput:True # A ne pas toucher pour l'instant
  137 + relrefl:False
  138 + # Normalisation par le rouge pour une meilleur approximation spatiale des bandes spectrales à 20 m (pertinence à évaluer)
  139 + keepduplicates:False # A ne pas toucher pour l'instant
  140 + extractBands:False # A ne pas toucher pour l'instant
  141 + acorfeat:False # NDVI recalibré : http://www.cesbio.ups-tlse.fr/multitemp/?p=12746
  142 +}
  143 +
  144 +################################################################################################
  145 +
  146 +
jobs/prepare_samples.sh 0 → 100644
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
  1 +module use /work/OT/theia/oso/modulefiles
  2 +module load release_66
  3 +iota2path=/work/OT/theia/oso/production/cnes/sources/iota2
  4 +MAASSPSRC=/work/OT/theia/oso/jordi/src/maassp
  5 +
  6 +python $iota2path/scripts/Iota2Cluster.py -config $MAASSPSRC/runs_iota2/prepare_samples.cfg -config_ressources /work/OT/theia/oso/production/cnes/inputs/OSO_resources.cfg -mode MPI
runs_iota2/prepare_samples.cfg
@@ -1,146 +0,0 @@ @@ -1,146 +0,0 @@
1 -################################################################################################  
2 -# Chain  
3 -################################################################################################  
4 -  
5 -chain:  
6 -{  
7 - outputPath:'/work/OT/theia/oso/jordi/maassp_data/tiles/output/'  
8 - remove_outputPath:True #Ecrase l'éventuel contenu du outputpath?  
9 -  
10 - jobsPath:'/work/OT/theia/oso/jordi/maassp_data/tiles/jobs/'  
11 - pyAppPath:'/work/OT/theia/oso/production/cnes/sources/iota2/scripts' # Chemin de la chaine  
12 -  
13 - chainName:'iota2_maassp_tiles' # N'a aucune influence sur le run  
14 -  
15 - nomenclaturePath:'/work/OT/theia/oso/vincent/Nomenclature_30classes.csv' # Nomenclature  
16 -  
17 - outputStatistics:True # Si False ne garde pas les matrices intermédiaires dans le cas de runs > 1  
18 -  
19 - merge_final_classifications:False # si runs > 1 (anciennement generateMajorityVoteMap?)  
20 - merge_final_classifications_ratio:0.1 # 10% des échantillons d'entrée extrait avant la séparation app / val  
21 - merge_final_classifications_undecidedlabel:255  
22 - merge_final_classifications_method:"majorityvoting"#"majorityvoting" or "dempstershafer"  
23 - dempstershafer_mof:"precision"#precision/recall/accuracy/kappa  
24 -  
25 - keep_runs_results:False # résultats intermédiaires écrits des différents runs  
26 -  
27 -  
28 - listTile:'T31TCJ' # Tuiles à classer  
29 - S2Path:'/work/OT/theia/oso/sensorsDatas/S2/2017'  
30 -  
31 -  
32 - groundTruth:'/work/OT/theia/oso/shapes/ReferenceData/2017/v3-RPG-UA/learn_CP2014_RPG2016_UA.shp'  
33 - # Fichier d'échantillons en polygones  
34 -  
35 - dataField:'Code' # Champ qui définit les différentes classes en type "Entier"  
36 -  
37 - runs:1 # nombre de runs (intervalle de confiance)  
38 -  
39 - ratio:0.7 # Séparation des polygones d'apprentissage et de validation  
40 -  
41 - cloud_threshold:1 # seuil limite d'échantillonnage  
42 -  
43 - spatialResolution:10 # Résolution spatiale de la carte de classification en sortie  
44 -  
45 - firstStep:init  
46 - lastStep:sampling#init,sampling,learning,classification,mosaic,validation  
47 -  
48 - logFileLevel:"INFO" # Niveau de debug : https://docs.python.org/2/library/logging.html#logging-levels  
49 -  
50 - colorTable:'/work/OT/theia/oso/vincent/colorFile30classes.txt'  
51 - # Correspondance des code raster (définis dans /mnt/data/Soufflet/traitements/config/Nomenclature_SudFrance.csv) avec codes RGB  
52 -  
53 -  
54 - iota2_module_path:'/work/OT/theia/oso/modulefiles'  
55 - iota2_module_name:'release_66'  
56 -  
57 - remove_tmp_files:False #si True enlève les résulats intermédiaires  
58 -}  
59 -  
60 -################################################################################################  
61 -# training  
62 -################################################################################################  
63 -  
64 -argTrain:  
65 -{  
66 - sampleSelection : { "sampler":"random",  
67 - "strategy":"percent", #percent  
68 - "strategy.percent.p":0.1,  
69 - # pourcentage d'échantillonnage pour l'apprentissage dans les polygones déjà échantillonnés avec le paramètre ratio  
70 -  
71 - "ram":4000,  
72 - # "per_models":[{"target_model":4, "sampler":"periodic"}]  
73 - }  
74 -  
75 - classifier :'rf' # choix du Classifier, voir les paramètres de chaque classifier de otbcli_TrainImagesClassifier  
76 - options :'-classifier.rf.min 5 -classifier.rf.max 25 '  
77 - # choix des paramètres du Classifier, voir les paramètres de chaque classifier de otbcli_TrainImagesClassifier  
78 - sampleAugmentation : {"activate":False}  
79 -}  
80 -  
81 -################################################################################################  
82 -# classifications  
83 -################################################################################################  
84 -  
85 -argClassification:  
86 -{  
87 - classifMode :'separate'  
88 - #fusion (si "fusion" alors mode_outside_RegionSplit utilisé - cas des régions trop grand pour openCV (apprentissage)) or separate ()  
89 -  
90 - fusionOptions :'-nodatalabel 0 -method majorityvoting' # Paramètres de l'application otbcli_FusionOfClassifications  
91 - pixType : 'uint8'  
92 -  
93 - noLabelManagement : 'maxConfidence'#maxConfidence or learningPriority  
94 -}  
95 -  
96 -################################################################################################  
97 -# sensors  
98 -################################################################################################  
99 -Sentinel_2:  
100 -{  
101 - nodata_Mask : False  
102 - nativeRes : 10  
103 - arbo : "/*/"  
104 - imtype : "*STACK.tif"  
105 - nuages : "CLM_R1.tif"  
106 - saturation : "SAT_R1.tif"  
107 - div : "EDG_R1.tif"  
108 - nodata : ""  
109 - nuages_reproj : "CLM_R1_reproj.tif"#must ended with _reproj.tif  
110 - saturation_reproj : "SAT_R1_reproj.tif"  
111 - div_reproj : "EDG_R1_reproj.tif"  
112 - arbomask : "/*/MASKS/"  
113 - startDate:"" # Date de début du rééchantillonnage temporel si "autoDate" est à False  
114 - endDate:"" # Date de fin du rééchantillonnage temporel si "autoDate" est à False  
115 - temporalResolution:10 # Résolution temporelle de rééchantillonnage temporel en jours  
116 - additionalFeatures:"b1+b2,(b1-b2)/(b1+b2)"  
117 - #comma splited # Formules pour ajouter des primitives (features) si le paramètre "useAdditionalFeatures" est à True  
118 - keepBands:[[1,"blue"],[2,"green"],[3,"red"],[7,"NIR"],[9,"SWIR"]] # A ne pas toucher pour l'instant  
119 -}  
120 -  
121 -  
122 -  
123 -GlobChain:  
124 -{  
125 - proj : "EPSG:2154"  
126 - features: ["NDVI","NDWI","Brightness"]  
127 - autoDate:True # Génération automatique des dates de début et de fin de rééchantillonnage temporel  
128 - writeOutputs:True # écriture des sorties de chaque étape de traitements -->pour le featurepath seulement!  
129 - useAdditionalFeatures:False  
130 - useGapFilling:True # Rééchantillonnage temporel (GapFilling)  
131 -}  
132 -  
133 -  
134 -iota2FeatureExtraction:  
135 -{  
136 - copyinput:True # A ne pas toucher pour l'instant  
137 - relrefl:False  
138 - # Normalisation par le rouge pour une meilleur approximation spatiale des bandes spectrales à 20 m (pertinence à évaluer)  
139 - keepduplicates:False # A ne pas toucher pour l'instant  
140 - extractBands:False # A ne pas toucher pour l'instant  
141 - acorfeat:False # NDVI recalibré : http://www.cesbio.ups-tlse.fr/multitemp/?p=12746  
142 -}  
143 -  
144 -################################################################################################  
145 -  
146 -  
runs_iota2/prepare_samples.sh
@@ -1,6 +0,0 @@ @@ -1,6 +0,0 @@
1 -module use /work/OT/theia/oso/modulefiles  
2 -module load release_66  
3 -iota2path=/work/OT/theia/oso/production/cnes/sources/iota2  
4 -MAASSPSRC=/work/OT/theia/oso/jordi/src/maassp  
5 -  
6 -python $iota2path/scripts/Iota2Cluster.py -config $MAASSPSRC/runs_iota2/prepare_samples.cfg -config_ressources /work/OT/theia/oso/production/cnes/inputs/OSO_resources.cfg -mode MPI