Add i.tasscap algorithm

This commit is contained in:
Médéric RIBREUX 2016-04-28 12:42:53 +02:00
parent 68f42a406c
commit 297c632566
2 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,6 @@
i.tasscap
Performs Tasseled Cap (Kauth Thomas) transformation.
Imagery (i.*)
ParameterMultipleInput|input|Input rasters. Landsat4-7: bands 1,2,3,4,5,7; Landsat8: bands 2,3,4,5,6,7; MODIS: bands 1,2,3,4,5,6,7|3|False
ParameterSelection|sensor|Satellite sensor|landsat4_tm;landsat5_tm;landsat7_etm;landsat8_oli;modis|0
OutputDirectory|output|Output Directory

View File

@ -0,0 +1,57 @@
# -*- coding: utf-8 -*-
"""
***************************************************************************
i_tasscap.py
------------
Date : March 2016
Copyright : (C) 2016 by Médéric Ribreux
Email : medspx at medspx dot fr
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************
"""
__author__ = 'Médéric Ribreux'
__date__ = 'March 2016'
__copyright__ = '(C) 2016, Médéric Ribreux'
# This will get replaced with a git SHA1 when you do a git archive
__revision__ = '$Format:%H$'
from i import multipleOutputDir, verifyRasterNum, regroupRasters
from processing.core.parameters import getParameterFromString
def checkParameterValuesBeforeExecuting(alg):
return verifyRasterNum(alg, 'input', 6, 8)
def processCommand(alg):
# Remove output
output = alg.getOutputFromName('output')
alg.removeOutputFromName('output')
# Create output parameter
param = getParameterFromString("ParameterString|output|output basename|None|False|False")
param.value = alg.getTempFilename()
alg.addParameter(param)
alg.processCommand()
# re-add output
alg.addOutput(output)
def processOutputs(alg):
param = alg.getParameterFromName('output')
multipleOutputDir(alg, 'output', param.value)
# Delete output parameter
alg.parameters.remove(param)