Commit 8a171ba1c429d2ebe5c273832f59098651718e7c

Authored by Jordi Inglada
1 parent 837b13d0
Exists in master

Rename dir

jobs/prepare_samples.cfg 0 → 100644
... ... @@ -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 @@
  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