コード例 #1
0
def getColorMapping(available_app, original_dom_document):
    """
    Remove the option colortolabel
    Split by method : custom, continuous, optimal and image and adapt parameters of each resulting app
    """
    the_root = original_dom_document
    remove_independent_choices(the_root, 'op', 'colortolabel')
    remove_choice(the_root, 'op', 'colortolabel')
    split = split_by_choice(the_root, 'method')
    the_list = []
    for key in split:
        if key == 'custom':
            the_doc = split[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 = split[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 = split[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 = split[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(split[key])
    return the_list
コード例 #2
0
ファイル: OTBSpecific_XMLcreation.py プロジェクト: Ariki/QGIS
def getColorMapping(available_app, original_dom_document):
    """
    Remove the option colortolabel
    Split by method : custom, continuous, 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')
    split = split_by_choice(the_root, 'method')
    the_list = []
    for key in split:
        if key == 'custom':
            the_doc = split[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 = split[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 = split[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 = split[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(split[key])
    return the_list
コード例 #3
0
def getColorMapping(available_app, original_dom_document):
    """
    Remove the option colortolabel
    Split by method : custom, continuous, optimal and image and adapt parameters of each resulting app
    """
    the_root = original_dom_document
    remove_independent_choices(the_root, "op", "colortolabel")
    remove_choice(the_root, "op", "colortolabel")
    split = split_by_choice(the_root, "method")
    the_list = []
    for key in split:
        if key == "custom":
            the_doc = split[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 = split[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 = split[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 = split[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(split[key])
    return the_list
コード例 #4
0
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_independent_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]
コード例 #5
0
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_independent_choices(the_root, 'filter', 'edison')
    #remove_choice(the_root, 'filter', 'meanshift')
    #remove_independent_choices(the_root, 'filter', 'meanshift')
    remove_choice(the_root, 'mode', 'raster')
    remove_independent_choices(the_root, 'mode', 'raster')
    split = split_by_choice(the_root, 'filter')
    the_list = []
    for key in split:
        defaultWrite('%s-%s' % (available_app, key), split[key])
        the_list.append(split[key])
    return the_list
コード例 #6
0
ファイル: OTBSpecific_XMLcreation.py プロジェクト: Ariki/QGIS
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]
コード例 #7
0
ファイル: OTBSpecific_XMLcreation.py プロジェクト: Ariki/QGIS
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')
    split = split_by_choice(the_root, 'filter')
    the_list = []
    for key in split:
        defaultWrite('%s-%s' % (available_app, key), split[key])
        the_list.append(split[key])
    return the_list
コード例 #8
0
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]
コード例 #9
0
ファイル: OTBSpecific_XMLcreation.py プロジェクト: Ariki/QGIS
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]
コード例 #10
0
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_independent_choices(the_root, 'outputs.mode', 'auto')
    remove_choice(the_root, 'outputs.mode', 'outputroi')
    remove_independent_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_independent_choices(the_root, 'outputs.mode', 'orthofit')
    merged = copy.deepcopy(the_root)

    split = split_by_choice(the_root, 'map')
    the_list = []

    for key in split:
        if key == 'utm':
            the_doc = split[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 = split[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')
    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_independent_choices(emptyMap, 'outputs.mode', 'autosize')
    remove_choice(emptyMap, 'outputs.mode', 'autospacing')
    remove_independent_choices(emptyMap, 'outputs.mode', 'autospacing')
    old_app_name = emptyMap.find('key').text
    emptyMap.find('key').text = '%s-%s' % (old_app_name, 'fit-to-ortho')
    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
コード例 #11
0
ファイル: OTBSpecific_XMLcreation.py プロジェクト: Ariki/QGIS
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)




    split = split_by_choice(the_root, 'map')
    the_list = []

    for key in split:
        if key == 'utm':
            the_doc = split[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 = split[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')
    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')
    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
コード例 #12
0
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_independent_choices(the_root, "outputs.mode", "auto")
    remove_choice(the_root, "outputs.mode", "outputroi")
    remove_independent_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_independent_choices(the_root, "outputs.mode", "orthofit")
    merged = copy.deepcopy(the_root)

    split = split_by_choice(the_root, "map")
    the_list = []

    for key in split:
        if key == "utm":
            the_doc = split[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 = split[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")
    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_independent_choices(emptyMap, "outputs.mode", "autosize")
    remove_choice(emptyMap, "outputs.mode", "autospacing")
    remove_independent_choices(emptyMap, "outputs.mode", "autospacing")
    old_app_name = emptyMap.find("key").text
    emptyMap.find("key").text = "%s-%s" % (old_app_name, "fit-to-ortho")
    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