def getColorMapping(available_app, original_dom_document): """ Remove the option colortolabel Split by method : custom, continous, optimal and image and adapt parameters of each resulting app """ the_root = original_dom_document remove_independant_choices(the_root, 'op', 'colortolabel') remove_choice(the_root, 'op', 'colortolabel') splitted = split_by_choice(the_root, 'method') the_list = [] for key in splitted: if key == 'custom': the_doc = splitted[key] remove_parameter_by_key(the_doc, 'method.continuous.lut') remove_parameter_by_key(the_doc, 'method.continuous.min') remove_parameter_by_key(the_doc, 'method.continuous.max') remove_parameter_by_key(the_doc, 'method.optimal.background') remove_parameter_by_key(the_doc, 'method.image.in') remove_parameter_by_key(the_doc, 'method.image.low') remove_parameter_by_key(the_doc, 'method.image.up') defaultWrite('%s-%s' % (available_app, key), the_doc) the_list.append(the_doc) elif key == 'continuous': the_doc = splitted[key] remove_parameter_by_key(the_doc, 'method.custom.lut') remove_parameter_by_key(the_doc, 'method.optimal.background') remove_parameter_by_key(the_doc, 'method.image.in') remove_parameter_by_key(the_doc, 'method.image.low') remove_parameter_by_key(the_doc, 'method.image.up') defaultWrite('%s-%s' % (available_app, key), the_doc) the_list.append(the_doc) elif key == 'optimal': the_doc = splitted[key] remove_parameter_by_key(the_doc, 'method.custom.lut') remove_parameter_by_key(the_doc, 'method.continuous.lut') remove_parameter_by_key(the_doc, 'method.continuous.min') remove_parameter_by_key(the_doc, 'method.continuous.max') remove_parameter_by_key(the_doc, 'method.image.in') remove_parameter_by_key(the_doc, 'method.image.low') remove_parameter_by_key(the_doc, 'method.image.up') defaultWrite('%s-%s' % (available_app, key), the_doc) the_list.append(the_doc) else: #key == 'image' the_doc = splitted[key] remove_parameter_by_key(the_doc, 'method.custom.lut') remove_parameter_by_key(the_doc, 'method.continuous.lut') remove_parameter_by_key(the_doc, 'method.continuous.min') remove_parameter_by_key(the_doc, 'method.continuous.max') remove_parameter_by_key(the_doc, 'method.optimal.background') defaultWrite('%s-%s' % (available_app, key), the_doc) the_list.append(splitted[key]) return the_list
def getSegmentation(available_app, original_dom_document): """ Remove the choice raster and split by filter (cc, edison, meanshift, mprofiles, watershed) """ the_root = original_dom_document #remove_choice(the_root, 'filter', 'edison') #remove_independant_choices(the_root, 'filter', 'edison') #remove_choice(the_root, 'filter', 'meanshift') #remove_independant_choices(the_root, 'filter', 'meanshift') remove_choice(the_root, 'mode', 'raster') remove_independant_choices(the_root, 'mode', 'raster') splitted = split_by_choice(the_root, 'filter') the_list = [] for key in splitted: defaultWrite('%s-%s' % (available_app, key), splitted[key]) the_list.append(splitted[key]) return the_list
def getOpticalCalibration(available_app, original_dom_document): """ Remove toc options (let toa) and remove all about atmo """ #the_list = defaultSplit(available_app, original_dom_document, 'level') the_root = original_dom_document remove_independant_choices(the_root, 'level', 'toc') remove_choice(the_root, 'level', 'toc') remove_parameter_by_key(the_root, 'atmo.aerosol') remove_parameter_by_key(the_root, 'atmo.oz') remove_parameter_by_key(the_root, 'atmo.wa') remove_parameter_by_key(the_root, 'atmo.pressure') remove_parameter_by_key(the_root, 'atmo.opt') remove_parameter_by_key(the_root, 'atmo.aeronet') remove_parameter_by_key(the_root, 'radius') defaultWrite(available_app, the_root) return [the_root]
def getRadiometricIndices(available_app, original_dom_document): """ These 3 indices are missing. Remove them from the list. """ the_root = original_dom_document remove_choice(the_root, 'list', 'laindvilog') remove_choice(the_root, 'list', 'lairefl') remove_choice(the_root, 'list', 'laindviformo') defaultWrite(available_app, the_root) return [the_root]
def getOrthoRectification(available_app, original_dom_document): """ Let only mode auto. Remove all parameters which should be updated once the input file given. Split by SRS : EPSG, fit to ortho, lambert-wgs84 and UTM. Each of these SRS have their own parameters modified in this fonction. Delete GEOID and DEM parameter as they are not updated at the creation of the otb algorithms when you launch QGIS. The values are picked from the settings. """ the_root = original_dom_document remove_choice(the_root, 'outputs.mode', 'auto') remove_independant_choices(the_root, 'outputs.mode', 'auto') remove_choice(the_root, 'outputs.mode', 'outputroi') remove_independant_choices(the_root, 'outputs.mode', 'outputroi') remove_parameter_by_key(the_root, 'outputs.ulx') remove_parameter_by_key(the_root, 'outputs.uly') remove_parameter_by_key(the_root, 'outputs.sizex') remove_parameter_by_key(the_root, 'outputs.sizey') remove_parameter_by_key(the_root, 'outputs.spacingx') remove_parameter_by_key(the_root, 'outputs.spacingy') remove_parameter_by_key(the_root, 'outputs.lrx') remove_parameter_by_key(the_root, 'outputs.lry') remove_parameter_by_key(the_root, 'opt.rpc') deleteGeoidSrtm(the_root) remove_parameter_by_key(the_root, 'outputs.isotropic') emptyMap = copy.deepcopy(the_root) remove_parameter_by_key(the_root, 'outputs.ortho') remove_choice(the_root, 'outputs.mode', 'orthofit') remove_independant_choices(the_root, 'outputs.mode', 'orthofit') merged = copy.deepcopy(the_root) splitted = split_by_choice(the_root, 'map') the_list = [] for key in splitted: if key == 'utm': the_doc = splitted[key] remove_parameter_by_key(the_doc, 'map.epsg.code') defaultWrite('%s-%s' % (available_app, key), the_doc) the_list.append(the_doc) elif key == 'epsg': the_doc = splitted[key] remove_parameter_by_key(the_doc, 'map.utm.northhem') remove_parameter_by_key(the_doc, 'map.utm.zone') defaultWrite('%s-%s' % (available_app, key), the_doc) the_list.append(the_doc) remove_choice(merged, 'map', 'utm') remove_choice(merged, 'map', 'epsg') remove_parameter_by_key(merged, 'map.epsg.code') remove_parameter_by_key(merged, 'map.utm.northhem') remove_parameter_by_key(merged, 'map.utm.zone') old_app_name = merged.find('key').text merged.find('key').text = '%s-%s' % (old_app_name, 'lambert-WGS84') old_longname = merged.find('longname').text merged.find('longname').text = '%s (%s)' % (old_app_name, 'lambert-WGS84') defaultWrite('%s-%s' % (available_app, 'lambert-WGS84'), merged) the_list.append(merged) remove_parameter_by_key(emptyMap, 'map') remove_parameter_by_key(emptyMap, 'map.epsg.code') remove_parameter_by_key(emptyMap, 'map.utm.northhem') remove_parameter_by_key(emptyMap, 'map.utm.zone') remove_choice(emptyMap, 'outputs.mode', 'autosize') remove_independant_choices(emptyMap, 'outputs.mode', 'autosize') remove_choice(emptyMap, 'outputs.mode', 'autospacing') remove_independant_choices(emptyMap, 'outputs.mode', 'autospacing') old_app_name = emptyMap.find('key').text emptyMap.find('key').text = '%s-%s' % (old_app_name, 'fit-to-ortho') old_longname = emptyMap.find('longname').text emptyMap.find('longname').text = '%s (%s)' % (old_app_name, 'fit-to-ortho') defaultWrite('%s-%s' % (available_app, 'fit-to-ortho'), emptyMap) the_list.append(emptyMap) return the_list