Blame view

jobs/prepare_samples.cfg 6.04 KB
c2478633   Jordi Inglada   Scripts for gapfi...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
################################################################################################
#                                           Chain
################################################################################################

chain:
{
	outputPath:'/work/OT/theia/oso/jordi/maassp_data/tiles/output/'
        remove_outputPath:True #Ecrase l'éventuel contenu du outputpath?
    
	jobsPath:'/work/OT/theia/oso/jordi/maassp_data/tiles/jobs/'
	pyAppPath:'/work/OT/theia/oso/production/cnes/sources/iota2/scripts' # Chemin de la chaine
	
	chainName:'iota2_maassp_tiles' # N'a aucune influence sur le run
	
	nomenclaturePath:'/work/OT/theia/oso/vincent/Nomenclature_30classes.csv' # Nomenclature
	
	outputStatistics:True # Si False ne garde pas les matrices intermédiaires dans le cas de runs > 1
    
	merge_final_classifications:False  # si runs > 1 (anciennement generateMajorityVoteMap?)
    	merge_final_classifications_ratio:0.1 # 10% des échantillons d'entrée extrait avant la séparation app / val
    	merge_final_classifications_undecidedlabel:255
    	merge_final_classifications_method:"majorityvoting"#"majorityvoting" or "dempstershafer"
    	dempstershafer_mof:"precision"#precision/recall/accuracy/kappa
    	
	keep_runs_results:False # résultats intermédiaires écrits des différents runs

    	
	listTile:'T31TCJ' # Tuiles à classer
	S2Path:'/work/OT/theia/oso/sensorsDatas/S2/2017'

	
	groundTruth:'/work/OT/theia/oso/shapes/ReferenceData/2017/v3-RPG-UA/learn_CP2014_RPG2016_UA.shp' 
	# Fichier d'échantillons en polygones
	
	dataField:'Code' # Champ qui définit les différentes classes en type "Entier"
	
	runs:1 # nombre de runs (intervalle de confiance)
	
	ratio:0.7 # Séparation des polygones d'apprentissage et de validation
	
	cloud_threshold:1 # seuil limite d'échantillonnage
	
	spatialResolution:10 # Résolution spatiale de la carte de classification en sortie

    	firstStep:init
    	lastStep:sampling#init,sampling,learning,classification,mosaic,validation
    
 	logFileLevel:"INFO" # Niveau de debug : https://docs.python.org/2/library/logging.html#logging-levels

	colorTable:'/work/OT/theia/oso/vincent/colorFile30classes.txt' 
	# Correspondance des code raster (définis dans /mnt/data/Soufflet/traitements/config/Nomenclature_SudFrance.csv) avec 		codes RGB
	

    iota2_module_path:'/work/OT/theia/oso/modulefiles'
    iota2_module_name:'release_66'

	remove_tmp_files:False #si True enlève les résulats intermédiaires
}

################################################################################################
#                                           training
################################################################################################

argTrain:
{
    sampleSelection : { "sampler":"random",
                        "strategy":"percent", #percent
                        "strategy.percent.p":0.1, 
		                # pourcentage d'échantillonnage pour l'apprentissage dans les polygones déjà échantillonnés avec le 				paramètre ratio

                       "ram":4000,
                       # "per_models":[{"target_model":4, "sampler":"periodic"}]
                       }

	classifier :'rf' # choix du Classifier, voir les paramètres de chaque classifier de otbcli_TrainImagesClassifier
	options :'-classifier.rf.min 5 -classifier.rf.max 25 ' 
	# choix des paramètres du Classifier, voir les paramètres de chaque classifier de otbcli_TrainImagesClassifier
		sampleAugmentation : {"activate":False}
}

################################################################################################
#                                        classifications
################################################################################################

argClassification: 
{
837b13d0   Jordi Inglada   Bugs in iota2 con...
87
	classifMode :'separate'
c2478633   Jordi Inglada   Scripts for gapfi...
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
	#fusion (si "fusion" alors mode_outside_RegionSplit utilisé - cas des régions trop grand pour openCV (apprentissage)) or 		separate ()

	fusionOptions :'-nodatalabel 0 -method majorityvoting' # Paramètres de l'application otbcli_FusionOfClassifications
	pixType : 'uint8'

	noLabelManagement : 'maxConfidence'#maxConfidence or learningPriority 
}

################################################################################################
#                                           sensors
################################################################################################
Sentinel_2:
{
	nodata_Mask : False
	nativeRes : 10
	arbo : "/*/"
	imtype : "*STACK.tif"
	nuages : "CLM_R1.tif"
	saturation : "SAT_R1.tif"
	div : "EDG_R1.tif"
	nodata : ""
	nuages_reproj : "CLM_R1_reproj.tif"#must ended with _reproj.tif
	saturation_reproj : "SAT_R1_reproj.tif"
	div_reproj : "EDG_R1_reproj.tif"
	arbomask : "/*/MASKS/"
	startDate:"" # Date de début du rééchantillonnage temporel si "autoDate" est à False
	endDate:"" # Date de fin du rééchantillonnage temporel si "autoDate" est à False
	temporalResolution:10 # Résolution temporelle de rééchantillonnage temporel en jours 
	additionalFeatures:"b1+b2,(b1-b2)/(b1+b2)" 
	#comma splited # Formules pour ajouter des primitives (features) si le paramètre "useAdditionalFeatures" est à True
	keepBands:[[1,"blue"],[2,"green"],[3,"red"],[7,"NIR"],[9,"SWIR"]] # A ne pas toucher pour l'instant
}



GlobChain:
{
	proj : "EPSG:2154"
	features: ["NDVI","NDWI","Brightness"]
	autoDate:True # Génération automatique des dates de début et de fin de rééchantillonnage temporel 
	writeOutputs:True # écriture des sorties de chaque étape de traitements -->pour le featurepath seulement!
	useAdditionalFeatures:False
    	useGapFilling:True # Rééchantillonnage temporel (GapFilling)
}


iota2FeatureExtraction:
{
	copyinput:True # A ne pas toucher pour l'instant
	relrefl:False 
	# Normalisation par le rouge pour une meilleur approximation spatiale des bandes spectrales à 20 m (pertinence à évaluer)
	keepduplicates:False # A ne pas toucher pour l'instant
	extractBands:False # A ne pas toucher pour l'instant
	acorfeat:False # NDVI recalibré : http://www.cesbio.ups-tlse.fr/multitemp/?p=12746
}

################################################################################################