prepare_samples.cfg 6.04 KB
################################################################################################
#                                           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: 
{
	classifMode :'separate'
	#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
}

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