Commit 8a171ba1c429d2ebe5c273832f59098651718e7c
1 parent
837b13d0
Exists in
master
Rename dir
Showing
4 changed files
with
152 additions
and
152 deletions
Show diff stats
... | ... | @@ -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 | + | ... | ... |
... | ... | @@ -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 | -################################################################################################ | |
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 | -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 |